Каким образом вы выставляете стопы на фортс, чтобы они гарантировано исполнились?
По идее, их исполнение надо ставить по маркету - т.е. по ценам планки. Но ситуация в следующем - загружаю роботов утром, добавляю в экспорт всё что надо (ГО, цены планки, ...) для каждого зарегистрированного 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 и, в случае изменения лимитов, для каждой запущенной стратегии запускать метод, который будет выполнять проверку всех выставленных стоп заявок. Если это необходимо - снимать старые стоп-заявки и выставлять новые, уже с новыми ценами лимитов.
Kommentare (5)
Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen
Ага, все логично. Кроме одного "По идее, их исполнение надо ставить по маркету - т.е. по ценам планки. " Это почему так?
А как ещё выставить стоп заявку, чтобы она гарантировано исполнилась, в независимости от близости планок, в независимости от их изменения во время клиринга или приостановки торгов?
Это можно сделать следующим способом ( чтобы с гарантией) - дописать модуль, который берет зависшие заявки ( цена от которых ушла) и сдвигает их в область актуальных цен.
С уважением, Сергей Зуев
Как вариант - поработать с котированием. Оно как раз было придумано для того, чтобы эмулировать маркетную заявку на форце.
Именно этот вариант я и предложил в первом сообщении. Он мне больше котирования нравится, пока его реализовал. Хотя почитаю в документации и про котирование, спасибо.