Ошибка при котировании в SampleHistoryTesting

Ошибка при котировании в SampleHistoryTesting
Atom
12.10.2012
RomSunZ


В примере SampleHistoryTesting вываливаются ошибки при запуске каждой дочерней стратегии на котирование, которых при работе Quik SampleSMA нет: [code=csharp] 2009.05.31 20:00:00.000| |SS_RIU9@RTS_test account|Стратегия запущена. 2009.06.02 06:40:00.970| |MQS_RIU9@RTS_test account|Стратегия запущена. 2009.06.02 06:40:00.970| |MQS_RIU9@RTS_test account|Котирование на Sell объема 1. 2009.06.02 06:40:00.970| |MQS_RIU9@RTS_test account|Приостановка правил. _rulesSuspendCount 1. 2009.06.02 06:40:00.970| |MQS_RIU9@RTS_test account|Возобновление правил. rulesSuspendCount 0. 2009.06.02 06:40:00.970| |MQS_RIU9@RTS_test account|Цена текущей NULL и лучшей 116155. 2009.06.02 06:40:00.970| |MQS_RIU9@RTS_test account|Лучший бид NULL и лучший аск NULL. 2009.06.02 06:40:00.970| |MQS_RIU9@RTS_test account|Регистрация новой заявки на Sell с ценой 116155 и объемом 1. 2009.06.02 06:40:00.970| |MQS_RIU9@RTS_test account|Заявка 80254917 на Sell отправлена с ценой 116155 объемом 1. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Заявка 80254917 принята биржей. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Цена текущей 116155 и лучшей 116000. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Лучший бид NULL и лучший аск NULL. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Котирование заявки 80254917 на Sell с ценой 116155 объемом 1. 2009.06.02 06:40:01.737|Error |MQS_RIU9@RTS_test account|Заявка 0 не была принята по причине System.ArgumentException: Заявка уже имеет номер '1'. Возможно, она уже была зарегистрирована. Имя параметра: order в StockSharp.Algo.Testing.MarketEmulator.ReRegisterOrder(Order order, Order newOrder) в StockSharp.Algo.Testing.EmulationTrader.OnReRegisterOrder(Order oldOrder, Order newOrder) в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder). 2009.06.02 06:40:01.737|Error |MQS_RIU9@RTS_test account|System.ArgumentException: Заявка уже имеет номер '1'. Возможно, она уже была зарегистрирована. Имя параметра: order в StockSharp.Algo.Testing.MarketEmulator.ReRegisterOrder(Order order, Order newOrder) в StockSharp.Algo.Testing.EmulationTrader.OnReRegisterOrder(Order oldOrder, Order newOrder) в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder) в StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder) в StockSharp.Algo.Strategies.QuotingStrategy.ProcessQuoting() в StockSharp.Algo.Strategies.QuotingStrategy.#=ql8FZcZl1VhoSfxj6bxBSmoDgJ6B2gT6ImGejxU1jvuQ=(Order #=qP5IG1jy682SV9oLq5xh5xw==) в StockSharp.Algo.MarketRule2.#=qD2pySzb7SwcKqbf509xbCf4ETRnYzZpS8F4NvKjD1Cg=() в StockSharp.Algo.MarketRuleHelper.#=qQ813stF5rdU7vR12V$ax_w==(IMarketRuleContainer #=qrcq1peQJX8wVd5bucjdK5Q==, IMarketRule #=qhASjoS2d0T$yCziW8qaZow==, Func1 #=qarKRLFkIjTz$sLdPcQaF4w==) в StockSharp.Algo.Strategies.Strategy.#=qcUFLS8UKZFDgbx2X3BZSfEUGq5pxvIDpIdlvrsG_Q6JT74bgQBqKgNKlz2z$METWffqXRfxwWIOkgvRG3QAtg==(IMarketRule #=qB7ROmUjGdaG1jUWU0vPRbA==, Func1 #=qVPSEf_woMd2b0g2sKq7R1w==) 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Стратегия останавливается. 2009.06.02 06:40:01.737|Warning|MQS_RIU9@RTS_test account|Заканчиваем котирование с неисполненным объемом равный 1. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Ожидание снятия всех активных заявок. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Отмена заявки 80254917. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Заявка 80254917 больше не активна. 2009.06.02 06:40:01.737| |MQS_RIU9@RTS_test account|Стратегия остановлена. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Стратегия запущена. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Котирование на Buy объема 1. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Приостановка правил. _rulesSuspendCount 1. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Возобновление правил. _rulesSuspendCount 0. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Цена текущей NULL и лучшей 119500. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Лучший бид NULL и лучший аск NULL. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Регистрация новой заявки на Buy с ценой 119500 и объемом 1. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Заявка 80254918 на Buy отправлена с ценой 119500 объемом 1. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Заявка 80254918 принята биржей. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Цена текущей 119500 и лучшей 119800. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Лучший бид NULL и лучший аск NULL. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Котирование заявки 80254918 на Buy с ценой 119500 объемом 1. 2009.06.02 10:26:03.077|Error |MQS_RIU9@RTS_test account|Заявка 0 не была принята по причине System.ArgumentException: Заявка уже имеет номер '2'. Возможно, она уже была зарегистрирована. Имя параметра: order в StockSharp.Algo.Testing.MarketEmulator.ReRegisterOrder(Order order, Order newOrder) в StockSharp.Algo.Testing.EmulationTrader.OnReRegisterOrder(Order oldOrder, Order newOrder) в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder). 2009.06.02 10:26:03.077|Error |MQS_RIU9@RTS_test account|System.ArgumentException: Заявка уже имеет номер '2'. Возможно, она уже была зарегистрирована. Имя параметра: order в StockSharp.Algo.Testing.MarketEmulator.ReRegisterOrder(Order order, Order newOrder) в StockSharp.Algo.Testing.EmulationTrader.OnReRegisterOrder(Order oldOrder, Order newOrder) в StockSharp.Algo.BaseTrader.ReRegisterOrder(Order oldOrder, Order newOrder) в StockSharp.Algo.Strategies.Strategy.ReRegisterOrder(Order oldOrder, Order newOrder) в StockSharp.Algo.Strategies.QuotingStrategy.ProcessQuoting() в StockSharp.Algo.Strategies.QuotingStrategy.#=ql8FZcZl1VhoSfxj6bxBSmoDgJ6B2gT6ImGejxU1jvuQ=(Order #=qP5IG1jy682SV9oLq5xh5xw==) в StockSharp.Algo.MarketRule2.#=qD2pySzb7SwcKqbf509xbCf4ETRnYzZpS8F4NvKjD1Cg=() в StockSharp.Algo.MarketRuleHelper.#=qQ813stF5rdU7vR12V$ax_w==(IMarketRuleContainer #=qrcq1peQJX8wVd5bucjdK5Q==, IMarketRule #=qhASjoS2d0T$yCziW8qaZow==, Func1 #=qarKRLFkIjTz$sLdPcQaF4w==) в StockSharp.Algo.Strategies.Strategy.#=qcUFLS8UKZFDgbx2X3BZSfEUGq5pxvIDpIdlvrsG_Q6JT74bgQBqKgNKlz2z_$METWffqXRfxwWIOkgvRG3QAtg==(IMarketRule #=qB7ROmUjGdaG1jUWU0vPRbA==, Func1 #=qVPSEf_woMd2b0g2sKq7R1w==) 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Стратегия останавливается. 2009.06.02 10:26:03.077|Warning|MQS_RIU9@RTS_test account|Заканчиваем котирование с неисполненным объемом равный 1. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Ожидание снятия всех активных заявок. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Отмена заявки 80254918. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Заявка 80254918 больше не активна. 2009.06.02 10:26:03.077| |MQS_RIU9@RTS_test account|Стратегия остановлена.

