Форум устарел! Поддержка тут: https://t.me/osengine_official_support

Актуальные гайды здесь: https://smart-lab.ru/company/os_engine/blog/1024149.php

Я разобрался с подпиской на бумаги, можете не публиковать, спасибо.

Собственно сабж

  1. karuzzo

    Регистрация:
    16.08.19
    Сообщения:
    99
    Был на сайте:
    05.01.23

    Решил это так - костыль из класса ConnectorCandles, за то без изменений кода библиотеки что важнее "правильного" исполнения:

    private TimeFrameBuilder timeFrameBuilder = new TimeFrameBuilder() { CandleMarketDataType = CandleMarketDataType.MarketDepth, CandleCreateMethodType = CandleCreateMethodType.Volume, TimeFrame = TimeFrame.Sec1};

     

            private void ServerMaster_ServerCreateEvent(IServer server)

            {

                if (serverMaster == null)

                {

                    FirstApproach();

                }

            }

    public void FirstApproach()

            {

                if(GetServer(ServerType.Binance) == null)

                {

                    return;

                }

     

                serverMaster = GetServer(ServerType.Binance);

     

                serverMaster.ConnectStatusChangeEvent += ServerMaster_ConnectStatusChangeEvent;

                serverMaster.NeadToReconnectEvent += ServerMaster_NeadToReconnectEvent;

            }

     

    private void ServerMaster_NeadToReconnectEvent()

            {

                serverMaster.StopServer();

                serverMaster.StartServer();

            }

     

            private void ServerMaster_ConnectStatusChangeEvent(string obj)

            {

                if (serverMaster.ServerStatus == ServerConnectStatus.Connect)

                {

                    serverMaster.NewMarketDepthEvent += ServerMaster_NewMarketDepthEvent;

                    serverMaster.PortfoliosChangeEvent += ServerMaster_PortfoliosChangeEvent;

                    serverMaster.SecuritiesChangeEvent += ServerMaster_SecuritiesChangeEvent;

                    serverMaster.NewMyTradeEvent += ServerMaster_NewMyTradeEvent;

                    serverMaster.TimeServerChangeEvent += ServerMaster_TimeServerChangeEvent;

                    serverMaster.NewOrderIncomeEvent += ServerMaster_NewOrderIncomeEvent;

                }

            }

     

            private IServer GetServer(ServerType serverType)

            {

                List<IServer> foundServers = ServerMaster.GetServers();

                IServer foundServer = null;

                foreach (var serv in foundServers)

                {

                    if(serv.ServerType == ServerType.Binance)

                    {

                        foundServer = serv;

                    }

                }

     

                return foundServer;

            }

    karuzzo
    30.11.2019 02:50
    #1