Как тестируете стратегии для биржи? - страница 12

JRandomTrader #:

Но BOC в Ф не поддерживаются и, говорят, не будут.

Это только МТ5 касается?

JRandomTrader #:

Поставленная из MT5 - в Квике видна:



Но BOC в Ф не поддерживаются и, говорят, не будут.

А не сказали почему? Ведь при установке заявки, Котировочная отличается от BOC только одним параметром.

 Поле type может принимать следующие значения:

1 котировочная заявка (остается в очереди после частичного сведения)
2 встречная заявка (снимается после проведения аукциона)
3 заявка Fill-or-Kill (исполняется целиком или снимается)
4 заявка Book-or-Cancel (целиком встает в стакан или снимается)

Добавлено

Если МТ5 работает через Транзак, то понятно почему не могут сделать. Нужно переделывать Транзак.

Добавлено

Да, в Транзак нет BOC заявок (фрагмент установки заявки API Transaq)

3.8 Команда neworder 
Выставить новую заявку на Биржу 
<command id=”neworder”> 
<secid>идентификатор бумаги</secid> 
<security> 
<board> идентификатор режима торгов <board> 
<seccode>Код инструмента</seccode> 
</security> 
Rev. 09.09.2025 
<packetid>Номер пакета</packetid> 
<client>клиент</client> 
<union>union code :string</union> 
<price>цена</price> 
<hidden>Скрытое количество :integer</hidden> 
<quantity>количество в лотах</quantity> 
<buysell>B</buysell> ("В" - покупка, или "S" – продажа) 
<bymarket/> 
<brokerref>примечание</brokerref> (будет возвращено в составе 
структур order и trade) 
<unfilled>PutInQueue</unfilled> 
FOK) 
<usecredit/> 
<nosplit/> 
(другие возможные значения: IOC, 
<expdate>дата экспирации (только для ФОРТС), задается в формате 
23.07.2012 00:00:00</expdate> (не обязательно) 
<complianceid>SPACE(пробел),S,M,R,A,D</complianceid> 
<insist>контрольная сумма из уведомления КНУР</insist> 
</command> 
Usecredit, nosplit и bymarket должны быть заданы пустым тегом, либо отсутствовать вообще. 
При наличии тега bymarket, тег price игнорируется и может отсутствовать. 
Для идентификации инструмента необходимо задать либо secid либо элемент <security>.Если 
заданы оба, то используется <security>. 
Так как в ТС FORTS не предусмотрены заявки без цены, то рыночные заявки для фьючерсов 
эмулируются с помощью лимитированных следующим образом: заявки на покупку подаются 
по максимально возможной цене сессии, а заявки на продажу - по минимально возможной. Для 
таких заявок также автоматически устанавливается признак "Снять остаток". 
Для опционов FORTS рыночные заявки не принимаются. 
Значения unfilled: 
• PutInQueue: Неисполненная часть заявки помещается в очередь заявок Биржи. 
• FOK: сделки совершаются только в том случае, если заявка может быть 
удовлетворена полностью. 
• IOC: неисполненная часть заявки снимается с торгов  
Странно, почему они не ввели BOC, судя по этой строчке 
<complianceid>SPACE(пробел),S,M,R,A,D</complianceid> 

Они правили Транзак совсем недавно, BOC заявки уже были до появления complianceid (способ установки заявки)

Может кому пригодится:
обнаружил, что лимитные ордера в тестере исполняются при прохождении Last (и Ask) за цену ордера. На одном из рассмотренных примеров Last коснулась и откатилась назад, ордер не исполнился, а через пару секунд уже сработало после полного исчерпания уровня.
В реальной торговле сработало от первого касания. Фин. результат сделок оказался разным, так как в реале на откате сделка закрылась за эти 2 сек.

В общем то логично, в тестере действуют с учетом того, что ваша заявка может быть последней в очереди и сработает, когда всё с уровня выкупят.

Aleksei Kuznetsov #:

обнаружил, что лимитные ордера в тестере исполняются при прохождении Last (и Ask) за цену ордера.

Этот режим исполнения можно использовать для проверки форексных ТС (из Маркета, например).
Aleksei Kuznetsov #:

В общем то логично, в тестере действуют с учетом того, что ваша заявка может быть последней в очереди и сработает, когда всё с уровня выкупят.

Зависит от того, какие приоритеты исполнения действуют у биржи. Там первыми в очередь идут либо по времени выставления (чем раньше встал, тем первее), либо по объему (чем больше объем, тем первее).
dAleksei Kuznetsov #:

обнаружил, что лимитные ордера в тестере исполняются при прохождении Last (и Ask) за цену ордера.

Не подтверждаю. Исполняется по касанию.

ЗЫ Там баги сплошные (b6295). Корректно тестить возможно пока только так.

fxsaber #:

Не подтверждаю. Исполняется по касанию.

ЗЫ Там баги сплошные (b6295). Корректно тестить возможно пока только так.

У меня так: 
Скрин сверху от реальной торговли, а снизу в тестере.

Вторая сделка в реале сработала от касания в 15:52:49
В тестере на кастомном символе (биржевом, без правок спецификации) в 15:52:50
Тики кастомного символа за этот момент времени:

Видно, что касание и Last-ом и Ask-ом было, но лимитка в тестере не сработала. Сработала позже. 
Тут:

Возможно у вас не биржевой символ или еще в чем то отличие.

Aleksei Kuznetsov #:

Может кому пригодится:
обнаружил, что лимитные ордера в тестере исполняются при прохождении Last (и Ask) за цену ордера. На одном из рассмотренных примеров Last коснулась и откатилась назад, ордер не исполнился, а через пару секунд уже сработало после полного исчерпания уровня.
В реальной торговле сработало от первого касания. Фин. результат сделок оказался разным, так как в реале на откате сделка закрылась за эти 2 сек.

В общем то логично, в тестере действуют с учетом того, что ваша заявка может быть последней в очереди и сработает, когда всё с уровня выкупят.

Ага, я уже писал об этом, как следствие - нельзя воспроизвести свою историю торгов.

Ну, надо смериться, что вероятность исполнения заявки по уровню не 100% при тестировании, да и на реале...

fxsaber #:
Зависит от того, какие приоритеты исполнения действуют у биржи. Там первыми в очередь идут либо по времени выставления (чем раньше встал, тем первее), либо по объему (чем больше объем, тем первее).
Fifo.
fxsaber #:
Зависит от того, какие приоритеты исполнения действуют у биржи. Там первыми в очередь идут либо по времени выставления (чем раньше встал, тем первее), либо по объему (чем больше объем, тем первее).
чувак, иди уже в форесные ветки, не вноси смуту. не разбираешься, не лезь!