← Zurück

Сомнения в валидности маркет данных

Качаю маркет данные со смарта. Простая стратегия

using StockSharp.Algo;
using StockSharp.Algo.Logging;
using StockSharp.Algo.Strategies;
using StockSharp.BusinessEntities;

namespace AlgoTrading.Strategies.Development
{
    public class MarketDepthSkeleton : Strategy
    {
        private Order _order;
        private bool _canProcess = true;

        protected override void OnStarted()
        {
            Security
                .WhenMarketDepthChanged()
                .Do(ProcessDepth)
                .Apply(this);
            base.OnStarted();
        }

        private void ProcessDepth(MarketDepth depth)
        {
            if (_canProcess)
            {
                _canProcess = false;
                var orderDirection = _order == null ? OrderDirections.Buy : _order.Direction.Invert();
                _order = this.CreateOrder(orderDirection, depth.GetCurrentPrice(orderDirection).Value);
                this.AddInfoLog("Вход в направлении {0} по цене {1}", _order.Direction, _order.Price);
                var strategy = new MarketQuotingStrategy(_order, new Unit(1, UnitTypes.Step, Security),
                                                         new Unit(1, UnitTypes.Step, Security)) 
                                                         { Volume = Volume };
                strategy.WhenStopped().Do(() => _canProcess = true).Apply(this);
                ChildStrategies.Add(strategy);
            }
        }
    }
}

дает следующий график доходности (см прикрепленный файл). Подскажите, пожалуйста, куда посмотреть, чтобы поправить маркет данные?

War dieses Thema hilfreich?

Thema teilen

Kommentare (20)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

pyhta4og
pyhta4og

я бы начал с того что в стратегии написал проверку
if(Strategy.BestBid.Price=0 || Strategy.BestAsk.Price=0||Strategy.LastTrade.Price=0|| Depth.BestBid.Price=0||Depth.BestAsk.Price=0 || Abs(BestAsk-LastTrade)>много || (BestBid-LastTrade)>много || Abs(nextTrade-LastTrade)>много)

где nextTrade - пришедшая сделка, Depth - пришедший стакан.

Это позволит выяснить не было ли действительно кривых данных записано.

Еще вариант - поставить брекпойнт в Strategy.PnLChanged и от туда раскручивать - если PnL стал сильно маленьким, посмотреть по коллстаку на наличие аргументов Trade, Depth с маленькими значениями

Hope it helps.

vk37
vk37 Autor

Добавил брейкпоинт и логгирование в стратегию:

using System.Diagnostics;
using StockSharp.Algo;
using StockSharp.Algo.Logging;
using StockSharp.Algo.Strategies;
using StockSharp.BusinessEntities;

namespace AlgoTrading.Strategies.Development
{
    public class MarketDepthSkeleton : Strategy
    {
        private Order _order;
        private bool _canProcess = true;

        protected override void OnStarted()
        {
            Security
                .WhenMarketDepthChanged()
                .Do(ProcessDepth)
                .Apply(this);

            PnLChanged += () =>
                              {
                                  if (PnL < -300000)
                                      Debugger.Break();
                              };

            base.OnStarted();
        }

        private void ProcessDepth(MarketDepth depth)
        {
            this.AddInfoLog("depth.LastChangeTime: {0:o}, depth.BestBid: {1}, depth.BestAsk: {2}, Security.BestBid: {3}, Security.BestAsk: {4}, Security.LastTrade: {5}", 
                depth.LastChangeTime,
                depth.BestBid == null ? "null" : depth.BestBid.Price.ToString(),
                depth.BestAsk == null ? "null" : depth.BestAsk.Price.ToString(),
                Security.BestBid == null ? "null" : Security.BestBid.Price.ToString(),
                Security.BestAsk == null ? "null" : Security.BestAsk.Price.ToString(),
                Security.LastTrade == null ? "null" : Security.LastTrade.Price.ToString()
                );

            if (_canProcess)
            {
                _canProcess = false;
                var orderDirection = _order == null ? OrderDirections.Buy : _order.Direction.Invert();
                _order = this.CreateOrder(orderDirection, depth.GetCurrentPrice(orderDirection).Value);
                this.AddInfoLog("Вход в направлении {0} по цене {1}", _order.Direction, _order.Price);
                var strategy = new MarketQuotingStrategy(_order, new Unit(1, UnitTypes.Step, Security),
                                                         new Unit(1, UnitTypes.Step, Security)) 
                                                         { Volume = Volume };
                strategy.WhenStopped().Do(() => _canProcess = true).Apply(this);
                ChildStrategies.Add(strategy);
            }
        }
    }
}

