Стопы на FORTS
Atom
7/13/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 и, в случае изменения лимитов, для каждой запущенной стратегии запускать метод, который будет выполнять проверку всех выставленных стоп заявок. Если это необходимо - снимать старые стоп-заявки и выставлять новые, уже с новыми ценами лимитов.


Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 7/13/2010
Reply


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

Thanks:

Alexander

Avatar
Date: 7/13/2010
Reply


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

Thanks:

skzuev

Avatar
Date: 7/13/2010
Reply


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

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

Thanks:

Mikhail Sukhov

Avatar
Date: 7/13/2010
Reply


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

Thanks:

Alexander

Avatar
Date: 7/13/2010
Reply


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

Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy