View Single Post
  #6 (permalink)  
Old 08-04-2005, 05:40 PM
TurboTrader24's Avatar
TurboTrader24 TurboTrader24 is offline
Sophomore
 
Join Date: Jul 2005
Posts: 69
Thanks: 8
Thanked 23 Times in 12 Posts
TurboTrader24 is a jewel in the roughTurboTrader24 is a jewel in the roughTurboTrader24 is a jewel in the roughTurboTrader24 is a jewel in the rough
Default

Quote:
Originally Posted by scorpion
My bad, but I corrected the post already. So check it again The last one applies to SELL.

Thanks Scorpion all is working except for some reason the parobolic is not closing trades on the first new dot in the opposite direction The backtest is showing a 5500.00 profit on eur/usd but it seems to be missing alot of trades due to the parabolic bar not closing previous trades.... :sweatdrop

See Code

//*---------------------------------------------------------------------------------------------------------*\
// 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 := TurboTrader2.0
Author := Mike McKeough
Link := Coded_by_FXFisherman_ZeroCode_@www.fxfisherman.com
Lots := 1
Stop Loss := 0
Take Profit := 499
Trailing Stop := 25
]]*/
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),sar5_1(0),sar5 _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(24,1);
rsi3_0 = iRSI(24,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);
sar5_1 = iSAR(0.0650,0.3000,1);
sar5_0 = iSAR(0.0650,0.3000,0);
ma2_1 = iMAEx(4,MODE_EMA,0,PRICE_CLOSE,1);
ma2_0 = iMAEx(4,MODE_EMA,0,PRICE_CLOSE,0);

// Note the bid price at crossover point
defines: FilterPips(0.0006);
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 > 50)
and (stoc4d_0 < 50)
or (TotalTrades > 0)
and (stoc4d_0 < 50);
IsSelling = (ma1_1 >= ma2_1)
and (ma1_0 < ma2_0)
and (rsi3_0 < 50)
and (stoc4d_0 < 50)
or (TotalTrades < 0)
and (stoc4d_0 < 50);
IsClosing = (sar5_1 >= High[1])
and (sar5_0 <= Low[0])
or (sar5_1 <= Low[1])
and (sar5_0 >= High[0]);

// 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,Yellow);
Alert("TurboTrader2.0: 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,Yellow);
Alert("TurboTrader2.0: 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,Blue);
Alert("TurboTrader2.0: 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("TurboTrader2.0: Selling");
};
};


//-------------- Coded by FXFisherman ZeroCode v1.0.2014.30845



Thanks Scorpion
Reply With Quote

Registered members have access to special online forex currency trading tools, software, mt4 expert advisors and indicators. Register now

Main Menu

Economic Forecast