Лог до брейкпоинта:

2012.09.10 10:36:30.568|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:30.5680000, depth.BestBid: 146915, depth.BestAsk: 146920, Security.BestBid: 146915, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:30.738|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:30.7380000, depth.BestBid: 146915, depth.BestAsk: 146925, Security.BestBid: 146915, Security.BestAsk: 146920, Security.LastTrade: null
2012.09.10 10:36:30.798|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:30.7980000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146915, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:30.908|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:30.9080000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.008|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.0080000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.208|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.2080000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.298|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.2980000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.448|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.4480000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.568|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.5680000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.638|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.6380000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.698|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.6980000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.768|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.7680000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.898|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.8980000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:31.998|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:31.9980000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.098|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.0980000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.218|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.2180000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.328|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.3280000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.428|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.4280000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.538|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.5380000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.648|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.6480000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.778|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.7780000, depth.BestBid: 146900, depth.BestAsk: 146925, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Цена текущей 146915 и лучшей 146905.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Лучший бид 146910 и лучший аск 146925.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Котирование заявки 56191368 на Buy с ценой 146915 объемом 10.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Отмена заявки 56191368.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Отмена заявки 56191368.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Заявка 56191368 больше не активна.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Заявка 56191368 была снята. Время снятия 10.09.2012 10:36:32.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146905.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Лучший бид 146900 и лучший аск 146925.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Buy с ценой 146905 и объемом 10.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Заявка 56191369 на Buy отправлена с ценой 146905 объемом 10.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Заявка 56191369 принята биржей.
2012.09.10 10:36:32.778|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:32.778|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.7780001, depth.BestBid: 146905, depth.BestAsk: null, Security.BestBid: 146900, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:32.888|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.8880000, depth.BestBid: 146910, depth.BestAsk: 146920, Security.BestBid: 146905, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Цена текущей 146905 и лучшей 146915.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Лучший бид 146905 и лучший аск NULL.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Котирование заявки 56191369 на Buy с ценой 146905 объемом 10.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Отмена заявки 56191369.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Отмена заявки 56191369.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Заявка 56191369 больше не активна.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Заявка 56191369 была снята. Время снятия 10.09.2012 10:36:32.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146915.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Лучший бид 146910 и лучший аск 146920.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Buy с ценой 146915 и объемом 10.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Заявка 56191370 на Buy отправлена с ценой 146915 объемом 10.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Заявка 56191370 принята биржей.
2012.09.10 10:36:32.888|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:32.888|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:32.8880001, depth.BestBid: 146915, depth.BestAsk: null, Security.BestBid: 146910, Security.BestAsk: 146920, Security.LastTrade: null
2012.09.10 10:36:33.018|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.0180000, depth.BestBid: 146900, depth.BestAsk: 146910, Security.BestBid: 146915, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Цена текущей 146915 и лучшей 146905.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Лучший бид 146915 и лучший аск NULL.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Котирование заявки 56191370 на Buy с ценой 146915 объемом 10.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Отмена заявки 56191370.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Отмена заявки 56191370.
2012.09.10 10:36:33.018|       |MDS_RIU2@RTS_test account|Новая Buy сделка 4081 по цене 146915 на 2 заявки 56191370.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Новая Buy сделка 4081 по цене 146915 на 2 заявки 56191370.
2012.09.10 10:36:33.018|       |MDS_RIU2@RTS_test account|Новая Buy сделка 4082 по цене 146915 на 8 заявки 56191370.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Новая Buy сделка 4082 по цене 146915 на 8 заявки 56191370.
2012.09.10 10:36:33.018|       |MDS_RIU2@RTS_test account|Новая позиция 2.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Новая позиция 2.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Позиция изменилась на 2. Оставшийся объем 8.
2012.09.10 10:36:33.018|       |MDS_RIU2@RTS_test account|Новая позиция 10.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Новая позиция 10.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Позиция изменилась на 10. Оставшийся объем 0.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Заканчиваем котирование.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Стратегия останавливается.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Ожидание снятия всех активных заявок.
2012.09.10 10:36:33.018|       |MQS_RIU2@RTS_test account|Стратегия остановлена.
2012.09.10 10:36:33.288|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.0180000, depth.BestBid: null, depth.BestAsk: null, Security.BestBid: 146900, Security.BestAsk: 146910, Security.LastTrade: null
2012.09.10 10:36:33.288|       |MDS_RIU2@RTS_test account|Вход в направлении Sell по цене 0
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Стратегия запущена.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Котирование на Sell объема 10.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Приостановка правил. _rulesSuspendCount 1.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Возобновление правил. _rulesSuspendCount 0.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146905.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Лучший бид 146900 и лучший аск 146910.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Sell с ценой 146905 и объемом 10.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Заявка 56191371 на Sell отправлена с ценой 146905 объемом 10.

