Обсуждение статьи "Универсальный торговый эксперт: Событийная модель и прототип торговой стратегии (Часть 2)" - страница 3

 
Гога:
Андрей, не нужно усложнять - правильный ответ: "скорректировать стоп на минимально допустимое расстояние и открыть сделку (а если новости и стоп-левел 50 четырехзначных пунктов — тоже?)". Слишком маленький СТОП длжен работать виртуально (без модификации). А сделка должна быть открыта по поступившему сигналу. В случае построения сетей дополнительные правила прописываются на этапе формирования СТОПа.

Если использовать виртуальный стоп, откладываемый от цены открытия, на расширенном спреде можно нарваться на серию открытий и моментальных закрытий на этом же тике.

Я согласен, что наличие готовых вариантов обработки тех или иных ситуаций будет удобно, но автоматически движок ничего решать не должен.

 
Andrey Khatimlianskii:

Если использовать виртуальный стоп, откладываемый от цены открытия, на расширенном спреде можно нарваться на серию открытий и моментальных закрытий на этом же тике.

Про 5-ку не знаю. В 4-ке у меня никогда проблем не было.

Andrey Khatimlianskii:

Я согласен, что наличие готовых вариантов обработки тех или иных ситуаций будет удобно, но автоматически движок ничего решать не должен.

С чем не могу не согласится, что правил "что должен делать торговый движок", нет - мы их сами придумываем. Я исхожу из простого постулата: мой движок должен делать любую (всю) административную работу (выше я перечислял, что я понимаю под административной работой, там не упомянут трейлинг и работа с общим профитом, как отдельно взятой стратегии, так и всего советника), а я при добавлении к советнику новой стратегии, дописываю ТОЛЬКО правила торговли для неё и настраиваю торговый движок.

Я не претендую на правильность моего подхода, мне так больше нравится. ;)

 
Vasiliy Sokolov:
О чем "об этом"? Это информационное сообщение идущее совместно с системными сообщениями, которые вы зачем-то почистили.

Я исхожу, что мне нужны в логе только содержательные информационные сообщения. Исходя из этого, мне не интересно знать, что СТОПЫ не изменились. Про торговое окружение тоже...

Василий, я не критикую, я высказываю свою точку зрения. Я понимаю, когда много времени потрачено на создание системы, даже мысль о возможном её изменении, вызывает дискомфорт. Такие разговоры (обмен мнениями) имеет смысл на стадии осмысливания. :)

 
Гога:

... а я при добавлении к советнику новой стратегии, дописываю ТОЛЬКО правила торговли для неё и настраиваю торговый движок.

Я не претендую на правильность моего подхода, мне так больше нравится. ;)

Так это движок и делает. Вы описываете стратегию в терминах правил входа и выхода, и добавляете в советник.

Гога:

Я исхожу, что мне нужны в логе только содержательные информационные сообщения. Исходя из этого, мне не интересно знать, что СТОПЫ не изменились. Про торговое окружение тоже...

Василий, я не критикую, я высказываю свою точку зрения. Я понимаю, когда много времени потрачено на создание системы, даже мысль о возможном её изменении, вызывает дискомфорт. Такие разговоры (обмен мнениями) имеет смысл на стадии осмысливания. :)

Возможно на счет того сообщения Вы и правы. Но мне оно в начале разработки движка было крайне необходимо. На самом деле оно и сейчас достаточно полезно. Оно показывает что движок в курсе торговых действий и значит торговая позиция гарантировано доставляется до стратегии. Эта информация становиться важной в момент отладки, когда например, позиция есть, однако по каким-то причинам стратегия не обрабатывает ее. Это сообщеие помогает найти причину: ошибка в логике стратегии или торговая ошибка, или ошибка движка.

 
Vasiliy Sokolov:

Так это движок и делает. Вы описываете стратегию в терминах правил входа и выхода, и добавляете в советник.

Не пойму, а когда и где описывать правильное формирование СТОПов (в том числе с учётом STOPLEVEL), обрабатывать (при открытии и закрытии позиций) реквоты?

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

 
Гога:

Не пойму, а когда и где описывать правильное формирование СТОПов (в том числе с учётом STOPLEVEL), обрабатывать (при открытии и закрытии позиций) реквоты?

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

Обработка реквот должна происходить в торговой логике эксперта. Если в InitBuy вы вызвали метод Trade.Buy и вместо ожидаемого true, он вернул false, необходимо, не выходя из InitBuy, понять что произошло и повторить либо скорректировать свое действие. Замечу что реквоты для многих режимов торгов не актуальны. Например на бирже нет вообще понятия реквоты. Следовательно не может быть и речи о создании некой универсальной прослойки, которая всегда способна понять торговые действия пользователя и исправить их на "лету".
 
Vasiliy Sokolov:
Замечу что реквоты для многих режимов торгов не актуальны. Например на бирже нет вообще понятия реквоты. Следовательно не может быть и речи о создании некой универсальной прослойки, которая всегда способна понять торговые действия пользователя и исправить их на "лету".

Ну, это как раз не помеха, анализировать ошибку можно, даже если на каких-то типах счетов или торговых площадках ее никогда не будет.

Вопрос только в однозначности необходимой реакции — если понятно, что делать, то можно делать это внутри движка.

 
Vasiliy Sokolov:
Обработка реквот должна происходить в торговой логике эксперта. Если в InitBuy вы вызвали метод Trade.Buy и вместо ожидаемого true, он вернул false, необходимо, не выходя из InitBuy, понять что произошло и повторить либо скорректировать свое действие. Замечу что реквоты для многих режимов торгов не актуальны. Например на бирже нет вообще понятия реквоты. Следовательно не может быть и речи о создании некой универсальной прослойки, которая всегда способна понять торговые действия пользователя и исправить их на "лету".

Получается, что каждый раз для новой стратегии, нужно отдельно прописывать обработку реквотов ( в зависимости от того, есть они или нет) а, также, делать проверку правильного формирования СТОПов, опять-таки от требований стратегии или предпочтений трейдера. Получается, то кроме

Vasiliy Sokolov:

Так это движок и делает. Вы описываете стратегию в терминах правил входа и выхода, и добавляете в советник.

описания правил входа\выхода ещё нужно каждый раз ещё что-то дописывать?! Хотелось бы уточнить "что ещё нужно каждый раз дописывать"?

 
Andrey Khatimlianskii:

Ну, это как раз не помеха, анализировать ошибку можно, даже если на каких-то типах счетов или торговых площадках ее никогда не будет.

Вопрос только в однозначности необходимой реакции — если понятно, что делать, то можно делать это внутри движка.

Интересно, какие ещё возможные действия можно предпринять в ответ на реквоту, кроме как повторить попытку торгового запроса?
 
Гога:
Интересно, какие ещё возможные действия можно предпринять в ответ на реквоту, кроме как повторить попытку торгового запроса?
Как минимум, проанализировать цену. Возможно, входить уже совсем не надо.