Стопы на FORTS
Atom
7/13/2010


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

По идее, их исполнение надо ставить по маркету - т.е. по ценам планки.
Но ситуация в следующем - загружаю роботов утром, добавляю в экспорт
всё что надо (ГО, цены планки, ...) для каждого зарегистрированного
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



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

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

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