Стопы на FORTS
Atom
13.07.2010
Alexander


Каким образом вы выставляете стопы на фортс, чтобы они гарантировано исполнились?

По идее, их исполнение надо ставить по маркету - т.е. по ценам планки. Но ситуация в следующем - загружаю роботов утром, добавляю в экспорт всё что надо (ГО, цены планки, ...) для каждого зарегистрированного quikTrader: quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MarginBuy); quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MarginSell); quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MaxPrice); quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinPrice); quikTrader.SecuritiesTable.Columns.Add(DdeSecurityColumns.MinStepPrice);

Отлично, теперь при регистрации стоп заявки использую в стратегии Security.MaxPrice для стопа для шорта и Security.MinPrice для стопа для лонга.

Всё отлично работает до клиринга или до остановки торгов - когда цена планки смещается. Т.е. старая выставленная заявка с ценой старой планки, в случае срабатывания условия стопа, может уже не удовлетворять новым лимитам, и просто будет отвергнута ТС. Вот, к примеру, вчера у меня был выставлен стоп до дневного клиринга - продать, если <= 138000, по цене 130510. После клиринга был уже новый нижний лимит цены и стоп, после срабатывания, не был выставлен в ТС.

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


Теги:


Спасибо:


Mikhail Sukhov

Фотография
Дата: 13.07.2010
Ответить


Ага, все логично. Кроме одного "По идее, их исполнение надо ставить по маркету - т.е. по ценам планки. " Это почему так?

Спасибо:

Alexander

Фотография
Дата: 13.07.2010
Ответить


А как ещё выставить стоп заявку, чтобы она гарантировано исполнилась, в независимости от близости планок, в независимости от их изменения во время клиринга или приостановки торгов?

Спасибо:

skzuev

Фотография
Дата: 13.07.2010
Ответить


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

С уважением, Сергей Зуев

Спасибо:

Mikhail Sukhov

Фотография
Дата: 13.07.2010
Ответить


Как вариант - поработать с котированием. Оно как раз было придумано для того, чтобы эмулировать маркетную заявку на форце.

Спасибо:

Alexander

Фотография
Дата: 13.07.2010
Ответить


Именно этот вариант я и предложил в первом сообщении. Он мне больше котирования нравится, пока его реализовал. Хотя почитаю в документации и про котирование, спасибо.

Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy