//--------------------------------------------------------------------- // Modified trailing-stop. //--------------------------------------------------------------------- #property copyright "© RickD 2006-2007" #property link "www.e2e-fx.net" extern bool UseTrailing = true; extern int lMinProfit = 30; extern int sMinProfit = 30; extern int lTrailingStop = 15; extern int sTrailingStop = 15; extern int lTrailingStep = 5; extern int sTrailingStep = 5; if (UseTrailing) TrailPositions(); void TrailPositions() { int cnt = OrdersTotal(); for (int i=0; i lMinProfit*Point) { if (OrderStopLoss() < Bid-(lTrailingStop+lTrailingStep-1)*Point) { OrderModify(OrderTicket(), OrderOpenPrice(), Bid-lTrailingStop*Point, OrderTakeProfit(), 0, Blue); } } } if (OrderType() == OP_SELL) { if (OrderOpenPrice()-Ask > sMinProfit*Point) { if (OrderStopLoss() > Ask+(sTrailingStop+sTrailingStep-1)*Point || OrderStopLoss() == 0) { OrderModify(OrderTicket(), OrderOpenPrice(), Ask+sTrailingStop*Point, OrderTakeProfit(), 0, Blue); } } } } }