For Codersguru!

 

Hi Codersguru can you help me to translate this EA from Easylanguage to mql4?

Thanks

Bolla

{*****************************************

Description : VOLEX (Volatility Expansion)

******************************************}

Inputs:

MultClosesLong(10),

MultClosesShort(8),

MoltL(2.2),

MoltS(3.6),

FilterLong(0),

FilterShort(4),

StopLoss(330),

StopTarget(120),

StopFactor(60),

ProfitTarget(560),

GainPlusLong(5),

GainPlusShort(4),

StartTime(1200),

EndTime(1630),

breakTime(1400);

Variables:

CounterLong(0),

CounterShort(0),

trade(1),

sll(0),

sls(999999),

sl(StopLoss),

contr_plus(0);

if (PositionProfit(1)<0 and PositionProfit(2)<0) then

begin

contr_plus=1;

sl=sl-contr_plus*10;

end

else contr_plus=0;

SetStopLoss(sl);

if marketposition=0 and time>=StartTime and time<=EndTime and timebreakTime then begin

Buy ("Long") (2+contr_plus) contracts Next Bar at Close + Average(Range,4)*MoltL + FilterLong points on Stop;

Sell ("Short") (2+contr_plus) contracts Next Bar at Close - Average(Range,4)*MoltS - FilterShort points on Stop;

trade=1;

sll=0;

sls=999999;

sl=StopLoss;

CounterShort = 0;

CounterLong = 0;

end;

If MarketPosition = -1 Then Begin

ExitShort ("Stop_S") Next Bar at sls on Stop;

If Close < EntryPrice - (Commission+Slippage) / BigPointValue Then CounterShort = CounterShort + 1;

If CounterShort = MultClosesShort Then ExitShort ("Prft_S") Next Bar at Market;

End;

If MarketPosition = 1 Then Begin

ExitLong ("Stop_L") Next Bar at sll on Stop;

If Close > EntryPrice + (Commission+Slippage) / BigPointValue Then CounterLong = CounterLong + 1;

If CounterLong = MultClosesLong Then ExitLong ("Prft_L") Next Bar at Market;

End;

if OpenPositionProfit>=ProfitTarget and trade=1 then begin

ExitLong ("1_G_L") (1+contr_plus) contracts Next Bar at Market;

ExitShort ("1_G_S") (1+contr_plus) contracts Next Bar at Market;

trade=trade+1;

sll=EntryPrice + (Commission+Slippage) / BigPointValue + GainPlusLong points;

sls=EntryPrice - (Commission+Slippage) / BigPointValue - GainPlusShort points;

end;

if OpenPositionProfit<=-StopTarget and trade=1 then begin

ExitLong ("1_L_L") (1+contr_plus) contracts Next Bar at Market;

ExitShort ("1_L_S") (1+contr_plus) contracts Next Bar at Market;

trade=trade+1;

sl=sl-StopFactor;

end;

if time=2130 then begin

ExitLong ("EoDL") Next Bar at Market;

ExitShort ("EoDS") Next Bar at Market;

end;