Неправильные стопы....(?)

 

Всем доброго времени суток и высоких профитов!

Помогите, пожалуйста, разобраться со следующей проблемой.

Хочу организовать трейлинг-стоп в советнике. Тестирую. На лонгах трейлинг получается, а на шортах вылетает ошибка 130. Подскажите, где возможна ошибка. Заранее спасибо

for (int k=1;k<=OrdersTotal();k++)
{
select=OrderSelect(k-1,SELECT_BY_POS,MODE_TRADES);
if (select==false) Print(GetLastError());
else
{
if (OrderType()==OP_BUY && Close[1]>OrderOpenPrice())
{
if (High[0]<High[1]) stoploss1=High[1]-50*Point;
else stoploss1=High[0]-50*Point;
mod=OrderModify(OrderTicket(),OrderOpenPrice(),stoploss1,0,0,CLR_NONE);
}
if (OrderType()==OP_SELL && Close[1]<OrderOpenPrice())
{
if (Low[0]>Low[1]) stoploss1=Low[1]+50*Point;
else stoploss1=Low[0]+50*Point;
mod=OrderModify(OrderTicket(),OrderOpenPrice(),stoploss1,0,0,CLR_NONE);
}
}
}

 

Освойте пожалуйста такую простую, но такую удобную функцию форума, как вставка кода (Ctrl+Alt+M), не заставляйте ломать глаза тех кто мог бы помочь, будь ваш текст более удобочитаемым )))


По вопросу - в Code Base этих тралов - хоть попой жуй. Зачем велосипед заново изобретать?

 
вот сборник траллов https://www.mql5.com/ru/code/7108 но он от 2007 года
Причина обращения: