Name Of the EA: AjerPrior Information which user will put in the settings: MaxSpread - Maximum spread which EA is allowed to open position CurrencyFilter - if 0 it is not taken in consideration. If 1 only one time on for that direction for ex. EURUSD buy (it means that should not allow Buy EURJPY or sell GBPEUR), if 2 and bigger let it perform until that number) MagicNumber - Uniq number for pair TakeProfit - In points StopLoss - In points, If 0 dont take in consideration, if bigger than 0 set it in the order Lot - Initial Lot Multiplier - Number for ex. 1.65, for multiplying the next order Distance - The distance of the next order MaxLotLevel - The level when the multiplier is not applied anymore MinimumLotLevel - The number how much the initial lot will be repeated before the multiplier is applied. (For ex. MrinimumLotLevel=4 and Lot=0.1 -> first 4 orders should be generated with lot 0.1 , the 5th order is generated 0.1*multiplier) RSIPeriode - The RSI periode taken in consideration RSIMinLevel - The level of RSI that should be considered for BUY order RSIMaxLevel - The level of RSI that should be considered for SELL order MaxOrderNumber - Maximum order number allowed per pair - How should work - a) Initial (first order) order of the current pair should be generated taking in consideration the RSI value provided in the settings from the user and the current level of the RSI Example: RSI settings RSIMinLevel RSIMaxLevel If not any order present check below parameters to generate the first order: If RSI <=RSIMinLevel generate new BUY order with respective take profit and stopp loss and with comment in format AjerPrior|EURGBP|B01 and gafically project next grid level, otherwise do nothing If RSI >=RSIMaxLevel generate new SELL order with respective take profit and stopp loss and with comment in format AjerPrior|EURGBP|S01 and gafically project next grid level, otherwise do nothing b) If an existing order of that current pair is present than check and perform the below: Check: - Total amount of lot (TotalLot) - Initial lot (InitLot) - Distance provided in settings - Price of the last BUY or SELL - Price of the first BUY or SELL - MaxSpread (if current spread bigger than defined in setting do not generate the order otherwise this parameter is true) - CurrencyFilter (if equal or bigger than defined in settings do not generate the order otherwise this parameter is true) - StopLoss (if this parameter is bigger than 0 in the settings perform it) - NextLot (which will be = (previous order Lot)*(multiplier)) - Distance (current price in the market is bigger or equal of "previous order price + distance in the settings" in case of BUY) or (current price in the market is smaller or equal of "previous order price + distance in the settings" in case of SELL) - MaxLotLevel (If this parameter is reached than multiplier=1) - MinimumLotLevel (if this parameter is reached start multiplying otherwise multiplier=1) - MaxOrderNumber (if this number is reached do not open new order) Perform: - Generate the new order grid taking in the consideration the parameters defined in section b) c) How to calculate the Take profit for the current price TotalLot / InitLot = NumberX NumberX / 2 = NumberY Price of the last "BUY/SELL" - Price of the first "BUY/SELL" = |PriceDifferenceInPoints| ----This must be a positive number |PriceDifferenceInPoints| / NumberX = NumberPointsxx (NumberPointsxx * NumberY) + TakeProfit = DistanceFromCUrrentPriseToSetProfit If it is BUY action : TakeProfitPrice = CurrentBuyPrice - DistanceFromCUrrentPriseToSetProfit If it is SELL action : TakeProfitPrice = CurrentSellPrice + DistanceFromCUrrentPriseToSetProfit