Не работает трейлинг стоп

 
Добрый день господа! подскажите что я делаю не так трейлинг стоп не работает.
Файлы:
d.mq4  4 kb
 
dimarik0000:
Добрый день господа! подскажите что я делаю не так трейлинг стоп не работает.

Странный код и странные желания. Хотелось бы узнать о внутренней совместимости
 
Vinin:

Странный код и странные желания. Хотелось бы узнать о внутренней совместимости

О внутренней совместимости с чем?
 
dimarik0000:

О внутренней совместимости с чем?

С автором кода конечно. Просто похоже что хотели одно, а получили совсем другое.
 
Vinin:

С автором кода конечно. Просто похоже что хотели одно, а получили совсем другое.

Поэтому я и обратился за советом к бывалым людям! Нужно конечно чтобы трал подтягивал SL за ценой на уровне 20 пунктов.
 
dimarik0000:

Поэтому я и обратился за советом к бывалым людям! Нужно конечно чтобы трал подтягивал SL за ценой на уровне 20 пунктов.

В CodeBase заглядывали. Там есть практически все
 
dimarik0000:

Поэтому я и обратился за советом к бывалым людям! Нужно конечно чтобы трал подтягивал SL за ценой на уровне 20 пунктов.
Пока не научились ваять своё - БЕРИТЕ готовое чужое (в интернете, в том числе и в кодабазе) валом.
 

Глянул код одним глазом.

Есть логические бессмыслицы:

extern int total=2;  if(total<=0)  if(total>=0)


Чего проверять изначально известное, заданное значение?

int ticket;  OrderTicket()==ticket

 OrderTicket() никогда не будет равным нулю. Условие невыполнимо.

Дальше не смотрел.

 
hhohholl:

Глянул код одним глазом.

Есть логические бессмыслицы:

Чего проверять изначально известное, заданное значение?

 OrderTicket() никогда не будет равным нулю. Условие невыполнимо.

Дальше не смотрел.



Большое спасибо за внимание, следуя вашим подсказкам все исправил, и все заработало, только есть одна проблема в том что когда открывается длинная Трал срабатывает так как надо, т.е. после достижения ценой уровня более чем в 20 п СЛ передвигается, а в случае с короткой позицией Трал начинает работу сразу же после открытия ордера?




Файлы:
d_1.mq4  4 kb
 

Внимательно пройдитесь по коду:

- BUY закрывается по Bid

- Sell закрывается по Ask

if((Ask-OrderOpenPrice())<Point*TS) // если нынешняя цена аск - цена открытия ордера > размер пункта * трейлинг стоп

Здесь это условие выполняется сходу, правильно будет

if((OrderOpenPrice()-Ask)>Point*TS) 

А вообще скрипт для трейлинга смысла не имеет, он же однопроходовый.

Надо писать советника.

Причина обращения: