#property copyright "Copyright 2023, M & Q Investment Group" #property link "https://www.mql5.com" #property version "1.00" #include CTrade trade; double LiveTP; void OnTick() { double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double TradeSL = Ask - 0.00015; double TradeTP = Ask + 0.0002; if (PositionsTotal()<1){ Print("Ask: ",Ask); trade.Buy(0.10,_Symbol,Ask,TradeSL,TradeTP); LiveTP = TradeTP; } if(PositionsTotal()> 0){CheckTrailingstop(Ask,LiveTP);} } void CheckTrailingstop(double Ask, double TP){ TP = LiveTP; for(int i = PositionsTotal()-1; i >= 0; i--){ string symbol = PositionGetSymbol(i); if(_Symbol == symbol){ ulong PositionTicket = PositionGetInteger(POSITION_TICKET); double PositionOpenprice = PositionGetDouble(POSITION_PRICE_OPEN); double CurrentSL = PositionGetDouble(POSITION_SL); double SL = NormalizeDouble(Ask - 0.00015,_Digits); if(CurrentSL < SL){ trade.PositionModify(PositionTicket,(CurrentSL + 0.00005),TP); } } } }