Лог после брейкпоинта:

2012.09.10 10:36:33.288|Error  |MQS_RIU2@RTS_test account|Заявка 56191370 не была отменена по причине System.InvalidOperationException: Заявка 56191370 не зарегистрирована, исполнена или уже отклонена..
2012.09.10 10:36:33.288|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.2880000, depth.BestBid: 146905, depth.BestAsk: 146915, Security.BestBid: null, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:33.288|Warning|MQS_RIU2@RTS_test account|Заявка 56191371 в процессе регистрации.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Заявка 56191371 принята биржей.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Цена текущей 146905 и лучшей 146910.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Лучший бид 146905 и лучший аск 146915.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Котирование заявки 56191371 на Sell с ценой 146905 объемом 10.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Отмена заявки 56191371.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Отмена заявки 56191371.
2012.09.10 10:36:33.288|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.2880000, depth.BestBid: null, depth.BestAsk: 146905, Security.BestBid: 146905, Security.BestAsk: 146915, Security.LastTrade: null
2012.09.10 10:36:33.288|Warning|MQS_RIU2@RTS_test account|Заявка 56191371 в процессе снятия.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Заявка 56191371 больше не активна.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Заявка 56191371 была снята. Время снятия 10.09.2012 10:36:33.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146900.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Лучший бид NULL и лучший аск 146905.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Sell с ценой 146900 и объемом 10.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Заявка 56191372 на Sell отправлена с ценой 146900 объемом 10.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Заявка 56191372 принята биржей.
2012.09.10 10:36:33.288|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:33.288|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.2880002, depth.BestBid: null, depth.BestAsk: 146900, Security.BestBid: null, Security.BestAsk: 146905, Security.LastTrade: null
2012.09.10 10:36:33.348|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.3480000, depth.BestBid: 146910, depth.BestAsk: 146920, Security.BestBid: null, Security.BestAsk: 146900, Security.LastTrade: null
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Цена текущей 146900 и лучшей 146915.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Лучший бид NULL и лучший аск 146900.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Котирование заявки 56191372 на Sell с ценой 146900 объемом 10.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Отмена заявки 56191372.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Отмена заявки 56191372.
2012.09.10 10:36:33.348|       |MDS_RIU2@RTS_test account|Новая Sell сделка 4083 по цене 146900 на 6 заявки 56191372.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Новая Sell сделка 4083 по цене 146900 на 6 заявки 56191372.
2012.09.10 10:36:33.348|       |MDS_RIU2@RTS_test account|Новая Sell сделка 4084 по цене 146900 на 1 заявки 56191372.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Новая Sell сделка 4084 по цене 146900 на 1 заявки 56191372.
2012.09.10 10:36:33.348|       |MDS_RIU2@RTS_test account|Новая Sell сделка 4085 по цене 146900 на 3 заявки 56191372.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Новая Sell сделка 4085 по цене 146900 на 3 заявки 56191372.
2012.09.10 10:36:33.348|       |MDS_RIU2@RTS_test account|Новая позиция 4.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Новая позиция -6.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Позиция изменилась на -6. Оставшийся объем 4.
2012.09.10 10:36:33.348|       |MDS_RIU2@RTS_test account|Новая позиция 3.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Новая позиция -7.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Позиция изменилась на -7. Оставшийся объем 3.
2012.09.10 10:36:33.348|       |MDS_RIU2@RTS_test account|Новая позиция 0.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Новая позиция -10.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Позиция изменилась на -10. Оставшийся объем 0.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Заканчиваем котирование.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Стратегия останавливается.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Ожидание снятия всех активных заявок.
2012.09.10 10:36:33.348|       |MQS_RIU2@RTS_test account|Стратегия остановлена.
2012.09.10 10:36:33.498|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.3480000, depth.BestBid: null, depth.BestAsk: null, Security.BestBid: 146910, Security.BestAsk: 146920, Security.LastTrade: null
2012.09.10 10:36:33.498|       |MDS_RIU2@RTS_test account|Вход в направлении Buy по цене 0
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Стратегия запущена.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Котирование на Buy объема 10.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Приостановка правил. _rulesSuspendCount 1.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Возобновление правил. _rulesSuspendCount 0.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146915.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Лучший бид 146910 и лучший аск 146920.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Buy с ценой 146915 и объемом 10.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Заявка 56191373 на Buy отправлена с ценой 146915 объемом 10.
2012.09.10 10:36:33.498|Error  |MQS_RIU2@RTS_test account|Заявка 56191372 не была отменена по причине System.InvalidOperationException: Заявка 56191372 не зарегистрирована, исполнена или уже отклонена..
2012.09.10 10:36:33.498|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.4980000, depth.BestBid: 146900, depth.BestAsk: 146920, Security.BestBid: null, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:33.498|Warning|MQS_RIU2@RTS_test account|Заявка 56191373 в процессе регистрации.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Заявка 56191373 принята биржей.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Цена текущей 146915 и лучшей 146905.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Лучший бид 146900 и лучший аск 146920.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Котирование заявки 56191373 на Buy с ценой 146915 объемом 10.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Отмена заявки 56191373.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Отмена заявки 56191373.
2012.09.10 10:36:33.498|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.4980000, depth.BestBid: 146915, depth.BestAsk: null, Security.BestBid: 146900, Security.BestAsk: 146920, Security.LastTrade: null
2012.09.10 10:36:33.498|Warning|MQS_RIU2@RTS_test account|Заявка 56191373 в процессе снятия.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Заявка 56191373 больше не активна.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Заявка 56191373 была снята. Время снятия 10.09.2012 10:36:33.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146920.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Лучший бид 146915 и лучший аск NULL.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Buy с ценой 146920 и объемом 10.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Заявка 56191374 на Buy отправлена с ценой 146920 объемом 10.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Заявка 56191374 принята биржей.
2012.09.10 10:36:33.498|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:33.498|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.4980002, depth.BestBid: 146920, depth.BestAsk: null, Security.BestBid: 146915, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:33.588|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.5880000, depth.BestBid: 146900, depth.BestAsk: 146915, Security.BestBid: 146920, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Цена текущей 146920 и лучшей 146905.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Лучший бид 146920 и лучший аск NULL.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Котирование заявки 56191374 на Buy с ценой 146920 объемом 10.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Отмена заявки 56191374.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Отмена заявки 56191374.
2012.09.10 10:36:33.588|       |MDS_RIU2@RTS_test account|Новая Buy сделка 4086 по цене 146920 на 8 заявки 56191374.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Новая Buy сделка 4086 по цене 146920 на 8 заявки 56191374.
2012.09.10 10:36:33.588|       |MDS_RIU2@RTS_test account|Новая Buy сделка 4087 по цене 146920 на 2 заявки 56191374.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Новая Buy сделка 4087 по цене 146920 на 2 заявки 56191374.
2012.09.10 10:36:33.588|       |MDS_RIU2@RTS_test account|Новая позиция 8.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Новая позиция 8.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Позиция изменилась на 8. Оставшийся объем 2.
2012.09.10 10:36:33.588|       |MDS_RIU2@RTS_test account|Новая позиция 10.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Новая позиция 10.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Позиция изменилась на 10. Оставшийся объем 0.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Заканчиваем котирование.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Стратегия останавливается.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Ожидание снятия всех активных заявок.
2012.09.10 10:36:33.588|       |MQS_RIU2@RTS_test account|Стратегия остановлена.
2012.09.10 10:36:33.658|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.5880000, depth.BestBid: null, depth.BestAsk: null, Security.BestBid: 146900, Security.BestAsk: 146915, Security.LastTrade: null
2012.09.10 10:36:33.658|       |MDS_RIU2@RTS_test account|Вход в направлении Sell по цене 0
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Стратегия запущена.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Котирование на Sell объема 10.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Приостановка правил. _rulesSuspendCount 1.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Возобновление правил. _rulesSuspendCount 0.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146910.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Лучший бид 146900 и лучший аск 146915.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Sell с ценой 146910 и объемом 10.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Заявка 56191375 на Sell отправлена с ценой 146910 объемом 10.
2012.09.10 10:36:33.658|Error  |MQS_RIU2@RTS_test account|Заявка 56191374 не была отменена по причине System.InvalidOperationException: Заявка 56191374 не зарегистрирована, исполнена или уже отклонена..
2012.09.10 10:36:33.658|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.6580000, depth.BestBid: 146905, depth.BestAsk: 146920, Security.BestBid: null, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:33.658|Warning|MQS_RIU2@RTS_test account|Заявка 56191375 в процессе регистрации.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Заявка 56191375 принята биржей.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Цена текущей 146910 и лучшей 146915.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Лучший бид 146905 и лучший аск 146920.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Котирование заявки 56191375 на Sell с ценой 146910 объемом 10.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Отмена заявки 56191375.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Отмена заявки 56191375.
2012.09.10 10:36:33.658|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.6580000, depth.BestBid: null, depth.BestAsk: 146910, Security.BestBid: 146905, Security.BestAsk: 146920, Security.LastTrade: null
2012.09.10 10:36:33.658|Warning|MQS_RIU2@RTS_test account|Заявка 56191375 в процессе снятия.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Заявка 56191375 больше не активна.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Заявка 56191375 была снята. Время снятия 10.09.2012 10:36:33.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146905.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Лучший бид NULL и лучший аск 146910.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Sell с ценой 146905 и объемом 10.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Заявка 56191376 на Sell отправлена с ценой 146905 объемом 10.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Заявка 56191376 принята биржей.
2012.09.10 10:36:33.658|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:33.658|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.6580002, depth.BestBid: null, depth.BestAsk: 146905, Security.BestBid: null, Security.BestAsk: 146910, Security.LastTrade: null
2012.09.10 10:36:33.758|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.7580000, depth.BestBid: 146910, depth.BestAsk: 146920, Security.BestBid: null, Security.BestAsk: 146905, Security.LastTrade: null
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Цена текущей 146905 и лучшей 146915.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Лучший бид NULL и лучший аск 146905.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Котирование заявки 56191376 на Sell с ценой 146905 объемом 10.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Отмена заявки 56191376.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Отмена заявки 56191376.
2012.09.10 10:36:33.758|       |MDS_RIU2@RTS_test account|Новая Sell сделка 4088 по цене 146905 на 4 заявки 56191376.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Новая Sell сделка 4088 по цене 146905 на 4 заявки 56191376.
2012.09.10 10:36:33.758|       |MDS_RIU2@RTS_test account|Новая Sell сделка 4089 по цене 146905 на 6 заявки 56191376.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Новая Sell сделка 4089 по цене 146905 на 6 заявки 56191376.
2012.09.10 10:36:33.758|       |MDS_RIU2@RTS_test account|Новая позиция 6.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Новая позиция -4.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Позиция изменилась на -4. Оставшийся объем 6.
2012.09.10 10:36:33.758|       |MDS_RIU2@RTS_test account|Новая позиция 0.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Новая позиция -10.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Позиция изменилась на -10. Оставшийся объем 0.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Заканчиваем котирование.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Стратегия останавливается.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Ожидание снятия всех активных заявок.
2012.09.10 10:36:33.758|       |MQS_RIU2@RTS_test account|Стратегия остановлена.
2012.09.10 10:36:33.798|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.7580000, depth.BestBid: null, depth.BestAsk: null, Security.BestBid: 146910, Security.BestAsk: 146920, Security.LastTrade: null
2012.09.10 10:36:33.798|       |MDS_RIU2@RTS_test account|Вход в направлении Buy по цене 0
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Стратегия запущена.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Котирование на Buy объема 10.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Приостановка правил. _rulesSuspendCount 1.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Возобновление правил. _rulesSuspendCount 0.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146915.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Лучший бид 146910 и лучший аск 146920.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Buy с ценой 146915 и объемом 10.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Заявка 56191377 на Buy отправлена с ценой 146915 объемом 10.
2012.09.10 10:36:33.798|Error  |MQS_RIU2@RTS_test account|Заявка 56191376 не была отменена по причине System.InvalidOperationException: Заявка 56191376 не зарегистрирована, исполнена или уже отклонена..
2012.09.10 10:36:33.798|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.7980000, depth.BestBid: 146910, depth.BestAsk: 146925, Security.BestBid: null, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:33.798|Warning|MQS_RIU2@RTS_test account|Заявка 56191377 в процессе регистрации.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Заявка 56191377 принята биржей.
2012.09.10 10:36:33.798|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:33.898|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.7980000, depth.BestBid: 146915, depth.BestAsk: null, Security.BestBid: 146910, Security.BestAsk: 146925, Security.LastTrade: null
2012.09.10 10:36:33.898|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.8980000, depth.BestBid: 146905, depth.BestAsk: 146920, Security.BestBid: 146915, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Цена текущей 146915 и лучшей 146910.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Лучший бид 146915 и лучший аск NULL.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Котирование заявки 56191377 на Buy с ценой 146915 объемом 10.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Отмена заявки 56191377.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Отмена заявки 56191377.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Заявка 56191377 больше не активна.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Заявка 56191377 была снята. Время снятия 10.09.2012 10:36:33.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Цена текущей NULL и лучшей 146910.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Лучший бид 146905 и лучший аск 146920.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Регистрация новой заявки на Buy с ценой 146910 и объемом 10.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Заявка 56191378 на Buy отправлена с ценой 146910 объемом 10.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Заявка 56191378 принята биржей.
2012.09.10 10:36:33.898|       |MQS_RIU2@RTS_test account|Сброс счетчика ошибок регистрации с 0 до нуля.
2012.09.10 10:36:33.898|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.8980001, depth.BestBid: 146910, depth.BestAsk: null, Security.BestBid: 146905, Security.BestAsk: 146920, Security.LastTrade: null
2012.09.10 10:36:33.988|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.9880000, depth.BestBid: 146905, depth.BestAsk: 146920, Security.BestBid: 146910, Security.BestAsk: null, Security.LastTrade: null
2012.09.10 10:36:34.098|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:34.0980000, depth.BestBid: 146910, depth.BestAsk: 146915, Security.BestBid: 146905, Security.BestAsk: 146920, Security.LastTrade: null
2012.09.10 10:36:34.228|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:34.2280000, depth.BestBid: 146910, depth.BestAsk: 146915, Security.BestBid: 146910, Security.BestAsk: 146915, Security.LastTrade: null
2012.09.10 10:36:34.318|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:34.3180000, depth.BestBid: 146910, depth.BestAsk: 146915, Security.BestBid: 146910, Security.BestAsk: 146915, Security.LastTrade: null
2012.09.10 10:36:34.428|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:34.4280000, depth.BestBid: 146900, depth.BestAsk: 146915, Security.BestBid: 146910, Security.BestAsk: 146915, Security.LastTrade: null

