SUMMARY I need an EA in MT5 that trades based on candle pattern on Daily timeframe. It must check and correctly process possible errors in trading operations. Position is short only with entry at open of candle and pyramiding of positions. INPUTS AverageFast1 = 20 // fast simple moving average 1 AverageSlow1 = 30 // slow simple moving average 1 AverageFast2 = 20 // fast simple moving average 2 AverageSlow2 = 21 // slow simple moving average 2 RSIlevel = 50 // RSI level TrailingSL = // trailing Stop Loss at % of distance from lowest low (0 = not used) Ratio = 1.2 // Ratio exit Period = 20 // Period exit MONEY MANAGEMENT Position size as per either fixed amount or fixed lot fixed amount = 10,000 // in fixed amount (e.g. if fixed amount is 10,000 and DE40 index trades at 15,000 then position should be 0.67 lots. If DE40 index trades at 9,000 then position should be 1.11 lots) fixed lot = 1.0 // in fixed lot FILTERS ENTRY Condition1 = average(AverageFast1,close) < average(AverageSlow1,close); Condition2 = average(AverageFast2,close) < average(AverageSlow2,close); Condition3 = RSI > RSIlevel; Condition4 = entry1 > last trade bar RULES TO OPEN LONG POSITION Enter positions only at open of candle If average(AverageFast1,close) CROSSES UNDER average(AverageSlow1,close) then barindex = entry1 // to mark the time of moving average crossover If no opened position AND Condition1 AND Condition2 AND Condition3 AND Condition4 then Sellshort position at market RULES TO ADD ON EXISTING POSITION (PYRAMIDING) k = input fixed amount / last price If short on market AND number of bars since last trade >20 AND count of opened shares < (0.8*k) AND close < (positionprice/1.25) then Sellshort ROUND((k)+countofposition) lots at close*0.999 LIMIT FILTERS EXIT Condition5 = Average[AverageFast1,close] CROSSES OVER Average[AverageSlow1,close] AND Close > average[AverageFast1,close] AND Close < (2*close[AverageSlow1]; Condition6 = Average[AverageFast1,close] > Average[AverageSlow1,close] AND close CROSSES OVER Average[AverageFast1] AND close<(2*close[AverageSlow1]); Condition7 = Average[AverageFast1,close] > Average[AverageSlow1,close] AND close > Average[AverageFast1] AND close CROSSES UNDER (2*close[AverageSlow1]); RULES TO EXIT POSITIONS If countofshortshares >= countofshortshares[25 bars ago] then If Condition5 OR Condition6 OR Condition7 then Exit short ROUND(count of shares /2) lots at market If Short on market AND close < (2*close[AverageSlow1]) then Exit short at Ratio*average[Period,close] STOP Terms • EA should specify magicnumber to allow trading multiple EAs on same instrument • EA should backtest properly as per the defined signals • EA is under full property of requester • Strategy shall not be given or sold by the developer to any third parties • Source code to be provided