TrailingStop, а также отчет торговой системы для всеобщего рассмотрения

 
Привет всем!
Проблема с trailingStop'ом.
При тестировании торговой системы он не работает - переносит постоянно позицию не на заданную величину, а на 2-3 пункта. Даже в стандатрном советнике MACD - тоже не работает! Поясните в чем дело. Может дело с какими-то настройками в Метатрейдере?
Спасибо!
 
Может Вы как-то по-другому считаете принцип работы трейлинг стопа?

Как Вы предполагали и как на самом деле происходит изменение стопа?
 
исал:
Может Вы как-то по-другому считаете принцип работы трейлинг стопа?

Как Вы предполагали и как на самом деле происходит изменение стопа?

if(trailingStop > 0) {             // Check trailing stop
               if((Bid-OrderOpenPrice()) > (trailingStop*Point)) {
                  if(OrderStopLoss() < (Bid - trailingStop*Point)) {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-trailingStop*Point,OrderTakeProfit(),0,Blue);
                     prtAlert("Modifying BUY order");
                  }
               }
          
Код следующего вида.... Взят из примеров. Не пойму почему не работает. Трейлинг стоп я понимаю так ...
К примеру мы купили по цене "х" выставили трейлингстоп величиной "у". Далее если цена выросла на величину "y" то стоп изменяется на величину "текущая цена-у". И так далее - т. е. шаг у нас величина "у". Здесь из кода все и так понятно. Советник первый шаг переставляет верно - но дальше идет шаг в 2-3 пункта. Или я что-то не так понимаю - просто всегда работал на Rumuse - так такой функции нет.
Спасибо за отзыв!

И еще интересно общее мнение по поводу отчета советника - файл прикрепляю...
Файлы:
strategy.zip  84 kb
 

Или вот - просто подлил историю - жду ваших комментариев...

Файлы:
strategy_1.zip  78 kb
 
if((Bid-OrderOpenPrice()) > (trailingStop*Point))
:) Первый шаг действительно trailingStop*Point, а потом шаг равен приращению текущей цены вверх
 
Чтобы было как хочешь ты надо написать...
if( ((Bid-OrderStopLoss()) > (trailingStop*Point)) && ((Bid-OrderOpenPrice()) > (trailingStop*Point)) )....
кажется так
 
sergey_r82:
if((Bid-OrderOpenPrice()) > (trailingStop*Point))
:) Первый шаг действительно trailingStop*Point, а потом шаг равен приращению текущей цены вверх

Понял! Спасибо!
 
А выложи отчетик, если лот не увеличивать))
 
Zuza писал (а):
А выложи отчетик, если лот не увеличивать))

Что можете сказать по этому тесту? Очень интересно мнение!!!
Файлы:
 

Что тут скажешь - хорошие результаты =)
Это что за эксперт?

 
Zuza писал (а):
Tango писал (а):
Zuza писал (а):
А выложи отчетик, если лот не увеличивать))

Что можете сказать по этому тесту? Очень интересно мнение!!!
Клево! У меня тоже есть системка...Тока я до сих пор не пойму верить бектесту или нет. Говорят, что меньше 90% значит верить низя... (( А жаль...



 Нужно верить только тесту на демо-счете - иначе никаких реалов. Тестить хотя бы месяц, два.
Причина обращения: