Загрузка статистических данных стратегии

Загрузка статистических данных стратегии


Добрый день, уважаемая поддержка! Нужно реализовать загрузку данных стратегии при её старте. То есть историю изменения позиции, данные по эквити. В документации есть вот это - http://doc.stocksharp.ru/html/61ad1ece-8094-44a9-a558-ec664a1ab16a.htm Судя по всему статья устарела так как перегрузки метода ProcessNewOrders(IEnumerable newOrders, bool isStopOrders) уже не существует. Но и не в этом дело. Я понимаю что метод ProcessNewOrders теперь сам распознает что за ордера в него приходят. Дело в том что данное руководство не работает. Реализовать пытаюсь так:


        private IEnumerable<Order> Filter(IEnumerable<Order> orders)
        {
            if (File.Exists("Opders.txt"))
            {
                // считываем номера транзакций из файла
                var transactions = File.ReadAllLines("Opders.txt").Select(l => l.To<long>()).ToArray();
                // находим наши заявки по считанным номерам
                return orders.Where(o => transactions.Contains(o.TransactionId));
            }
            return null;
        }

        public override void RegisterOrder(Order order)
        {
            // отравляем заявку дальше на регистрацию
            base.RegisterOrder(order);
            // добавляем новый номер транзакции
            File.AppendAllLines("Opders.txt", new[] { order.TransactionId.ToString() });
        }

        protected override void OnStarted()
        {
            //ролучаем отфильтрованые ордера
            var opders = Filter(Connector.Orders);
            if(opders != null) // если они есть передаем их в ProcessNewOrders
                ProcessNewOrders(opders);
            CandleManager.Processing += ProcessCandle;
            base.OnStarted();
        }


В документации написано что после того, как заявки будут загружены в стратегию через ProcessNewOrders, загрузятся и все совершенные по ним сделки. Это будет сделано автоматически. Соответственно у меня есть несколько вопросов:

  1. Как сделать что бы ProcessNewOrders загружал в стратегию сделки и заявки?
  2. Будет ли при этом расчитываться эквити и срабатывать событие (Strategy.PnLChanged) изменения PnL?
  3. Будет ли при этом расчитываться позиция и срабатывать событие Strategy.PositionChanged изменения позиции? Если все изменилось то подскажите в какую сторону копать. Не хочется придумывать костыли.[smile]



Thanks:


< 1 2 
Константин

Avatar
Date: 8/2/2018
Reply


А нет исходного кода ConnectorWindow? Хочу посмотреть процесс создания подключения.

Thanks:

Support

Avatar
Date: 8/3/2018
Reply


Добрый день

К сожалению доступ к закрытым исходным кодам есть только у разработчиков.

Thanks:

Константин

Avatar
Date: 8/5/2018
Reply


Здравствуйте! А можно какой нибудь простой пример инициализации класса Connector?

Thanks:

Support

Avatar
Date: 8/5/2018
Reply


Добрый день

Например как в нашем примере SampleMultiConnection https://github.com/StockSharp/StockSharp/blob/master/Samples/Common/SampleMultiConnection/MainWindow.xaml.cs#L86

Thanks:

Константин

Avatar
Date: 8/5/2018
Reply


Connector = new Connector(entityRegistry, storageRegistry, snapshotRegistry);

Я имел в виду не создание экземпляра, а инициализацию свойств. На пример как проинициализировать Connector так, что бы он мог подключиться к квику?

Thanks:

Support

Avatar
Date: 8/7/2018
Reply


Добрый день

var connector = new Connector();

var luaFix = new LuaFixMarketDataMessageAdapter(connector.TransactionIdGenerator);

/* здесь идет инициализация свойство luaFix*/

connector.Adapter.InnerAdapters.Add(luaFix);

Список всех доступных адаптером можно увидеть здесь https://github.com/StockSharp/StockSharp/blob/master/Configuration/Extensions.cs#L176

Thanks: Константин

Константин

Avatar
Date: 8/7/2018
Reply


Спасибо. Буду пробовать.

Thanks:
< 1 2 

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

loading
clippy