Как я понимаю есть 2 варианта запустить котирования
var strategy = new MarketQuotingStrategy(order, new Unit());
base.ChildStrategies.Add(strategy);
Работает нормально, по крайней мере позиции набирает.
- из одного из обновления http://stocksharp.com/forum/2285/Stock--4-0-Release/
this.OpenPositionByQuoting(10);
Работает не нормально, либо не правильно использую В стратегии просто набираю позицию
using MoreLinq;
using StockSharp.Algo.Strategies.Quoting;
using StockSharp.BusinessEntities;
namespace Sample
{
using StockSharp.Algo;
using StockSharp.Algo.Candles;
using StockSharp.Algo.Indicators;
using StockSharp.Algo.Strategies;
using StockSharp.Messages;
class MyStrategy : Strategy
{
public MyStrategy(){}
protected override void OnStarted()
{
Process();
base.OnStarted();
}
private void Process()
{
// если наша стратегия в процессе остановки
if (ProcessState == ProcessStates.Stopping)
{
// отменяем активные заявки
CancelActiveOrders();
return;
}
if (Position == 0)
{
//var strat = new MarketQuotingStrategy(Sides.Buy, 10);
//base.ChildStrategies.Add(strat);
this.OpenPositionByQuoting(10);
}
}
}
}
В тестовом КВИКе выдает ошибку
Лог приложу
Еще раз повторю, что 1й работает а 2й не работает
Вопрос: это я не правильно использую или это баг?
コメント (41)
ログイン または アカウントを作成, コメントを残すにはログインまたは新規登録してください
В общем соврал я. Оба не работают, просто 2 вариант несколько раз без ошибок отработал. Прикрепляю лог в него писал и Trader и Stratagy В логе есть такая строка
Проблема появляется при перерегистрации заявки. Если написать так
то работает нормально.
По какой то причине через метод ReRegisterOrder работать не хочет, это проблема в Квике? где то настраивается? в S#? Где то читал, что перетаскивать только на срочке можно, так ли это? Подскажите пожалуйста.
Луа?
Да
И еще заметил, что при котировании заявка не откатывается на лучшую цену.
на рисунке видно, что заявка стоит по 9518 а должна бы передвинутся на 9516.
Пробовал уже всяко, все параметры по переставлял не откатывает. Если перед заявкой появляется другая то передвигает как положено, а если после заявки уходят, то на лучшую цену не откатывает. Как быть?
В кратце - мув для ММВБ не реализован в Квике.
Спасибо! А можно еще кратенько прокоментировать ситуацию, про то что котирование не откатывается на лучшую цену. На форуме этот вопрос уже поднимался, а ответа нет. На мой взгляд очень важное замечание.
По логам вам нужно понять причину и нам сообщить ее.😀
Вот поведение MQS при перекотировании заявки, когда перед ней встала другая заявка. Перекотировалась на новую цену.
2015/01/21 23:40:20.639|Debug <mark>|QuikTrader|BP:Level1Change,T(L)=2015.01.21 23:40:20.661,T(S)=2015.01.21 16:40:20.659,Sec=S#:LNZL@QJSIM, Native:,Type:Stock,Changes=[PriceStep, 10],[BestBidPrice, 4750],[BestBidVolume, 1],[BestAskPrice, 4858],[BestAskVolume, 1],[BidsCount, 20],[AsksCount, 19],[BidsVolume, 47],[AsksVolume, 60],[OpenPrice, 4760],[LowPrice, 4609],[HighPrice, 4950],[ClosePrice, 3660],[LastTradePrice, 4858],[LastTradeVolume, 1],[VWAP, 4763],[TradesCount, 151],[Volume, 341]</mark> 2015/01/21 23:40:20.667|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=18635=834=13049=quik52=20150121-13:40:20.66656=StockSharpTS1=8331211=014=037=126680986438=139=040=241=044=475054=155=LNZL59=160=20150121-13:40:30.000150=0151=1207=QJSIM10=043' 2015/01/21 23:40:20.667|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=71035=X34=1049=quik52=20150121-13:40:20.66656=StockSharpMD262=85159581268=10279=1269=0270=4682271=2272=20150121273=13:40:20.662290=0279=1269=0270=4689271=3272=20150121273=13:40:20.662290=1279=1269=0270=4690271=5272=20150121273=13:40:20.662290=2279=1269=0270=4691271=1272=20150121273=13:40:20.662290=3279=1269=0270=4695271=1272=20150121273=13:40:20.662290=4279=1269=0270=4698271=2272=20150121273=13:40:20.662290=5279=1269=0270=4700271=1272=20150121273=13:40:20.662290=6279=1269=0270=4719271=1272=20150121273=13:40:20.662290=7279=1269=0270=4720271=2272=20150121273=13:40:20.662290=8279=1269=0270=4750271=1272=20150121273=13:40:20.662290=910=210' 2015/01/21 23:40:20.661|Debug |QuikTrader|BP:QuoteChange,T(L)=2015.01.21 23:40:20.667,T(S)=2015.01.21 16:40:20.666 <mark>2015/01/21 23:40:20.667|Debug |MQS_LNZL@QJSIM_83312|Правило 'Изменение стакана инструмента LNZL@QJSIM (0x31E27EC)'. Активация.</mark> <mark>2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Цена текущей 4720 и лучшей 4750. 2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Лучший бид 4750 и лучший аск 4858. 2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Котирование заявки 85159582 (0x3E12596) на Buy с ценой 4720 объемом 1. 2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Отмена заявки 85159582 (0x3E12596). 2015/01/21 23:40:20.667| |MQS_LNZL@QJSIM_83312|Отмена заявки 85159582 (0x3E12596).</mark> 2015/01/21 23:40:20.667| |QuikTrader|CancelOrder: 85159582/1266809102 Покупка Цена=4720 Объем=1 Сост=Active Бал=1 2015/01/21 23:40:20.672|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=18635=834=13149=quik52=20150121-13:40:20.67156=StockSharpTS1=8331211=014=037=126680986438=139=040=241=044=475054=155=LNZL59=160=20150121-13:40:30.000150=0151=1207=QJSIM10=040' 2015/01/21 23:40:20.673|Debug |Quik |Sending to 127.0.0.1:5001: 8=FIX.4.49=17535=F34=549=quik52=20150121-13:40:20.67256=StockSharpTS1=8331211=8515958337=126680910238=141=8515958255=LNZL58=Limit60=20150121-23:40:20.672167=CS207=QJSIM461=E10=080 2015/01/21 23:40:21.697|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=97735=X34=1149=quik52=20150121-13:40:21.69556=StockSharpMD262=85159577268=18279=1269=#270=10272=20150121273=23:40:21.692279=1269=b270=4750272=20150121273=23:40:21.692279=1269=n270=1272=20150121273=23:40:21.692279=1269=c270=4858272=20150121273=23:40:21.692279=1269=m270=1272=20150121273=23:40:21.692279=1269=q270=19272=20150121273=23:40:21.692279=1269=r270=19272=20150121273=23:40:21.692279=1269=w270=46272=20150121273=23:40:21.692279=1269=e270=60272=20150121273=23:40:21.692279=1269=4270=4760272=20150121273=23:40:21.692279=1269=8270=4609272=20150121273=23:40:21.692279=1269=7270=4950272=20150121273=23:40:21.692279=1269=5270=3660272=20150121273=23:40:21.692279=1269=p270=4858272=20150121273=23:40:21.692279=1269=v270=1272=20150121273=23:40:21.692279=1269=9270=4763272=20150121273=23:40:21.692279=1269=d270=151272=20150121273=23:40:21.692279=1269=B270=341272=20150121273=23:40:21.69210=061' 2015/01/21 23:40:21.685|Debug |QuikTrader|BP:Level1Change,T(L)=2015.01.21 23:40:21.698,T(S)=2015.01.21 16:40:21.695,Sec=S#:LNZL@QJSIM, Native:,Type:Stock,Changes=[PriceStep, 10],[BestBidPrice, 4750],[BestBidVolume, 1],[BestAskPrice, 4858],[BestAskVolume, 1],[BidsCount, 19],[AsksCount, 19],[BidsVolume, 46],[AsksVolume, 60],[OpenPrice, 4760],[LowPrice, 4609],[HighPrice, 4950],[ClosePrice, 3660],[LastTradePrice, 4858],[LastTradeVolume, 1],[VWAP, 4763],[TradesCount, 151],[Volume, 341] 2015/01/21 23:40:21.701|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=14235=X34=1249=quik52=20150121-13:40:21.70056=StockSharpMD262=85159581268=1279=1269=0270=4720271=1272=20150121273=13:40:21.696290=810=184' 2015/01/21 23:40:21.698|Debug |QuikTrader|BP:QuoteChange,T(L)=2015.01.21 23:40:21.701,T(S)=2015.01.21 16:40:21.700 2015/01/21 23:40:21.701|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=19335=834=13249=quik52=20150121-13:40:21.70056=StockSharpTS1=8331211=014=037=126680910238=139=440=241=8515958244=472054=155=LNZL59=160=20150121-13:39:57.000150=4151=1207=QJSIM10=163' 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Изменение стакана инструмента LNZL@QJSIM (0x31E27EC)'. Активация. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Заявка 85159582 (0x3E12596) в процессе снятия. 2015/01/21 23:40:21.701|Debug |QuikTrader|BP:Execution,T(L)=2015.01.21 23:40:21.701,T(S)=2015.01.21 16:39:57.000,(Order),Sec=S#:LNZL@QJSIM, Native:,Type:,Ord=1266809102/0/85159582,Fail=,TId=0,Pf=83312,TPrice=0,UId= 2015/01/21 23:40:21.701| |QuikTrader|Order changed: 85159582/1266809102 Покупка Цена=4720 Объем=1 Сост=Done Бал=1 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742) OR Полное исполнение 85159582/1266809102 (0x10D5FB2) OR Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Активация. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Заявка 85159582 (0x3E12596) больше не активна. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742) OR Полное исполнение 85159582/1266809102 (0x10D5FB2) OR Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Удаляется. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159582/1266809102 (0x10D5FB2)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742) OR Полное исполнение 85159582/1266809102 (0x10D5FB2) OR Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159582/1266809102 (0x2A4D469)'. Удаляется. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159582/1266809102 (0x2A4D469)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159582/1266809102 (0x2A4D469)'. Удалено. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x283D742) OR Полное исполнение 85159582/1266809102 (0x10D5FB2) OR Ошибка регистрации заявки 85159582/1266809102 (0xEF627A)'. Удаление. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159582/1266809102 (0x2A4D469)'. Удаление. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x26F7D43)'. Активация. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Заявка 85159582 (0x3E12596) была снята. Время снятия 21.01.2015 23:40:21 +10:00. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159582/1266809102 (0x167CEC8)'. Удаляется. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159582/1266809102 (0x167CEC8)'. Освободило ресурсы. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Цена текущей NULL и лучшей 4750. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Лучший бид 4750 и лучший аск 4858. 2015/01/21 23:40:21.701| |MQS_LNZL@QJSIM_83312|Регистрация новой Limit (0x283B9E6) заявки на Buy с ценой 4750 и объемом 1. 2015/01/21 23:40:21.701| |QuikTrader|RegisterOrder: 0/ Покупка Цена=4750 Объем=1 Сост=None Бал=0 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Регистрация заявки 85159585/ (0x90D914)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка регистрации заявки 85159585/ (0x1634BE2)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159585/ (0xA914DB)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Полное исполнение 85159585/ (0x230DF28)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159585/ (0x1480B08)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка регистрации заявки 85159585/ (0x16C5A70)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Ошибка снятия заявки 85159585/ (0x1A0309A)'. Подписалось на события. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x26F7D43)'. Удаляется. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x26F7D43)'. Освободило ресурсы. 2015/01/21 23:40:21.701|Debug |MQS_LNZL@QJSIM_83312|Правило 'Отмена заявки 85159582/1266809102 (0x26F7D43)'. Удаление.
А это поведение, когда заявки после нее убрали, если не считать мою заявку, ей есть куда передвигаться. На картинке видно, что [BestBidPrice, 4750],[BestBidVolume, 1] это моя заявка выставленная MQS, а лучшая цена [BestBidPrice, 4721],[BestBidVolume, 14]
2015/01/21 23:40:39.129|Debug |QuikTrader|<mark>BP:Level1Change,T(L)=2015.01.21 23:40:39.134,T(S)=2015.01.21 16:40:39.132,Sec=S#:LNZL@QJSIM, Native:,Type:Stock,Changes=[PriceStep, 10],[BestBidPrice, 4750],[BestBidVolume, 1],[BestAskPrice, 4858],[BestAskVolume, 1],[BidsCount, 18],[AsksCount, 19],[BidsVolume, 45],[AsksVolume, 60],[OpenPrice, 4760],[LowPrice, 4609],[HighPrice, 4950],[ClosePrice, 3660],[LastTradePrice, 4858],[LastTradeVolume, 1],[VWAP, 4763],[TradesCount, 151],[Volume, 341]</mark> 2015/01/21 23:40:39.142|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=14235=X34=1949=quik52=20150121-13:40:39.14156=StockSharpMD262=85159581268=1279=1269=0270=4750271=1272=20150121273=13:40:39.137290=910=202' 2015/01/21 23:40:39.140|Debug |QuikTrader|BP:QuoteChange,T(L)=2015.01.21 23:40:39.142,T(S)=2015.01.21 16:40:39.141 <mark>2015/01/21 23:40:39.142|Debug |MQS_LNZL@QJSIM_83312|Правило 'Изменение стакана инструмента LNZL@QJSIM (0x31E27EC)'. Активация.</mark> 2015/01/21 23:40:39.240|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=18635=834=15549=quik52=20150121-13:40:39.23856=StockSharpTS1=8331211=014=037=126680986438=139=440=241=044=475054=155=LNZL59=160=20150121-13:40:30.000150=4151=1207=QJSIM10=063' 2015/01/21 23:40:39.249|Debug |Quik |Сессия '#=q6lfbb4h3ENxsMQYxU6M9vubQgYKnsf_o4mdLTJ1QUONE7S4TC9sTg$ICIR4Z2dpZFa6oGgAmOK8bHIYf8ieO1w=='. From server: '8=FIX.4.49=15335=AP34=15649=quik52=20150121-13:40:39.24856=StockSharpTS1=8331255=StockSharpMoney581=3728=0753=2707=SMTM708=297137.13707=CRES708=296915.4610=008' 2015/01/21 23:40:39.239|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.01.21 23:40:39.249,T(S)=2015.01.21 16:40:39.248,P=83312,Changes=[BeginValue, 297137,13],[CurrentValue, 296915,46]
В следствии чего можно предположить, что причиной такого поведения MQS, является то, что MQS лучшей ценой считает свою же заявку. Возможно данные о стакане по какой то причине не доходят до MQS. И она работает по последним сделкам. Такое поведение MQS нельзя считать удовлетворительной. Пробовал делать параметр UseLastTradePrice = false. Не помогает. Стакан зарегистрирован. Это все, что я могу по логам предположить.
По логам мало что понятно. Нужны логи стратегии, а не коннектора.
Перед стартом стратегии
После старта стратегии, MQS выставила заявку на 1227
Появилась заявка выше на 1230, MQS переставила заявку на 1231
Заявка что была на 1230 ушла, заявка MQS осталась на 1231, а должна была откатится 1227

