Hey, what do you want to add Turbo? It seems that you improperly added stoch. and rsi logics.
Here is what i am trying to do
Buy when the wma pass the sma and RSi is above 50 and Stoch is above 50 then buy
Sell when the Wma passes the sma and the rsi is below 50 and the stoch is below 50 then sell
I hope this makes more sence to ya Thanks Scorpion
Thanks
Mike
Hey I ment to ask if ya would you like me to show your progran to other traders on other forums......Let me know
Thanks again
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.
Hey, brilliant! You got the right logics here
Thanks Scorpion
Mike
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 (https://www.mql5.com/en/forum)
//
// 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(cnt,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(cnt,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*TrailingStop) then
{
ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),
Ask+Point*TrailingStop,OrderValue(cnt,VAL_TAKEPROFIT),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,RED);
Alert("Turbo_Trader1.2: Selling");
};
};
//-------------- Coded by FXFisherman ZeroCode v1.0.2014.30845
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.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
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 (https://www.mql5.com/en/forum)
//
// 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(cnt,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(cnt,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*TrailingStop) then
{
ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),
Ask+Point*TrailingStop,OrderValue(cnt,VAL_TAKEPROFIT),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,RED);
Alert("Turbo_trader-3: Selling");
};
};
//-------------- Coded by FXFisherman ZeroCode v1.0.2014.30845