RE: RSI in ZeroCode ?????
|
||||
|
For some reason I can't figure out how to input the buy and seel logics in ZeroCode I have the wma and sma figured out but here is what I want to add......
//*---------------------------------------------------------------------------------------------------------*\ // This MQL is automatically generated by FXFisherman ZeroCode v1.0.2014.30845 (www.fxfisherman.com) // // DISCLAIMER: // // FXFisherman ZeroCode is provided free of charge, and, therefore, on an "as is" basis, without warranty // of any kind, express or implied, including without limitation the warranties that it is free of defects, // virus free, able to operate on an uninterrupted basis, merchantable, fit for a particular purpose or // non-infringing. In any case, the author(s) will not be responsible or liable for ANY SPECIAL, INCIDENTAL, // CONSEQUENTIAL, INDIRECT OR ANY OTHER LOSSES caused by using of this software. USE IT AT YOUR OWN RISK. // //*-----------------------------------PLEASE DO NOT REMOVE THIS HEADER--------------------------------------*/ /*[[ Name := Turbo_trader-3 Author := Link := Coded_by_FXFisherman_ZeroCode_@www.fxfisherman.com Lots := 1 Stop Loss := 20 Take Profit := 20 Trailing Stop := 15 ]]*/ defines: Slippage(3); defines: ; var: cnt(0),IsBuying(False),IsSelling(False),IsClosing( False),RealTP(0),RealSL(0); var: rsi4_1(0),rsi4_0(0),stoc3d_1(0),stoc3d_0(0),stoc3k _1(0),stoc3k_0(0),ma1_1(0),ma1_0(0),ma2_1(0),ma2_0 (0); // Check for invalid bars and takeprofit If Bars<200 then Exit; // Calculate indicators' value rsi4_1 = iRSI(20,1); rsi4_0 = iRSI(20,0); stoc3d_1 = iSTO(21,6,6,MODE_SMA,MODE_SIGNAL,1); stoc3d_0 = iSTO(21,6,6,MODE_SMA,MODE_SIGNAL,0); stoc3k_1 = iSTO(21,6,6,MODE_SMA,MODE_MAIN,1); stoc3k_0 = iSTO(21,6,6,MODE_SMA,MODE_MAIN,0); ma1_1 = iMAEx(10,MODE_SMA,0,PRICE_CLOSE,1); ma1_0 = iMAEx(10,MODE_SMA,0,PRICE_CLOSE,0); ma2_1 = iMAEx(10,MODE_LWMA,0,PRICE_CLOSE,1); ma2_0 = iMAEx(10,MODE_LWMA,0,PRICE_CLOSE,0); // Check for BUY, SELL, and CLOSE signal IsBuying = (ma1_1 <= ma2_1) and (ma1_0 > ma2_0) and (stoc3k_0 == stoc3k_0) and (rsi4_1 == rsi4_1); IsSelling = False; IsClosing = False; // Control open trades for cnt=1 to TotalTrades { // Control only market trades not entry order if OrderValue(cnt,VAL_TYPE)<=OP_SELL and OrderValue(cnt,VAL_SYMBOL)=Symbol then { // Check for close signal for bought trade If OrderValue(cnt,VAL_TYPE)=OP_BUY then { If IsSelling or IsClosing then { // Close bought trade CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(c nt,VAL_LOTS),Bid,3,Violet); Alert("Turbo_trader-3: Closing BUY order."); }; // Check trailing stop If TrailingStop>0 then { If (Bid-OrderValue(cnt,VAL_OPENPRICE))>(Point*TrailingStop ) then { If OrderValue(cnt,VAL_STOPLOSS)<(Bid-Point*TrailingStop) then { // Modify trailing stop ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue( cnt,VAL_OPENPRICE), Bid-Point*TrailingStop,OrderValue(cnt,VAL_TAKEPROFIT), Red); }; }; }; } else { // Check sold trade for close signal If IsBuying or IsClosing then { CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(c nt,VAL_LOTS),Ask,3,Violet); Alert("Turbo_trader-3: Closing SELL order."); }; // Control trailing stop If TrailingStop>0 then { If (OrderValue(cnt,VAL_OPENPRICE)-Ask)>(Point*TrailingStop) then { If OrderValue(cnt,VAL_STOPLOSS)=0 or OrderValue(cnt,VAL_STOPLOSS)>(Ask+Point*TrailingSt op) then { ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue( cnt,VAL_OPENPRICE), Ask+Point*TrailingStop,OrderValue(cnt,VAL_TAKEPROF IT),Red); }; }; }; }; }; }; // If there is no open trade If TotalTrades<1 then { // If we have enough money for 1 lot If FreeMargin<1000 then Exit; // Check for BUY entry signal If IsBuying and IsSelling=False and IsClosing=False then { // Buy If StopLoss>0 then { RealSL=Ask-StopLoss*Point; } If TakeProfit>0 then { RealTP=Ask+TakeProfit*Point; } SetOrder(OP_BUY,Lots,Ask, Slippage,RealSL,RealTP,RED); Alert("Turbo_trader-3: Buying"); }; // Check for SELL entry signal If IsSelling and IsBuying=False and IsClosing=False then { // Sell If StopLoss>0 then { RealSL=Bid+StopLoss*Point; } If TakeProfit>0 then { RealTP=Bid-TakeProfit*Point; } SetOrder(OP_SELL,Lots,Bid,Slippage,RealSL,RealTP,R ED); Alert("Turbo_trader-3: Selling"); }; }; //-------------- Coded by FXFisherman ZeroCode v1.0.2014.30845 |
![]() |
RSI AND Stoch
|
||||
|
Check if current RSI level is above 50: RSI (x) Current > 50
For stoch. there are %K and %D lines, so which one do you prefer? Check if current stoch. %D line is below 50: Stoc (x) %D Current < 50 I left the rest of logics for you, coz it's simple, and you need to learn how to do it by yourself. Ok, now write the logics and I'll confirm. ![]() |
SRI CROSS Close
|
||||
|
Hey i have almost finished with my code and only have on problem to finish it and for some reason i don't understand the logics to close a trade when the wma amd sma cross i mean what to put in ZeroCode I have looked and can't find it in the forum
Thanks Much Mike My code also can you make shure I addid the pip filter correctly //*---------------------------------------------------------------------------------------------------------*\ // This MQL is automatically generated by FXFisherman ZeroCode v1.0.2014.30845 (www.fxfisherman.com) // // DISCLAIMER: // // FXFisherman ZeroCode is provided free of charge, and, therefore, on an "as is" basis, without warranty // of any kind, express or implied, including without limitation the warranties that it is free of defects, // virus free, able to operate on an uninterrupted basis, merchantable, fit for a particular purpose or // non-infringing. In any case, the author(s) will not be responsible or liable for ANY SPECIAL, INCIDENTAL, // CONSEQUENTIAL, INDIRECT OR ANY OTHER LOSSES caused by using of this software. USE IT AT YOUR OWN RISK. // //*-----------------------------------PLEASE DO NOT REMOVE THIS HEADER--------------------------------------*/ /*[[ Name := Turbo_Trader1.2 Author := Mike Mckeough Link := Coded_by_FXFisherman_ZeroCode_@www.fxfisherman.com Lots := 1 Stop Loss := 0 Take Profit := 499 Trailing Stop := 10 ]]*/ defines: Slippage(3); defines: ; var: cnt(0),IsBuying(False),IsSelling(False),IsClosing( False),RealTP(0),RealSL(0); var: rsi3_1(0),rsi3_0(0),stoc4d_1(0),stoc4d_0(0),stoc4k _1(0),stoc4k_0(0),ma1_1(0),ma1_0(0),ma6_1(0),ma6_0 (0),ma5_1(0),ma5_0(0),ma2_1(0),ma2_0(0); // Check for invalid bars and takeprofit If Bars<200 then Exit; // Calculate indicators' value rsi3_1 = iRSI(19,1); rsi3_0 = iRSI(19,0); stoc4d_1 = iSTO(4,2,2,MODE_SMA,MODE_SIGNAL,1); stoc4d_0 = iSTO(4,2,2,MODE_SMA,MODE_SIGNAL,0); stoc4k_1 = iSTO(4,2,2,MODE_SMA,MODE_MAIN,1); stoc4k_0 = iSTO(4,2,2,MODE_SMA,MODE_MAIN,0); ma1_1 = iMAEx(3,MODE_LWMA,0,PRICE_CLOSE,1); ma1_0 = iMAEx(3,MODE_LWMA,0,PRICE_CLOSE,0); ma6_1 = iMAEx(4,MODE_SMA,0,PRICE_CLOSE,1); ma6_0 = iMAEx(4,MODE_SMA,0,PRICE_CLOSE,0); ma5_1 = iMAEx(5,MODE_LWMA,0,PRICE_CLOSE,1); ma5_0 = iMAEx(5,MODE_LWMA,0,PRICE_CLOSE,0); ma2_1 = iMAEx(3,MODE_SMA,0,PRICE_CLOSE,1); ma2_0 = iMAEx(3,MODE_SMA,0,PRICE_CLOSE,0); // Note the bid price at crossover point defines: FilterPips(0.0003); var: CrossBid(0),IsBuyingBak(False),IsSellingBak(False) ; // Check for BUY, SELL, and CLOSE signal IsBuying = (ma1_1 <= ma2_1) and (ma1_0 > ma2_0) and (rsi3_0 > 60) and (stoc4d_0 > 50); IsSelling = (ma1_1 >= ma2_1) and (ma1_0 < ma2_0) and (rsi3_0 < 45) and (stoc4d_0 < 63); // Closing Trade On Cross On WMA SMA IsClosing = (ma5_1 >= ma6_1) (ma5_1 <= ma6_1) ); // Check price filter if (IsBuying and not IsBuyingBak) or (IsSelling and Not IsSellingBak ) then { CrossBid = pricebid ; } IsBuyingBak = IsBuying; IsSellingBak = IsSelling; IsBuying = IsBuying and (PriceBid >= CrossBid + FilterPips); IsSelling = IsSelling and (PriceBid <= CrossBid - FilterPips); // Control open trades for cnt=1 to TotalTrades { // Control only market trades not entry order if OrderValue(cnt,VAL_TYPE)<=OP_SELL and OrderValue(cnt,VAL_SYMBOL)=Symbol then { // Check for close signal for bought trade If OrderValue(cnt,VAL_TYPE)=OP_BUY then { If IsSelling or IsClosing then { // Close bought trade CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(c nt,VAL_LOTS),Bid,3,Violet); Alert("Turbo_Trader1.2: Closing BUY order."); }; // Check trailing stop If TrailingStop>0 then { If (Bid-OrderValue(cnt,VAL_OPENPRICE))>(Point*TrailingStop ) then { If OrderValue(cnt,VAL_STOPLOSS)<(Bid-Point*TrailingStop) then { // Modify trailing stop ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue( cnt,VAL_OPENPRICE), Bid-Point*TrailingStop,OrderValue(cnt,VAL_TAKEPROFIT), Red); }; }; }; } else { // Check sold trade for close signal If IsBuying or IsClosing then { CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(c nt,VAL_LOTS),Ask,3,Violet); Alert("Turbo_Trader1.2: Closing SELL order."); }; // Control trailing stop If TrailingStop>0 then { If (OrderValue(cnt,VAL_OPENPRICE)-Ask)>(Point*TrailingStop) then { If OrderValue(cnt,VAL_STOPLOSS)=0 or OrderValue(cnt,VAL_STOPLOSS)>(Ask+Point*TrailingSt op) then { ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue( cnt,VAL_OPENPRICE), Ask+Point*TrailingStop,OrderValue(cnt,VAL_TAKEPROF IT),Red); }; }; }; }; }; }; // If there is no open trade If TotalTrades<1 then { // If we have enough money for 1 lot If FreeMargin<1000 then Exit; // Check for BUY entry signal If IsBuying and IsSelling=False and IsClosing=False then { // Buy If StopLoss>0 then { RealSL=Ask-StopLoss*Point; } If TakeProfit>0 then { RealTP=Ask+TakeProfit*Point; } SetOrder(OP_BUY,Lots,Ask, Slippage,RealSL,RealTP,RED); Alert("Turbo_Trader1.2: Buying"); }; // Check for SELL entry signal If IsSelling and IsBuying=False and IsClosing=False then { // Sell If StopLoss>0 then { RealSL=Bid+StopLoss*Point; } If TakeProfit>0 then { RealTP=Bid-TakeProfit*Point; } SetOrder(OP_SELL,Lots,Bid,Slippage,RealSL,RealTP,R ED); Alert("Turbo_Trader1.2: Selling"); }; }; //-------------- Coded by FXFisherman ZeroCode v1.0.2014.30845 |
Re Header
|
||||
Oh I mean't to mention that when I addid my code here I didn't copy the header Just to save room......Don't worry when I go live and give the code away I WILL have your header on it.....Just Wanted to Let ya know.... TurboTrader ![]() |
|
||||
|
IsClosing = (ma5_1 >= ma6_1)
(ma5_1 <= ma6_1) Two MAs crosses up or down: AND MA (1) Previous <= MA (2) Previous AND MA (1) Current > MA (2) Current OR MA (1) Previous >= MA (2) Previous AND MA (1) Current < MA (2) Current *Note: replace (1) and (2) with yours. |
![]() |
«
Previous Thread
|
Next Thread
»
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| ZeroCode Beta 2 Status | scorpion | MetaTrader and ZeroCode | 89 | 07-15-2009 08:22 PM |
| ZeroCode Sample: Create "10-Minute" Strategy Expert | scorpion | Tutorials, Tips & Tricks | 16 | 04-14-2008 12:29 AM |
| ZeroCode Expert Running 3 Majors (?) | Scicronys | MetaTrader and ZeroCode | 8 | 12-12-2007 09:58 AM |
| Closing with RSI | TurboTrader24 | MetaTrader and ZeroCode | 1 | 09-07-2005 04:50 AM |
| Important: ZeroCode Header in Compiled MQL files | scorpion | MetaTrader and ZeroCode | 0 | 06-09-2005 09:59 AM |
All times are GMT. The time now is 06:52 PM.
Powered by vBulletin Version 3.6.2
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0
Registered members have access to special online forex currency trading tools, software, mt4 expert advisors and indicators. Register now











Linear Mode