код вызова MQS
Лог стратегии прилагается.
Если унаследоваться от MarketQuotingStrategy и переопределить BestPrice на код аналогичный сорцам на http://stocksharp.codeplex.com/SourceControl/latest#Sources/Algo/Strategies/QuotingStrategy.cs
заявка назад начинает откатывать, правда тоже есть проблемы но уже другого характера.
<mark><u>Смотреть всем!</u></mark>
Михаил, думаю полезно будет выложить актуальные сорцы адаптированны к последней версии S# на github, которые не имеют коммерческой ценности или уже выложены. Стратегии, индикаторы и др., они уже выложены codeplex но слегка устарели. Пользователю будет польза, и к вам меньше вопросов на подобие этого. Народ выскажитесь кто что думает по этому поводу, может коллективом уговорим! 😀
Я предлагаю все же не уходить сильно далеко от логов.
Они приложены. Анализ логов не увидел.
2015/01/24 23:53:08.127|Debug |MS_HALS@QJSIM_83312|Переход из состояния Stopped в Started. 2015/01/24 23:53:08.127| |MS_HALS@QJSIM_83312|Стратегия запущена. [0,-1]. Позиция 0. 2015/01/24 23:53:08.138|Debug |MQS_HALS@QJSIM_83312|Переход из состояния Stopped в Started. 2015/01/24 23:53:08.138| |MQS_HALS@QJSIM_83312|Стратегия запущена. [0,1]. Позиция 0. 2015/01/24 23:53:08.144| |MQS_HALS@QJSIM_83312|Котирование на Buy объема 1. 2015/01/24 23:53:08.144|Debug |MQS_HALS@QJSIM_83312|Приостановка правил. _rulesSuspendCount 1. 2015/01/24 23:53:08.144|Debug |MQS_HALS@QJSIM_83312|Возобновление правил. _rulesSuspendCount 0. 2015/01/24 23:53:08.160| |MQS_HALS@QJSIM_83312|Цена текущей NULL и лучшей 1227. 2015/01/24 23:53:08.160| |MQS_HALS@QJSIM_83312|Лучший бид 1226 и лучший аск 1248. 2015/01/24 23:53:08.160| |MQS_HALS@QJSIM_83312|Регистрация новой Limit (0x1AE41D5) заявки на Buy с ценой 1227 и объемом 1. 2015/01/24 23:53:08.160|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940418/1276155517 (0x42FADC)'. Подписалось на события. 2015/01/24 23:53:08.160|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940418/1276155517 (0x22F83E8)'. Подписалось на события. 2015/01/24 23:53:08.160|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 85940418/1276155517 (0xDE1090)'. Подписалось на события. 2015/01/24 23:53:08.160|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 85940418/1276155517 (0x224C341)'. Подписалось на события. 2015/01/24 23:53:08.160|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x234D49E)'. Подписалось на события. 2015/01/24 23:53:08.160|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940418/1276155517 (0x38A9890)'. Подписалось на события. 2015/01/24 23:53:08.160|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 85940418/1276155517 (0x38695BD)'. Подписалось на события. 2015/01/24 23:53:08.516|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940418/1276155517 (0x42FADC)'. Активация. 2015/01/24 23:53:08.516| |MQS_HALS@QJSIM_83312|Заявка 85940418 (0x1AE41D5) принята биржей. 2015/01/24 23:53:08.516| |MQS_HALS@QJSIM_83312|Сброс счетчика ошибок регистрации с 0 до нуля. 2015/01/24 23:53:08.516|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940418/1276155517 (0x42FADC)'. Удаляется. 2015/01/24 23:53:08.516|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940418/1276155517 (0x42FADC)'. Освободило ресурсы. 2015/01/24 23:53:08.516|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940418/1276155517 (0x22F83E8)'. Удаляется. 2015/01/24 23:53:08.516|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940418/1276155517 (0x22F83E8)'. Освободило ресурсы. 2015/01/24 23:53:08.516|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940418/1276155517 (0x22F83E8)'. Удалено. 2015/01/24 23:53:08.516|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940418/1276155517 (0x42FADC)'. Удаление. 2015/01/24 23:53:08.516|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940418/1276155517 (0x22F83E8)'. Удаление. 2015/01/24 23:53:08.520|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x104A801)'. Активация. <mark>2015/01/24 23:54:06.615|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x104A801)'. Активация. 2015/01/24 23:54:06.615| |MQS_HALS@QJSIM_83312|Цена текущей 1227 и лучшей 1231. 2015/01/24 23:54:06.615| |MQS_HALS@QJSIM_83312|Лучший бид 1230 и лучший аск 1248.</mark> 2015/01/24 23:54:06.615| |MQS_HALS@QJSIM_83312|Котирование заявки 85940418 (0x1AE41D5) на Buy с ценой 1227 объемом 1. 2015/01/24 23:54:06.615| |MQS_HALS@QJSIM_83312|Отмена заявки 85940418 (0x1AE41D5). 2015/01/24 23:54:06.615| |MQS_HALS@QJSIM_83312|Отмена заявки 85940418 (0x1AE41D5). 2015/01/24 23:54:07.494|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x104A801)'. Активация. 2015/01/24 23:54:07.494|Debug |MQS_HALS@QJSIM_83312|Заявка 85940418 (0x1AE41D5) в процессе снятия. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x234D49E) OR Полное исполнение 85940418/1276155517 (0x224C341) OR Ошибка регистрации заявки 85940418/1276155517 (0x38A9890)'. Активация. 2015/01/24 23:54:07.624| |MQS_HALS@QJSIM_83312|Заявка 85940418 (0x1AE41D5) больше не активна. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x234D49E) OR Полное исполнение 85940418/1276155517 (0x224C341) OR Ошибка регистрации заявки 85940418/1276155517 (0x38A9890)'. Удаляется. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x234D49E)'. Освободило ресурсы. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 85940418/1276155517 (0x224C341)'. Освободило ресурсы. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940418/1276155517 (0x38A9890)'. Освободило ресурсы. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x234D49E) OR Полное исполнение 85940418/1276155517 (0x224C341) OR Ошибка регистрации заявки 85940418/1276155517 (0x38A9890)'. Освободило ресурсы. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 85940418/1276155517 (0x38695BD)'. Удаляется. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 85940418/1276155517 (0x38695BD)'. Освободило ресурсы. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 85940418/1276155517 (0x38695BD)'. Удалено. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x234D49E) OR Полное исполнение 85940418/1276155517 (0x224C341) OR Ошибка регистрации заявки 85940418/1276155517 (0x38A9890)'. Удаление. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 85940418/1276155517 (0x38695BD)'. Удаление. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x3944B11)'. Активация. 2015/01/24 23:54:07.624| |MQS_HALS@QJSIM_83312|Заявка 85940418 (0x1AE41D5) была снята. Время снятия 24.01.2015 23:54:07 +10:00. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 85940418/1276155517 (0xDE1090)'. Удаляется. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 85940418/1276155517 (0xDE1090)'. Освободило ресурсы. 2015/01/24 23:54:07.624| |MQS_HALS@QJSIM_83312|Цена текущей NULL и лучшей 1231. 2015/01/24 23:54:07.624| |MQS_HALS@QJSIM_83312|Лучший бид 1230 и лучший аск 1248. 2015/01/24 23:54:07.624| |MQS_HALS@QJSIM_83312|Регистрация новой Limit (0x2771C25) заявки на Buy с ценой 1231 и объемом 1. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940422/ (0x255E315)'. Подписалось на события. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940422/ (0x261B4DF)'. Подписалось на события. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 85940422/ (0x1481936)'. Подписалось на события. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 85940422/ (0x7C38D0)'. Подписалось на события. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940422/ (0x1026A4D)'. Подписалось на события. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940422/ (0x1F3F099)'. Подписалось на события. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 85940422/ (0xF67309)'. Подписалось на события. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x3944B11)'. Удаляется. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x3944B11)'. Освободило ресурсы. 2015/01/24 23:54:07.624|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 85940418/1276155517 (0x3944B11)'. Удаление. 2015/01/24 23:54:08.589|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940422/1276157798 (0x255E315)'. Активация. 2015/01/24 23:54:08.589| |MQS_HALS@QJSIM_83312|Заявка 85940422 (0x2771C25) принята биржей. 2015/01/24 23:54:08.589| |MQS_HALS@QJSIM_83312|Сброс счетчика ошибок регистрации с 0 до нуля. 2015/01/24 23:54:08.589|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940422/1276157798 (0x255E315)'. Удаляется. 2015/01/24 23:54:08.589|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940422/1276157798 (0x255E315)'. Освободило ресурсы. 2015/01/24 23:54:08.589|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940422/1276157798 (0x261B4DF)'. Удаляется. 2015/01/24 23:54:08.589|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940422/1276157798 (0x261B4DF)'. Освободило ресурсы. 2015/01/24 23:54:08.589|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940422/1276157798 (0x261B4DF)'. Удалено. 2015/01/24 23:54:08.589|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 85940422/1276157798 (0x255E315)'. Удаление. 2015/01/24 23:54:08.589|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 85940422/1276157798 (0x261B4DF)'. Удаление. 2015/01/24 23:54:08.591|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x104A801)'. Активация. <mark>2015/01/24 23:54:50.026|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x104A801)'. Активация.</mark>
Первый раз выделено желтым, поведение MQS на появление заявки перед заявкой MQS. При этом изменилась лучшая цена и стакан конечно. Лог это показывает, на это реагирует стратегия. Второй раз выделено желтым, поведение MQS на исчезновение заявки после заявки MQS. При этом изменился стакан, но лучшие цены не изменились. И MQS не реагирует на это изменение, хотя должно.
Вопрос об сорцах не технический, а скорее политический. И вполне подходит для флудилки в телеграмме.
Мне кажется лучше будет не пытаться поскорее написать на форуме, а все же потратить время, проанализировать лог, и уже затем написать на форуме. Вся эта переписка - это переливание из пустого в порожнее.
Сырцы - https://github.com/stocksharp/stocksharp Посмотрим как будет помощь. Будут коммитить - будут и стратегии в том числе. Не будут - ну значит никому особо и не нужно и достаточно бинарников.
Флудить в чате не нужно. Кросс постить так же не нужно. Ну да теперь только форум доступен, поэтому ошибиться сложно.😀
MarketQuotingStrategy все таки работает не верно. Попытаюсь объяснить еще раз. QUIK демо версия 6.16.1.15 качал здесь http://quik.ru/user/client/quik/how-to-start/ Инструмент выбран(security.Code == "HALS") с большим спредом, чтоб можно было переставлять заявки. Пишу 2 лога. В logAll.txt пишу все логи от трейдера и стратегии, в logStratagy.txt только стратегию. Загружаю программу, подключаюсь к QUIK, запускаю стратегию Картинка
Лог стратегии
2015/02/05 01:59:35.800|Debug |MS_HALS@QJSIM_83312|Переход из состояния Stopped в Started. 2015/02/05 01:59:35.800| |MS_HALS@QJSIM_83312|Стратегия запущена. [0,-1]. Позиция 0. 2015/02/05 01:59:35.833|Debug |MQS_HALS@QJSIM_83312|Переход из состояния Stopped в Started. 2015/02/05 01:59:35.833| |MQS_HALS@QJSIM_83312|Стратегия запущена. [0,1]. Позиция 0. 2015/02/05 01:59:35.845| |MQS_HALS@QJSIM_83312|Котирование на Buy объема 1. 2015/02/05 01:59:35.845|Debug |MQS_HALS@QJSIM_83312|Приостановка правил. _rulesSuspendCount 1. 2015/02/05 01:59:35.855|Debug |MQS_HALS@QJSIM_83312|Возобновление правил. _rulesSuspendCount 0. 2015/02/05 01:59:35.866| |MQS_HALS@QJSIM_83312|Цена текущей NULL и лучшей 1257. 2015/02/05 01:59:35.877| |MQS_HALS@QJSIM_83312|Лучший бид 1256 и лучший аск 1272. 2015/02/05 01:59:35.877| |MQS_HALS@QJSIM_83312|Регистрация новой Limit (0x20B53E) заявки на Buy с ценой 1257 и объемом 1. 2015/02/05 01:59:35.877|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170565/ (0x18457EC)'. Подписалось на события. 2015/02/05 01:59:35.877|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170565/ (0xBA3210)'. Подписалось на события. 2015/02/05 01:59:35.877|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 7170565/ (0x2E93C51)'. Подписалось на события. 2015/02/05 01:59:35.877|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 7170565/ (0x1B9DC95)'. Подписалось на события. 2015/02/05 01:59:35.877|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/ (0x19DAFED)'. Подписалось на события. 2015/02/05 01:59:35.877|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170565/ (0x3D22965)'. Подписалось на события. 2015/02/05 01:59:35.877|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 7170565/ (0x1438E14)'. Подписалось на события. 2015/02/05 01:59:36.810|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170565/1311446925 (0x18457EC)'. Активация. 2015/02/05 01:59:36.810| |MQS_HALS@QJSIM_83312|Заявка 7170565 (0x20B53E) принята биржей. 2015/02/05 01:59:36.810| |MQS_HALS@QJSIM_83312|Сброс счетчика ошибок регистрации с 0 до нуля. 2015/02/05 01:59:36.810|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170565/1311446925 (0x18457EC)'. Удаляется. 2015/02/05 01:59:36.810|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170565/1311446925 (0x18457EC)'. Освободило ресурсы. 2015/02/05 01:59:36.810|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170565/1311446925 (0xBA3210)'. Удаляется. 2015/02/05 01:59:36.810|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170565/1311446925 (0xBA3210)'. Освободило ресурсы. 2015/02/05 01:59:36.810|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170565/1311446925 (0xBA3210)'. Удалено. 2015/02/05 01:59:36.810|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170565/1311446925 (0x18457EC)'. Удаление. 2015/02/05 01:59:36.810|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170565/1311446925 (0xBA3210)'. Удаление. 2015/02/05 01:59:36.814|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x2A7C2FD)'. Активация.
Открываю QUIK, выставляю руками заявку на 1260. MQS адекватно реагирует на изменение стакана и переставляет котировку на 1261 Картинка
Лог стратегии
2015/02/05 02:00:16.081|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x2A7C2FD)'. Активация. 2015/02/05 02:00:16.081| |MQS_HALS@QJSIM_83312|Цена текущей 1257 и лучшей 1261. 2015/02/05 02:00:16.081| |MQS_HALS@QJSIM_83312|Лучший бид 1260 и лучший аск 1272. 2015/02/05 02:00:16.081| |MQS_HALS@QJSIM_83312|Котирование заявки 7170565 (0x20B53E) на Buy с ценой 1257 объемом 1. 2015/02/05 02:00:16.081| |MQS_HALS@QJSIM_83312|Отмена заявки 7170565 (0x20B53E). 2015/02/05 02:00:16.081| |MQS_HALS@QJSIM_83312|Отмена заявки 7170565 (0x20B53E). 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x19DAFED) OR Полное исполнение 7170565/1311446925 (0x1B9DC95) OR Ошибка регистрации заявки 7170565/1311446925 (0x3D22965)'. Активация. 2015/02/05 02:00:17.165| |MQS_HALS@QJSIM_83312|Заявка 7170565 (0x20B53E) больше не активна. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x19DAFED) OR Полное исполнение 7170565/1311446925 (0x1B9DC95) OR Ошибка регистрации заявки 7170565/1311446925 (0x3D22965)'. Удаляется. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x19DAFED)'. Освободило ресурсы. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 7170565/1311446925 (0x1B9DC95)'. Освободило ресурсы. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170565/1311446925 (0x3D22965)'. Освободило ресурсы. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x19DAFED) OR Полное исполнение 7170565/1311446925 (0x1B9DC95) OR Ошибка регистрации заявки 7170565/1311446925 (0x3D22965)'. Освободило ресурсы. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 7170565/1311446925 (0x1438E14)'. Удаляется. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 7170565/1311446925 (0x1438E14)'. Освободило ресурсы. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 7170565/1311446925 (0x1438E14)'. Удалено. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x19DAFED) OR Полное исполнение 7170565/1311446925 (0x1B9DC95) OR Ошибка регистрации заявки 7170565/1311446925 (0x3D22965)'. Удаление. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 7170565/1311446925 (0x1438E14)'. Удаление. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x235366B)'. Активация. 2015/02/05 02:00:17.165| |MQS_HALS@QJSIM_83312|Заявка 7170565 (0x20B53E) была снята. Время снятия 05.02.2015 2:00:17 +10:00. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 7170565/1311446925 (0x2E93C51)'. Удаляется. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 7170565/1311446925 (0x2E93C51)'. Освободило ресурсы. 2015/02/05 02:00:17.165| |MQS_HALS@QJSIM_83312|Цена текущей NULL и лучшей 1261. 2015/02/05 02:00:17.165| |MQS_HALS@QJSIM_83312|Лучший бид 1260 и лучший аск 1272. 2015/02/05 02:00:17.165| |MQS_HALS@QJSIM_83312|Регистрация новой Limit (0x14D613B) заявки на Buy с ценой 1261 и объемом 1. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170567/ (0x326B8DE)'. Подписалось на события. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170567/ (0x192F523)'. Подписалось на события. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 7170567/ (0x275DDAE)'. Подписалось на события. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 7170567/ (0x2C4DA13)'. Подписалось на события. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170567/ (0x5FA745)'. Подписалось на события. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170567/ (0x13597F0)'. Подписалось на события. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 7170567/ (0x2EB61ED)'. Подписалось на события. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x235366B)'. Удаляется. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x235366B)'. Освободило ресурсы. 2015/02/05 02:00:17.165|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 7170565/1311446925 (0x235366B)'. Удаление. 2015/02/05 02:00:17.166|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x2A7C2FD)'. Активация. 2015/02/05 02:00:17.166|Debug |MQS_HALS@QJSIM_83312|Заявка 7170567 (0x14D613B) в процессе регистрации. 2015/02/05 02:00:18.153|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x2A7C2FD)'. Активация. 2015/02/05 02:00:18.153|Debug |MQS_HALS@QJSIM_83312|Заявка 7170567 (0x14D613B) в процессе регистрации. 2015/02/05 02:00:18.304|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170567/1311447415 (0x326B8DE)'. Активация. 2015/02/05 02:00:18.304| |MQS_HALS@QJSIM_83312|Заявка 7170567 (0x14D613B) принята биржей. 2015/02/05 02:00:18.304| |MQS_HALS@QJSIM_83312|Сброс счетчика ошибок регистрации с 0 до нуля. 2015/02/05 02:00:18.304|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170567/1311447415 (0x326B8DE)'. Удаляется. 2015/02/05 02:00:18.304|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170567/1311447415 (0x326B8DE)'. Освободило ресурсы. 2015/02/05 02:00:18.304|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170567/1311447415 (0x192F523)'. Удаляется. 2015/02/05 02:00:18.304|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170567/1311447415 (0x192F523)'. Освободило ресурсы. 2015/02/05 02:00:18.304|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170567/1311447415 (0x192F523)'. Удалено. 2015/02/05 02:00:18.304|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 7170567/1311447415 (0x326B8DE)'. Удаление. 2015/02/05 02:00:18.304|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 7170567/1311447415 (0x192F523)'. Удаление.
Удаляю выставленную руками заявку на 1260, <mark>для MQS лучшей заявкой должна стать 1256. И MQS должна передвинуть заявку на 1257.</mark>
Лог стратегии
2015/02/05 02:01:01.885|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x2A7C2FD)'. Активация.
Лог стратегии + трейдер
2015/02/05 02:00:33.167|Debug |Quik |Sending to 127.0.0.1:5001: 8=FIX.4.49=6435=134=749=quik52=20150204-16:00:33.16656=StockSharpTS112=10=010 2015/02/05 02:00:33.168|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=6535=034=7649=quik52=20150204-16:00:33.16756=StockSharpTS112=10=065' 2015/02/05 02:00:33.836|Debug |Quik |Sending to 127.0.0.1:5001: 8=FIX.4.49=6435=134=749=quik52=20150204-16:00:33.83756=StockSharpMD112=10=249 2015/02/05 02:00:33.838|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=6535=034=1449=quik52=20150204-16:00:33.83856=StockSharpMD112=10=040' 2015/02/05 02:01:01.876|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=97835=X34=1549=quik52=20150204-16:01:01.87456=StockSharpMD262=7170559268=18279=1269=#270=1272=20150205273=02:01:01.874279=1269=b270=1261272=20150205273=02:01:01.874279=1269=n270=1272=20150205273=02:01:01.874279=1269=c270=1272272=20150205273=02:01:01.874279=1269=m270=2272=20150205273=02:01:01.874279=1269=q270=19272=20150205273=02:01:01.874279=1269=r270=19272=20150205273=02:01:01.874279=1269=w270=341272=20150205273=02:01:01.874279=1269=e270=275272=20150205273=02:01:01.874279=1269=4270=1268272=20150205273=02:01:01.874279=1269=8270=1255272=20150205273=02:01:01.874279=1269=7270=1281272=20150205273=02:01:01.874279=1269=5270=1540272=20150205273=02:01:01.874279=1269=p270=1271272=20150205273=02:01:01.874279=1269=v270=6272=20150205273=02:01:01.874279=1269=9270=1271272=20150205273=02:01:01.874279=1269=d270=120272=20150205273=02:01:01.874279=1269=B270=1504272=20150205273=02:01:01.87410=253' 2015/02/05 02:01:01.866|Debug |QuikTrader|BP:Level1Change,T(L)=2015.02.05 02:01:01.876,T(S)=2015.02.04 19:01:01.874,Sec=S#:HALS@QJSIM, Native:,Type:Stock,Changes=[PriceStep, 1],[BestBidPrice, 1261],[BestBidVolume, 1],[BestAskPrice, 1272],[BestAskVolume, 2],[BidsCount, 19],[AsksCount, 19],[BidsVolume, 341],[AsksVolume, 275],[OpenPrice, 1268],[LowPrice, 1255],[HighPrice, 1281],[ClosePrice, 1540],[LastTradePrice, 1271],[LastTradeVolume, 6],[VWAP, 1271],[TradesCount, 120],[Volume, 1504] 2015/02/05 02:01:01.885|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=15935=X34=1649=quik52=20150204-16:01:01.88456=StockSharpMD262=7170560268=2279=1269=0270=1261271=1272=20150204273=16:01:01.885290=6279=2269=0290=710=190' 2015/02/05 02:01:01.885|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=18535=834=7749=quik52=20150204-16:01:01.88556=StockSharpTS1=8331211=014=037=131144737938=139=440=241=044=126054=155=HALS59=160=20150204-16:00:09.000150=4151=1207=QJSIM10=238' 2015/02/05 02:01:01.877|Debug |QuikTrader|BP:QuoteChange,T(L)=2015.02.05 02:01:01.885,T(S)=2015.02.04 19:01:01.884 2015/02/05 02:01:01.885|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x2A7C2FD)'. Активация. 2015/02/05 02:01:01.905|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=15235=AP34=7849=quik52=20150204-16:01:01.90456=StockSharpTS1=8331255=StockSharpMoney581=3728=0753=2707=SMTM708=294422.58707=CRES708=294153.5810=206' 2015/02/05 02:01:01.899|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.02.05 02:01:01.905,T(S)=2015.02.04 19:01:01.904,P=83312,Changes=[BeginValue, 294422,58],[CurrentValue, 294153,58] 2015/02/05 02:01:01.905|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=15235=AP34=7949=quik52=20150204-16:01:01.90556=StockSharpTS1=8331255=StockSharpMoney581=3728=0753=2707=SMTM708=294422.58707=CRES708=294153.5810=208' 2015/02/05 02:01:01.905|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.02.05 02:01:01.905,T(S)=2015.02.04 19:01:01.905,P=83312,Changes=[BeginValue, 294422,58],[CurrentValue, 294153,58] 2015/02/05 02:01:01.906|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=10035=AP34=8049=quik52=20150204-16:01:01.90556=StockSharpTS1=8331255=StockSharpMoney581=3728=010=045' 2015/02/05 02:01:01.905|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.02.05 02:01:01.906,T(S)=2015.02.04 19:01:01.905,P=83312,Changes= 2015/02/05 02:01:01.906|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=10035=AP34=8149=quik52=20150204-16:01:01.90556=StockSharpTS1=8331255=StockSharpMoney581=3728=010=046' 2015/02/05 02:01:01.906|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.02.05 02:01:01.906,T(S)=2015.02.04 19:01:01.905,P=83312,Changes= 2015/02/05 02:01:01.906|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=15235=AP34=8249=quik52=20150204-16:01:01.90556=StockSharpTS1=8331255=HALS167=CS207=581=3660=0728=0702=2703=SOD704=1706=1703=EP704=1706=110=007' 2015/02/05 02:01:01.906|Debug |QuikTrader|BP:Position,T(L)=2015.02.05 02:01:01.906,Sec=S#:HALS@, Native:,Type:Stock,P=83312 2015/02/05 02:01:01.907|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=15235=AP34=8349=quik52=20150204-16:01:01.90556=StockSharpTS1=8331255=HALS167=CS207=581=3660=0728=0702=2703=SOD704=1706=1703=EP704=1706=110=008' 2015/02/05 02:01:01.906|Debug |QuikTrader|BP:PositionChange,T(L)=2015.02.05 02:01:01.906,T(S)=2015.02.04 19:01:01.905,Sec=S#:HALS@, Native:,Type:Stock,P=83312,Changes=[BeginValue, 1] 2015/02/05 02:01:01.906|Debug |QuikTrader|BP:PositionChange,T(L)=2015.02.05 02:01:01.906,T(S)=2015.02.04 19:01:01.905,Sec=S#:HALS@, Native:,Type:Stock,P=83312,Changes=[CurrentValue, 1] 2015/02/05 02:01:01.906|Debug |QuikTrader|BP:Position,T(L)=2015.02.05 02:01:01.907,Sec=S#:HALS@, Native:,Type:Stock,P=83312 2015/02/05 02:01:01.907|Debug |QuikTrader|BP:PositionChange,T(L)=2015.02.05 02:01:01.907,T(S)=2015.02.04 19:01:01.905,Sec=S#:HALS@, Native:,Type:Stock,P=83312,Changes=[BeginValue, 1] 2015/02/05 02:01:01.907|Debug |QuikTrader|BP:PositionChange,T(L)=2015.02.05 02:01:01.907,T(S)=2015.02.04 19:01:01.905,Sec=S#:HALS@, Native:,Type:Stock,P=83312,Changes=[CurrentValue, 1]
Выставил руками еще одну заявку на 1258, на это раз лучшей ценой для MQS должна стать 1258. И соответственно переставить заявку на 1259.
Лог стратегии
2015/02/05 02:02:21.784|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x2A7C2FD)'. Активация.
Лог стратегии + трейдер
2015/02/05 02:02:20.860|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=15235=AP34=8549=quik52=20150204-16:02:20.85956=StockSharpTS1=8331255=StockSharpMoney581=3728=0753=2707=SMTM708=294422.58707=CRES708=294153.5810=215' 2015/02/05 02:02:20.848|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.02.05 02:02:20.860,T(S)=2015.02.04 19:02:20.859,P=83312,Changes=[BeginValue, 294422,58],[CurrentValue, 294153,58] 2015/02/05 02:02:20.860|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=15235=AP34=8649=quik52=20150204-16:02:20.85956=StockSharpTS1=8331255=StockSharpMoney581=3728=0753=2707=SMTM708=294422.58707=CRES708=294153.5810=216' 2015/02/05 02:02:20.860|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.02.05 02:02:20.860,T(S)=2015.02.04 19:02:20.859,P=83312,Changes=[BeginValue, 294422,58],[CurrentValue, 294153,58] 2015/02/05 02:02:20.860|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=10035=AP34=8749=quik52=20150204-16:02:20.85956=StockSharpTS1=8331255=StockSharpMoney581=3728=010=062' 2015/02/05 02:02:20.860|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.02.05 02:02:20.860,T(S)=2015.02.04 19:02:20.859,P=83312,Changes= 2015/02/05 02:02:20.860|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=10035=AP34=8849=quik52=20150204-16:02:20.85956=StockSharpTS1=8331255=StockSharpMoney581=3728=010=063' 2015/02/05 02:02:20.860|Debug |QuikTrader|BP:PortfolioChange,T(L)=2015.02.05 02:02:20.860,T(S)=2015.02.04 19:02:20.859,P=83312,Changes= 2015/02/05 02:02:20.861|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=15235=AP34=8949=quik52=20150204-16:02:20.86056=StockSharpTS1=8331255=HALS167=CS207=581=3660=0728=0702=2703=SOD704=1706=1703=EP704=1706=110=016' 2015/02/05 02:02:20.860|Debug |QuikTrader|BP:Position,T(L)=2015.02.05 02:02:20.861,Sec=S#:HALS@, Native:,Type:Stock,P=83312 2015/02/05 02:02:20.861|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=15235=AP34=9049=quik52=20150204-16:02:20.86056=StockSharpTS1=8331255=HALS167=CS207=581=3660=0728=0702=2703=SOD704=1706=1703=EP704=1706=110=008' 2015/02/05 02:02:20.861|Debug |QuikTrader|BP:PositionChange,T(L)=2015.02.05 02:02:20.861,T(S)=2015.02.04 19:02:20.860,Sec=S#:HALS@, Native:,Type:Stock,P=83312,Changes=[BeginValue, 1] 2015/02/05 02:02:20.861|Debug |QuikTrader|BP:PositionChange,T(L)=2015.02.05 02:02:20.861,T(S)=2015.02.04 19:02:20.860,Sec=S#:HALS@, Native:,Type:Stock,P=83312,Changes=[CurrentValue, 1] 2015/02/05 02:02:20.861|Debug |QuikTrader|BP:Position,T(L)=2015.02.05 02:02:20.861,Sec=S#:HALS@, Native:,Type:Stock,P=83312 2015/02/05 02:02:20.861|Debug |QuikTrader|BP:PositionChange,T(L)=2015.02.05 02:02:20.861,T(S)=2015.02.04 19:02:20.860,Sec=S#:HALS@, Native:,Type:Stock,P=83312,Changes=[BeginValue, 1] 2015/02/05 02:02:20.861|Debug |QuikTrader|BP:PositionChange,T(L)=2015.02.05 02:02:20.861,T(S)=2015.02.04 19:02:20.860,Sec=S#:HALS@, Native:,Type:Stock,P=83312,Changes=[CurrentValue, 1] 2015/02/05 02:02:21.750|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=97835=X34=1849=quik52=20150204-16:02:21.74656=StockSharpMD262=7170559268=18279=1269=#270=1272=20150205273=02:02:21.746279=1269=b270=1261272=20150205273=02:02:21.746279=1269=n270=1272=20150205273=02:02:21.746279=1269=c270=1272272=20150205273=02:02:21.746279=1269=m270=2272=20150205273=02:02:21.746279=1269=q270=20272=20150205273=02:02:21.746279=1269=r270=19272=20150205273=02:02:21.746279=1269=w270=342272=20150205273=02:02:21.746279=1269=e270=275272=20150205273=02:02:21.746279=1269=4270=1268272=20150205273=02:02:21.746279=1269=8270=1255272=20150205273=02:02:21.746279=1269=7270=1281272=20150205273=02:02:21.746279=1269=5270=1540272=20150205273=02:02:21.746279=1269=p270=1271272=20150205273=02:02:21.746279=1269=v270=6272=20150205273=02:02:21.746279=1269=9270=1271272=20150205273=02:02:21.746279=1269=d270=120272=20150205273=02:02:21.746279=1269=B270=1504272=20150205273=02:02:21.74610=012' 2015/02/05 02:02:21.740|Debug |QuikTrader|BP:Level1Change,T(L)=2015.02.05 02:02:21.750,T(S)=2015.02.04 19:02:21.746,Sec=S#:HALS@QJSIM, Native:,Type:Stock,Changes=[PriceStep, 1],[BestBidPrice, 1261],[BestBidVolume, 1],[BestAskPrice, 1272],[BestAskVolume, 2],[BidsCount, 20],[AsksCount, 19],[BidsVolume, 342],[AsksVolume, 275],[OpenPrice, 1268],[LowPrice, 1255],[HighPrice, 1281],[ClosePrice, 1540],[LastTradePrice, 1271],[LastTradeVolume, 6],[VWAP, 1271],[TradesCount, 120],[Volume, 1504] 2015/02/05 02:02:21.783|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=20435=X34=1949=quik52=20150204-16:02:21.78256=StockSharpMD262=7170560268=2279=1269=0270=1258271=1272=20150204273=16:02:21.782290=6279=0269=0270=1261271=1272=20150204273=16:02:21.782290=710=021' 2015/02/05 02:02:21.784|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=18535=834=9149=quik52=20150204-16:02:21.78256=StockSharpTS1=8331211=014=037=131145120238=139=040=241=044=125854=155=HALS59=160=20150204-16:02:14.000150=0151=1207=QJSIM10=210' 2015/02/05 02:02:21.773|Debug |QuikTrader|BP:QuoteChange,T(L)=2015.02.05 02:02:21.784,T(S)=2015.02.04 19:02:21.782 2015/02/05 02:02:21.784|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x2A7C2FD)'. Активация. 2015/02/05 02:02:21.810|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=18535=834=9249=quik52=20150204-16:02:21.80856=StockSharpTS1=8331211=014=037=131145120238=139=040=241=044=125854=155=HALS59=160=20150204-16:02:14.000150=0151=1207=QJSIM10=210' 2015/02/05 02:02:33.182|Debug |Quik |Sending to 127.0.0.1:5001: 8=FIX.4.49=6435=134=949=quik52=20150204-16:02:33.18256=StockSharpTS112=10=012 2015/02/05 02:02:33.183|Debug |Quik |Сессия '#=qVyGhHttEnHGGbW_wja2i9BNjOEwPJsLu$vwSGiLBP17PeSKIquYRv72sDBwitqdyXNyjAAj9dkQTB7QmjGgSqQ=='. From server: '8=FIX.4.49=6535=034=9349=quik52=20150204-16:02:33.18256=StockSharpTS112=10=063' 2015/02/05 02:02:33.852|Debug |Quik |Sending to 127.0.0.1:5001: 8=FIX.4.49=6435=134=949=quik52=20150204-16:02:33.85256=StockSharpMD112=10=250 2015/02/05 02:02:33.852|Debug |Quik |Сессия 'StockSharp.Fix.FixMessageAdapter'. From server: '8=FIX.4.49=6535=034=2049=quik52=20150204-16:02:33.85256=StockSharpMD112=10=035' 2015/02/05 02:03:20.150| |QuikTrader|StopExport 2015/02/05 02:03:20.161|Debug |QuikTrader|BP:MarketData,T(L)=2015.02.05 02:03:20.160,Sec=S#:HALS@QJSIM, Native:,Type:Stock,Sec=S#:HALS@QJSIM, Native:,Type:Stock,Types=Level1,IsSubscribe=False,TransId=7170574,OrigId=7170574 2015/02/05 02:03:20.160|Debug |QuikTrader|BP:MarketData,T(L)=2015.02.05 02:03:20.160,Sec=S#:HALS@EQRP_INFO, Native:,Type:Index,Sec=S#:HALS@EQRP_INFO, Native:,Type:Index,Types=Level1,IsSubscribe=False,TransId=7170575,OrigId=7170575 2015/02/05 02:03:20.160|Debug |QuikTrader|BP:MarketData,T(L)=2015.02.05 02:03:20.161,Sec=S#:HALS@EQRP_INFO, Native:,Type:Index,Sec=S#:HALS@EQRP_INFO, Native:,Type:Index,Types=MarketDepth,IsSubscribe=False,TransId=7170577,OrigId=7170577 2015/02/05 02:03:20.161|Debug |QuikTrader|BP:Disconnect,T(L)=2015.02.05 02:03:20.167 2015/02/05 02:03:20.167| |QuikTrader|Disconnect 2015/02/05 02:03:20.167|Debug |QuikTrader|BP:Disconnect,T(L)=2015.02.05 02:03:20.177
Лог стратегии не обрезан. Стратеги просто ничего не делает. Прикрепляю логи, и стратегию. Если MarketQuotingStrategy скопировать здесь http://stocksharp.codeplex.com/SourceControl/latest#Sources/Algo/Strategies/MarketQuotingStrategy.cs адаптировать под последнюю версию S#. То проблема уходит.
Давайте еще раз. Покажите где в логе ошибка. Смотреть тонну логов ради непонятной ошибки (есть она или нет) нет возможности. Поберетиге наше время, потратьте пару дней на анализ лога и выложите его с комментариями.
Ошибка в QuotingStrategy.cs свойство BestPrice
Михаил, MQS считает свою заявку лучшей, поэтому не откатывает эту заявку "назад" к краю спреда в стакане.
В текущем варианте в лог стратегии пишет так
2015/02/05 21:37:54.294|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x3B3F729)'. Активация.
А должен написать так, именно так пишет вариант MQS с codeplex.
2015/02/05 21:37:54.294|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x3B3F729)'. Активация. <mark>2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Цена текущей 1281 и лучшей 1278. 2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Лучший бид 1281 и лучший аск 1289. 2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Котирование заявки 77834723 (0x2641245) на Buy с ценой 1281 объемом 1. 2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Отмена заявки 77834723 (0x2641245). 2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Отмена заявки 77834723 (0x2641245). 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x3B3F729)'. Активация. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Заявка 77834723 (0x2641245) в процессе снятия. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x93F380) OR Полное исполнение 77834723/1313753722 (0x272F5DD) OR Ошибка регистрации заявки 77834723/1313753722 (0x803D92)'. Активация. 2015/02/05 21:37:55.298| |MQS_HALS@QJSIM_83312|Заявка 77834723 (0x2641245) больше не активна. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x93F380) OR Полное исполнение 77834723/1313753722 (0x272F5DD) OR Ошибка регистрации заявки 77834723/1313753722 (0x803D92)'. Удаляется. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x93F380)'. Освободило ресурсы. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 77834723/1313753722 (0x272F5DD)'. Освободило ресурсы. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 77834723/1313753722 (0x803D92)'. Освободило ресурсы. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x93F380) OR Полное исполнение 77834723/1313753722 (0x272F5DD) OR Ошибка регистрации заявки 77834723/1313753722 (0x803D92)'. Освободило ресурсы. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 77834723/1313753722 (0x82D4D)'. Удаляется. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 77834723/1313753722 (0x82D4D)'. Освободило ресурсы. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 77834723/1313753722 (0x82D4D)'. Удалено. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x93F380) OR Полное исполнение 77834723/1313753722 (0x272F5DD) OR Ошибка регистрации заявки 77834723/1313753722 (0x803D92)'. Удаление. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 77834723/1313753722 (0x82D4D)'. Удаление. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x3BCB43A)'. Активация. 2015/02/05 21:37:55.298| |MQS_HALS@QJSIM_83312|Заявка 77834723 (0x2641245) была снята. Время снятия 05.02.2015 21:37:55 +10:00. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 77834723/1313753722 (0x1150082)'. Удаляется. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 77834723/1313753722 (0x1150082)'. Освободило ресурсы. 2015/02/05 21:37:55.298| |MQS_HALS@QJSIM_83312|Цена текущей NULL и лучшей 1278. 2015/02/05 21:37:55.298| |MQS_HALS@QJSIM_83312|Лучший бид 1277 и лучший аск 1289. 2015/02/05 21:37:55.298| |MQS_HALS@QJSIM_83312|Регистрация новой Limit (0x18139C6) заявки на Buy с ценой 1278 и объемом 1. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Регистрация заявки 77834725/ (0x13E5E94)'. Подписалось на события. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 77834725/ (0xF67D5)'. Подписалось на события. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 77834725/ (0x30A74B2)'. Подписалось на события. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Полное исполнение 77834725/ (0x2EA8E5E)'. Подписалось на события. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834725/ (0x3E1456B)'. Подписалось на события. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка регистрации заявки 77834725/ (0x1CC0C92)'. Подписалось на события. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Ошибка снятия заявки 77834725/ (0x21A21E3)'. Подписалось на события. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x3BCB43A)'. Удаляется. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x3BCB43A)'. Освободило ресурсы. 2015/02/05 21:37:55.298|Debug |MQS_HALS@QJSIM_83312|Правило 'Отмена заявки 77834723/1313753722 (0x3BCB43A)'. Удаление.</mark>
Думаю что вы не правы. Котирование как раз реагирует на изменение стакана.
2015/02/05 21:37:54.294|Debug |MQS_HALS@QJSIM_83312|Правило 'Изменение стакана инструмента HALS@QJSIM (0x3B3F729)'. Активация.
Только она не видит, что изменилась лучшая цена, и поэтому ничего не делает.
А должна написать (должна но не пишет и не делает), что лучшая цена изменилась
2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Цена текущей 1281 и лучшей 1278. 2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Лучший бид 1281 и лучший аск 1289.
поэтому начинаю котирование
2015/02/05 21:37:54.294| |MQS_HALS@QJSIM_83312|Котирование заявки 77834723 (0x2641245) на Buy с ценой 1281 объемом 1.
RomSunZ все верно сказал,
if (Direction == Sides.Buy) { if(CurrentOrder.Price > Price) return CurrentOrder.Price; }
Почти на всех стратегиях котирования наблюдалась выше описанная проблема. Проблему поправил, проверил на учебном Квике, выложил стратегии ВКонтакте http://vk.com/docs?oid=-66650972
А что делает метод BestPriceAddPriceStep? У него такое описание, что то ли половина слов пропало, то ли запятые не выставлены:
Свойство. Упс.
Если покупка BestPriceAddPriceStep=BestPrice+PriceStep если продажа BestPriceAddPriceStep=BestPrice-PriceStep
Я C# изучал на курсах у S#. Код рабочий, но он может быть не изящный как у тру програмистов.
Я можно теперь своими словами сказать зачем нужен этот сдвиг?
А это условие зачем? Если у нас заявка попадает в приемлемый диапазон, то ведь это еще не значит, что ее не надо изменить (улучшить цену).
В BestByVolumeQuotingStrategy когда у лучшей заявки объем больше, чем суммарный который может стоять перед заявкой VolumeExchange. То заявку следует выставить перед этим объемом, то есть на 1 PriceStep лучше лучшей цены.
если можно улучшить значит не должна попадать в приемлемый диапазон. На практике проверил, если можно улучшить она ее улучшает.
Перезалил в группе архив со стратегиями. Что сделано:
Проверите? Чтобы выложить это уже на ГитХаб.
Проверил. MarketQuotingStrategy также не откатывает на лучшую цену. при параметре ```csharp PriceOffset = Security.PriceStep,
Сырцы теперь есть. Предлагаю сразу обсуждать строчки кода, а не что-то абстрактное.
По стратегиям из последней версии BestByPriceQuotingStrategy и MarketQuotingStrategy Так как MarketQuotingStrategy унаследована от BestByPriceQuotingStrategy, метод NeedQuoting у них общий. Проблема с тем, что заявка не откатывается у них общая
Можно вылечить так
В таком случае, заявка будет всегда переставляться на параметры заданные стратегией. Кроме случая если она уже стоит на нужной цене. Изучив код подробней этих стратегий, понял что мое представление о том как они должны работать не совпадают с реализованным.
В моем представлении, если взять для примера BestByPriceQuotingStrategy, то стратегия должна выставлять заявку на лучшую цену(на то это и <mark>BestByPrice</mark>QuotingStrategy). Но если заявка уйдет от BestPrice на значение меньшее чем BestPriceOffset то переставляться не будет.
В общем мне кажется BestPriceOffset сейчас работает не так как надо, а GetAcceptablePriceRange() все таки нужный метод, по крайней мере для BestByPriceQuotingStrategy. Править?
В BestByVolumeQuotingStrategy я исправил один метод NeedQuoting. В коде постарался пояснения написать по подробнее. Протестировал, стратегия работает, выложил в ВК.
По BestByPrice. Залил исправленное. Просьба проверить.
По BestByVolume. Ничего не понял. Лучше не пытаться исправлять код. Лучше написать что с ним не так. Потому что сечас код написан неправильно с точки зрения S#.
Что вы паритесь? GetAcceptablePriceRange:
Цикл можете убрать. Для меня было интересно, чтобы отступ был рассчитан исходя из уровней стакана, а не тупой дельты от лучшей цены.
P.S. Возможно придется также изменить NeedQuoting:
Все это уже было и даже работало😀
А в версии 65 была изменена логика QuotingStrategy? У меня код:
при построении проекта начал выдавать ошибку "не найден метод, пригодный для переопределения"...
В версии 4.2.66 проблема осталась. Доступ к переопределению GetAcceptablePriceRange будет, или нужно переделывать логику своего робота?
Второе.
Коннектор Quik Lua, АПИ 4.2.68. В стратегии QuotingStrategy если котируемая заявка была снята в ручную или системой (например на вечернем клиринге), то стратегия никак не отрабатывает этот момент. В логе по этой заявке только такие строки:
Судя по коду на кодплексе проблема в том, что
_order.WhenCanceled() не срабатывает, т.к. ордер УЖЕ отменен до того, как подписались на это событие. Думаю, нужно добавить проверку типа _order.State==OrderStates.Active. Если да, то выполнить выше приведенную ветку, если нет и орден не NULL и состояние стратегии Active, то вызвать ProcessQuoting, либо в конце процедуры ProcessQuoting делать проверку