Причина, похоже в том, что на какой-то момент у Security BestBid и BestAsk равны null

Alexander
Alexander

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

vk37
vk37 Autor

Все 5 ошибок на графике до 12:00 )

Mikhail Sukhov
Mikhail Sukhov

vk37: Все 5 ошибок на графике до 12:00 )

А что в самих данных?

vk37
vk37 Autor

А где посмотреть? Что перебрать? )

Mikhail Sukhov
Mikhail Sukhov

vk37: А где посмотреть? Что перебрать? )

На диске. Данные.

vk37
vk37 Autor

Провереть SecurityChanges на предмет Security.BestAsk == null и Security.BestBid == null?

vk37
vk37 Autor

Проверил все сохраненные MarketDepths. Не нашел ни одного со значениями BestBid == null или BestAsk == null. В стратегии на событии MarketDepthChanged, судя по логу, такие появляются:

2012.09.10 10:36:33.288|       |MDS_RIU2@RTS_test account|depth.LastChangeTime: 2012-09-10T10:36:33.0180000, depth.BestBid: null, depth.BestAsk: null, Security.BestBid: 146900, Security.BestAsk: 146910, Security.LastTrade: null

Думаю, ошибка не в данных. Проверял так:

                    var marketDepthStorage = _storageRegistry.GetMarketDepthStorage(security, _defaultDrive);
                    var marketDepths = marketDepthStorage.Load(_targetTime.Date);

                    foreach (var depth in marketDepths)
                    {
                        if (depth.BestBid == null || depth.BestAsk == null)
                            Debugger.Break();
                    }
