На заметку экспертописателям

 
Тестируя своего экперта на разных инструментах столкнулся с такой проблемой. Сделки в тестере при гэпе закрываются по стоп-лоссу, хотя в реальной торговле сделку ДЦ закроет по цене открытия. Это особенно актуально для иструментов, которые котируются не круглосуточно, металлы, товарные рынки, CFD на акции, где часто случаются немалые гэпы.

Это напрямую влияет на качество тестирования. Опишу что на скрине, кто не понял:

встали на селл, случился гэп против позиции, тестер закрыл сделку на уровне стоп-лосса, хотя ДЦ в реальности закроет позицию на открытии рынка, в районе 55,50. Кому интересно это нефть, M15


Кто-что может предложить для устранения проблемы, т.е. корректного закрытия сделок

С уважением.



 
Убери стоплосс и закрывай вручную, т.е. используй виртуальный стоплосс - если цена хуже, чем какой-то установленный тобой уровень, то пора закрываться. Тоже самое и с тэйкпрофит. А закрытие в любом случае будет по рыночной цене.
 
timbo:
Убери стоплосс и закрывай вручную, т.е. используй виртуальный стоплосс - если цена хуже, чем какой-то установленный тобой уровень, то пора закрываться. Тоже самое и с тэйкпрофит. А закрытие в любом случае будет по рыночной цене.

Зачем убирать стоп-лосс, а если пропадет связь с сервером на длительное время?
Если нетрудно, покажи на примере или на скрине, не совсем понял как реализовать.
Тейкпрофит меня не интересует, интересует стоплосс и трейлингстоп.

Уточню: работает эксперт на полном автомате, предлагаеш закрывать позиции вручную, получается полуавтомат, так не годится



  
 

Зачем тестеру связь с торговым сервером? Речь ведь об адекватном тестировании в тестере. В тестере используйте то, что предложил timbo, то есть храните стопы в переменных, а в онлайне ставьте нормальные стопы.

Отличить режим тестирования в тестере от режима работы в онлайне можно функцией IsTesting()

 
Вопрос сложный, мы хотели сделать проскальзывания в тестере, но не решили как. У каждого брокера свой регламент исполнения.
Вариантом мог быть выбираемый пользователем режим в тестере стратегий:
  • точно по ценам ордера
  • точно по ценам ордера при гепах меньше Х спредов
  • с проскальзыванием
 
Renat писал (а):
Вопрос сложный, мы хотели сделать проскальзывания в тестере, но не решили как. У каждого брокера свой регламент исполнения.
Вариантом мог быть выбираемый пользователем режим в тестере стратегий:
  • точно по ценам ордера
  • точно по ценам ордера при гепах меньше Х спредов
  • с проскальзыванием


Пока наверно это можно реализовать непосредственно в самом эксперте
 
xeon:

Пока наверно это можно реализовать непосредственно в самом эксперте

Хм. Во-первых: существует класс экспертов, работающих на сформировавшихся барах. Такой подход, потребует перехода на модель "все тики", что без должной надобности заметно усложнит код эксперта, а также значительно снизит скорость оптимизиации/тестирования. Во-вторых: корректная реализация такого механизма в тестере выглядит более "системно".
 
bstone писал (а):
xeon:

Пока наверно это можно реализовать непосредственно в самом эксперте

Хм. Во-первых: существует класс экспертов, работающих на сформировавшихся барах. Такой подход, потребует перехода на модель "все тики", что без должной надобности заметно усложнит код эксперта, а также значительно снизит скорость оптимизиации/тестирования. Во-вторых: корректная реализация такого механизма в тестере выглядит более "системно".

никто и не говорил что это панацея, - просто какой-то выход из ситуации, если я не ошибаюсь разработчики прекратили вносить изменения в мт4 (за исключением устранения ошибок), а делают мт5.
 
Renat:
Вопрос сложный, мы хотели сделать проскальзывания в тестере, но не решили как. У каждого брокера свой регламент исполнения.
Вариантом мог быть выбираемый пользователем режим в тестере стратегий:
  • точно по ценам ордера
  • точно по ценам ордера при гепах меньше Х спредов
  • с проскальзыванием

Проще ИМХО сдать так:

  • если поза buy и цена открытия следующего бара ниже стоплосса - закрыть сделку по цене открытия бара
  • если поза sell и цена открытия следующего бара выше стоплосса - закрыть сделку по цене открытия бара
В остальных случаях ничего ничего не делать, т.к. в тестере предусмотрены закрытия сделок по стоплоссам предыдущего бара по high и low

Просто каждый ДЦ самостоятельно трактует величину проскальзывания. Но поскольку есть целый ряд брокеров, которые засчитывают проскальзывания на величину гэпа, то незачем выдумывать другие варианты. И оптимизация в этом случае не будет обманываться насчет того, что по гэпу ей засчитают убыток только на величину стоплосса.

Я тоже на этом попадался, что советники по некруглосуточным фин. инструментам начинают строить заведомо ложные стратегии на значительной разнице между ценами закрытия и открытия торгов. Т.е. не ставим тейкпрофит, а выставляем только небольшой стоплосс и получаем в результате "прибыльную" стратегию на разнице между ценами открытия и закрытия дневок. Ясное дело, что в реале результат будет плачевным. А построить любую другую стратегию оптимизатор попросту не позволяет при генетическом алгоритме.
 
xeon:

никто и не говорил что это панацея, - просто какой-то выход из ситуации, если я не ошибаюсь разработчики прекратили вносить изменения в мт4 (за исключением устранения ошибок), а делают мт5.

Значит нужно рассматривать эту особенность как ошибку :)
Причина обращения: