S#

Тестовый пример SampleHistoryTesting


Тестовый пример SampleHistoryTesting
Atom Reply
8/16/2014


Доброй ночи!

Загрузил с сайта библиотеку 4.2.14 и попытался запустить проект SampleHistoryTesting.

Не могу понять несколько моментов:

1. При пересечении SMA при попытке выставить заявку в log файле пишется сообщение:
2012/10/02 05:35:00.491| |SS_RIZ2@FORTS_43258|Регистрация новой Limit (0x31C36B0) заявки на Sell с ценой 89600 и объемом 1.
2012/10/02 05:35:00.491| |HistoryEmulationConnector|RegisterOrder: 0/0 Продажа Цена=89600 Объем=1 Сост=None Бал=0
2012/10/02 05:35:00.491| |HistoryEmulationConnector|New order: 3/0 Продажа Цена=89600 Объем=1 Сост=Pending Бал=1
2014/08/16 22:31:37.572| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Заявка 3 невозможно зарегистрировать. Причина 'Сейчас эта сессия не идет.'.
2012/10/02 05:35:00.491| |HistoryEmulationConnector|OrderFailed: 3/0 Продажа Цена=89600 Объем=1 Сост=Failed Бал=1
System.InvalidOperationException: Сейчас эта сессия не идет.

Очевидно, что что-то со временем, но понять не могу.

2. После того как заявки все же начинают регистрироваться, цена устанавливается на некое минимальное значение:
2012/10/03 20:35:00.687| |SS_RIZ2@FORTS_43258|Новая свеча 10/03/2012 13:30:00: 149550;149600;149410;149450; объем 10380
2012/10/03 20:35:00.687| |SS_RIZ2@FORTS_43258|Рыночная цена 209470
2012/10/03 20:35:00.687| |SS_RIZ2@FORTS_43258|Регистрация новой Limit (0x810E21) заявки на Buy с ценой 209470 и объемом 2.
2012/10/03 20:35:00.687| |HistoryEmulationConnector|RegisterOrder: 0/0 Покупка Цена=209470 Объем=2 Сост=None Бал=0
2012/10/03 20:35:00.687| |HistoryEmulationConnector|New order: 8/0 Покупка Цена=209470 Объем=2 Сост=Pending Бал=2
2014/08/16 22:32:33.038| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Заявка 8 зарегистрирована.
2014/08/16 22:32:33.038| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Заявка 8. Исполнение объема 2 по цене 149440.
2014/08/16 22:32:33.038| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Заявка 8 полностью исполнена.
2014/08/16 22:32:33.038| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Сделка 2 заявки 8 P=8 V=149440.

Понятно, что сделка происходит по рыночной цене (в данном случае - 149440), но тогда какой смысл в

RegisterOrder(this.CreateOrder(direction, Security.GetMarketPrice(direction), volume));

? Или же это эмуляция MARKET ORDER для фьючерсов?

Буду весьма признателен за разъяснения.




Thanks:




1 Answers
esper

Avatar
Programmer
Date: 8/19/2014
Reply


andy_baka Перейти
1. При пересечении SMA при попытке выставить заявку в log файле пишется сообщение:
2012/10/02 05:35:00.491| |SS_RIZ2@FORTS_43258|Регистрация новой Limit (0x31C36B0) заявки на Sell с ценой 89600 и объемом 1.
2012/10/02 05:35:00.491| |HistoryEmulationConnector|RegisterOrder: 0/0 Продажа Цена=89600 Объем=1 Сост=None Бал=0
2012/10/02 05:35:00.491| |HistoryEmulationConnector|New order: 3/0 Продажа Цена=89600 Объем=1 Сост=Pending Бал=1
2014/08/16 22:31:37.572| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Заявка 3 невозможно зарегистрировать. Причина 'Сейчас эта сессия не идет.'.
2012/10/02 05:35:00.491| |HistoryEmulationConnector|OrderFailed: 3/0 Продажа Цена=89600 Объем=1 Сост=Failed Бал=1
System.InvalidOperationException: Сейчас эта сессия не идет.

Очевидно, что что-то со временем, но понять не могу.

Была такая проблема, исправлена в версии 4.2.16.

andy_baka Перейти
2. После того как заявки все же начинают регистрироваться, цена устанавливается на некое минимальное значение:
2012/10/03 20:35:00.687| |SS_RIZ2@FORTS_43258|Новая свеча 10/03/2012 13:30:00: 149550;149600;149410;149450; объем 10380
2012/10/03 20:35:00.687| |SS_RIZ2@FORTS_43258|Рыночная цена 209470
2012/10/03 20:35:00.687| |SS_RIZ2@FORTS_43258|Регистрация новой Limit (0x810E21) заявки на Buy с ценой 209470 и объемом 2.
2012/10/03 20:35:00.687| |HistoryEmulationConnector|RegisterOrder: 0/0 Покупка Цена=209470 Объем=2 Сост=None Бал=0
2012/10/03 20:35:00.687| |HistoryEmulationConnector|New order: 8/0 Покупка Цена=209470 Объем=2 Сост=Pending Бал=2
2014/08/16 22:32:33.038| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Заявка 8 зарегистрирована.
2014/08/16 22:32:33.038| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Заявка 8. Исполнение объема 2 по цене 149440.
2014/08/16 22:32:33.038| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Заявка 8 полностью исполнена.
2014/08/16 22:32:33.038| |#=qFqY4PDdSiICvwBSzCXiAMN8zt2u72b26XEdJTU_i244=|Сделка 2 заявки 8 P=8 V=149440.

Понятно, что сделка происходит по рыночной цене (в данном случае - 149440), но тогда какой смысл в

RegisterOrder(this.CreateOrder(direction, Security.GetMarketPrice(direction), volume));

? Или же это эмуляция MARKET ORDER для фьючерсов?

Верно, для фьючерсов заявки ставятся по планкам, если для инструмента нет Level1 хранилища или в нем нет планок, то они генерируются согласно настройкам эмулятора.

Thanks: andy_baka


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

loading
clippy