pyhta4og
pyhta4og

файлы данных можете прикрепить (сделки и стаканы) за проблемный день?

vk37
vk37 Autor

Прикрепить не получилось. Ссылка: http://sdrv.ms/U6jFLM

Alexander
Alexander

Проверьте на последней версии на codeplex.

vk37
vk37 Autor

Alexander Mukhanchikov: Проверьте на последней версии на codeplex. Скачал последнюю версию с кодплекса. Судя по тому, что в отчетах значения MaxDrowdown нереалистично большие цифры, ситуация не изменилась.

vk37
vk37 Autor

Не знаю в чем проблема. Менеджеру статистики верить нельзя: неверно просадку считает. Что делать посоветуете? Свой менеджер статистики писать?

Кот Матроскин
Кот Матроскин

vk37: Свой менеджер статистики писать? Давно столкнулся с примерно такой же проблемой - в итого написал свой метод вычисления статистики

vk37
vk37 Autor

Я так понимаю, что для расчета прибыли на каждый текущий момент нужна информация о стоимости инструмента на каждый текущий момент. Предполагаю, что стоимость инструмента в закаченных маркет данных на какой-то момент неверна. Могу исключить эту неверную цену из маркет данных. Только я не понимаю как внутри этот PnLManager работает. Откуда он берет текущую цену инструмента? Эх, был бы доступ к исходникам )