[/code]

С чем это может быть связано?

С Уважением, Роман




Спасибо:


Liberal

Фотография
Дата: 13.10.2012
Ответить


[quote=RomSunZ;21791]В примере SampleHistoryTesting вываливаются ошибки при запуске каждой дочерней стратегии на котирование, которых при работе Quik SampleSMA нет С чем это может быть связано?

С Уважением, Роман[/quote]

У Вас, наверное, версия 4.1.4? В этой версии функция ReRegisterOrder (а именно эту функцию использует стратегия котирования) не работает в атомарном режиме у EmulationTrader. Можно выключить атомарный режим сразу после создания Security, и тогда в логе не будет ошибок: [code=csharp] var security = new Security { Id = "RIU9@RTS", Code = "RIU9", Name = "RTS-9.09", MinStepSize = 5, MinStepPrice = 2, Exchange = Exchange.Rts, }; security.Exchange.IsSupportAtomicReRegister = false; [/code]

Можно также перейти на версию 4.1.5, там ReRegisterOrder в атомарном режиме у EmulationTrader работает исправно.

Спасибо:

RomSunZ

Фотография
Дата: 13.10.2012
Ответить


Спасибо. Подскажите еще пожалуйста. Скачал 4.15 и при включении котирования в отчет не попадает первая сделка. В аттаче два отчета один с котированием, другой без.

sma_quot.xls 123 KB (579) sma_limit.xls 64 KB (573)
Спасибо:

ViktoriusI

Фотография
Дата: 13.11.2012
Ответить


А у меня в этом примере другая беда , не считаются SMA в стратегии

// добавляем новую свечку LongSma.Process((DecimalIndicatorValue)candle.ClosePrice); ShortSma.Process((DecimalIndicatorValue)candle.ClosePrice);

Значения цены есть, а не добавляются..
Соответственно ShortSma.GetCurrentValue() и LongSma.GetCurrentValue() всегда равны 0

PS. Версия библиотеки 4.1.5

Спасибо:

Mikhail Sukhov

Фотография
Дата: 13.11.2012
Ответить


[quote=ViktoriusI;22484]PS. Версия библиотеки 4.1.5 [/quote]

В 4.1.5 неправильно идет работа с индикаторами. Скачайте код примеров из репозитария КодеПлекс или подождите 4.1.6

Спасибо: ViktoriusI


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy