Buy section coding buyPrice = initialPrice+(cpt*increment+incrementAdjustStart)*PointValue; // EJAZ START LOTS CALC int newBuyGoalProfit = buyGoalProfit; int multiplier = 0; while (newBuyGoalProfit < profitTarget) { multiplier = multiplier + 1; newBuyGoalProfit+=(buyGoal-(incrementAdjustFinal*PointValue)-buyPrice)/PointValue*(cpt*lots)/lots; } // EJAZ END if(Ask <= buyPrice-MarketInfo(Symbol(),MODE_STOPLEVEL)*PointValue) { if( UseOrdersReliable ) { //EJAZ added in the *multiplier ticket = OrderSendReliable(Symbol(),OP_BUYSTOP,cpt*lots*multiplier,buyPrice,MAX_ENTRY_SLIPPAGE,sellGoal-stopLossStealthAdjust, buyGoal,initialSetKey,MagicNumber,0); } else { //EJAZ added in the *multiplier ticket = OrderSend(Symbol(),OP_BUYSTOP,cpt*lots*multiplier,buyPrice,MAX_ENTRY_SLIPPAGE,sellGoal-stopLossStealthAdjust, buyGoal,initialSetKey,MagicNumber,0); } Sell section coding sellPrice = initialPrice-(cpt*increment+incrementAdjustStart)*PointValue; // EJAZ START LOTS CALC int newSellGoalProfit = sellGoalProfit; multiplier = 0; while (newSellGoalProfit < profitTarget) { multiplier = multiplier + 1; newSellGoalProfit+=(sellPrice-(sellGoal+spread)+(incrementAdjustFinal*PointValue))/PointValue*(cpt*lots)/lots; } // EJAZ END STOP if(Bid >= sellPrice-MarketInfo(Symbol(),MODE_STOPLEVEL)*PointValue) { if( UseOrdersReliable ) { //EJAZ added in the *multiplier ticket = OrderSendReliable(Symbol(),OP_SELLSTOP,cpt*lots*multiplier,sellPrice,MAX_ENTRY_SLIPPAGE,buyGoal+spread+stopLossStealthAdjust, sellGoal+spread,initialSetKey,MagicNumber,0); } else { //EJAZ added in the *multiplier ticket = OrderSend(Symbol(),OP_SELLSTOP,cpt*lots*multiplier,sellPrice,MAX_ENTRY_SLIPPAGE,buyGoal+spread+stopLossStealthAdjust, sellGoal+spread,initialSetKey,MagicNumber,0); }