pyhta4og
pyhta4og

vk37: Я так понимаю, что для расчета прибыли на каждый текущий момент нужна информация о стоимости инструмента на каждый текущий момент. Предполагаю, что стоимость инструмента в закаченных маркет данных на какой-то момент неверна. Могу исключить эту неверную цену из маркет данных. Только я не понимаю как внутри этот PnLManager работает. Откуда он берет текущую цену инструмента? Эх, был бы доступ к исходникам )

PnLManager берет bestbid/bestask из стакана для расчета цены инструмента. А вот если их нет то берутся bestbid/bestask из инструмента, потом lasttrade... Короче PnLManager борется до последнего, а если нет ничего то берет НОЛЬ и будет спайк.

Если это в клиринг то возможно в клиринге очистило стакан и пошли такие спецэффекты. А ласттрейд был давно. Hope it helps

vk37
vk37 Autor

На этот раз похоже действительно клиринг.

Alexander
Alexander

vk37: На этот раз похоже действительно клиринг.

Клиринг тут как виноват?

vk37
vk37 Autor

Alexander Mukhanchikov: Клиринг тут как виноват?

В этот раз прибыль некорректно посчиталась в период 18:50 - 19:00. Настроил свою гидру, чтобы маркет данные качались по расписанию работы биржи РТС.