/// <summary> /// создать сервер /// </summary> /// <param name="type"> тип сервера</param> /// <param name="neadLoadTicks">нужно ли подгружать тики из хранилища. Актуально в режиме робота для серверов Квик, Плаза 2</param> public static void CreateServer(ServerType type, bool neadLoadTicks) { try { if (_servers == null) { _servers = new List <IServer>(); } if (_servers.Find(server => server.ServerType == type) != null) { return; } if (type == ServerType.Bitfinex) { BitfinexServer serv = new BitfinexServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.Binance) { BinanceServer serv = new BinanceServer(); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.NinjaTrader) { NinjaTraderServer serv = new NinjaTraderServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.BitStamp) { BitStampServer serv = new BitStampServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.Kraken) { KrakenServer serv = new KrakenServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.Oanda) { OandaServer serv = new OandaServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.BitMex) { BitMexServer serv = new BitMexServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.QuikLua) { QuikLuaServer serv = new QuikLuaServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.QuikDde) { QuikServer serv = new QuikServer(); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } if (type == ServerType.InteractivBrokers) { InteractivBrokersServer serv = new InteractivBrokersServer(); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } else if (type == ServerType.SmartCom) { try { SmartComServer serv = new SmartComServer(); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } catch (Exception) { MessageBox.Show( "Произошла ошибка создания сервера СмартКом. Вероятно у Вас не установлена соответствующая программа. SmartCOM_Setup_3.0.146.msi "); throw; } } else if (type == ServerType.Plaza) { try { PlazaServer serv = new PlazaServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } catch (Exception) { MessageBox.Show( "Произошла ошибка создания сервера Плаза. Вероятно у Вас не установлено соответствующее программное обеспечение."); throw; } } else if (type == ServerType.AstsBridge) { try { AstsBridgeServer serv = new AstsBridgeServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } catch (Exception) { MessageBox.Show( "Произошла ошибка создания сервера ASTS Bridge. Вероятно у Вас не установлено соответствующее программное обеспечение."); throw; } } else if (type == ServerType.Tester) { try { TesterServer serv = new TesterServer(); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } catch (Exception) { MessageBox.Show( "Произошла ошибка создания тестового сервера."); throw; } } else if (type == ServerType.Finam) { try { FinamServer serv = new FinamServer(); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(serv); } } catch (Exception) { MessageBox.Show( "Произошла ошибка создания тестера финам."); throw; } } SendNewLogMessage("Создан сервер: " + _servers[_servers.Count - 1].ServerType, LogMessageType.System); } catch (Exception error) { SendNewLogMessage(error.ToString(), LogMessageType.Error); } }
/// <summary> /// create server /// создать сервер /// </summary> /// <param name="type"> server type / тип сервера </param> /// <param name="neadLoadTicks"> shows whether upload ticks from storage. this is need for bots with QUIK or Plaza2 servers / нужно ли подгружать тики из хранилища. Актуально в режиме робота для серверов Квик, Плаза 2 </param> public static void CreateServer(ServerType type, bool neadLoadTicks) { try { if (_servers == null) { _servers = new List <IServer>(); } if (_servers.Find(server => server.ServerType == type) != null) { return; } IServer newServer = null; if (type == ServerType.FTX) { newServer = new FTXServer(); } if (type == ServerType.HuobiFuturesSwap) { newServer = new HuobiFuturesSwapServer(); } if (type == ServerType.HuobiFutures) { newServer = new HuobiFuturesServer(); } if (type == ServerType.HuobiSpot) { newServer = new HuobiSpotServer(); } if (type == ServerType.MfdWeb) { newServer = new MfdServer(); } if (type == ServerType.MoexDataServer) { newServer = new MoexDataServer(); } if (type == ServerType.Tinkoff) { newServer = new TinkoffServer(); } if (type == ServerType.Hitbtc) { newServer = new HitbtcServer(); } if (type == ServerType.GateIo) { newServer = new GateIoServer(); } if (type == ServerType.GateIoFutures) { newServer = new GateIoFuturesServer(); } if (type == ServerType.Zb) { newServer = new ZbServer(); } if (type == ServerType.Exmo) { newServer = new ExmoServer(); } if (type == ServerType.Livecoin) { newServer = new LivecoinServer(); } if (type == ServerType.BitMax) { newServer = new BitMaxServer(); } if (type == ServerType.Transaq) { newServer = new TransaqServer(); } if (type == ServerType.Lmax) { newServer = new LmaxServer(); } if (type == ServerType.Bitfinex) { newServer = new BitfinexServer(); } if (type == ServerType.Binance) { newServer = new BinanceServer(); } if (type == ServerType.BinanceFutures) { newServer = new BinanceServerFutures(); } if (type == ServerType.NinjaTrader) { newServer = new NinjaTraderServer(); } if (type == ServerType.BitStamp) { newServer = new BitStampServer(); } if (type == ServerType.Kraken) { newServer = new KrakenServer(neadLoadTicks); } if (type == ServerType.Oanda) { newServer = new OandaServer(); } if (type == ServerType.BitMex) { newServer = new BitMexServer(); } if (type == ServerType.QuikLua) { newServer = new QuikLuaServer(); } if (type == ServerType.QuikDde) { newServer = new QuikServer(); } if (type == ServerType.InteractivBrokers) { newServer = new InteractivBrokersServer(); } else if (type == ServerType.SmartCom) { newServer = new SmartComServer(); } else if (type == ServerType.Plaza) { newServer = new PlazaServer(); } else if (type == ServerType.AstsBridge) { newServer = new AstsBridgeServer(neadLoadTicks); } else if (type == ServerType.Tester) { newServer = new TesterServer(); } else if (type == ServerType.Finam) { newServer = new FinamServer(); } if (newServer == null) { return; } _servers.Add(newServer); if (ServerCreateEvent != null) { ServerCreateEvent(newServer); } SendNewLogMessage(OsLocalization.Market.Message3 + _servers[_servers.Count - 1].ServerType, LogMessageType.System); } catch (Exception error) { SendNewLogMessage(error.ToString(), LogMessageType.Error); } }
/// <summary> /// create server /// создать сервер /// </summary> /// <param name="type"> server type / тип сервера </param> /// <param name="neadLoadTicks"> shows whether upload ticks from storage. this is need for bots with QUIK or Plaza2 servers / нужно ли подгружать тики из хранилища. Актуально в режиме робота для серверов Квик, Плаза 2 </param> public static void CreateServer(ServerType type, bool neadLoadTicks) { try { if (_servers == null) { _servers = new List <IServer>(); } if (_servers.Find(server => server.ServerType == type) != null) { return; } IServer newServer = null; if (type == ServerType.Transaq) { newServer = new TransaqServer(); } if (type == ServerType.Lmax) { newServer = new LmaxServer(); } if (type == ServerType.Bitfinex) { newServer = new BitfinexServer(); } if (type == ServerType.Binance) { newServer = new BinanceServer(); } if (type == ServerType.NinjaTrader) { newServer = new NinjaTraderServer(); } if (type == ServerType.BitStamp) { newServer = new BitStampServer(); } if (type == ServerType.Kraken) { newServer = new KrakenServer(neadLoadTicks); } if (type == ServerType.Oanda) { newServer = new OandaServer(); } if (type == ServerType.BitMex) { newServer = new BitMexServer(); } if (type == ServerType.QuikLua) { newServer = new QuikLuaServer(); } if (type == ServerType.QuikDde) { newServer = new QuikServer(); } if (type == ServerType.InteractivBrokers) { newServer = new InteractivBrokersServer(); } else if (type == ServerType.SmartCom) { newServer = new SmartComServer(); } else if (type == ServerType.Plaza) { newServer = new PlazaServer(); } else if (type == ServerType.AstsBridge) { newServer = new AstsBridgeServer(neadLoadTicks); } else if (type == ServerType.Tester) { newServer = new TesterServer(); } else if (type == ServerType.Finam) { newServer = new FinamServer(); } if (newServer == null) { return; } _servers.Add(newServer); if (ServerCreateEvent != null) { ServerCreateEvent(newServer); } SendNewLogMessage(OsLocalization.Market.Message3 + _servers[_servers.Count - 1].ServerType, LogMessageType.System); } catch (Exception error) { SendNewLogMessage(error.ToString(), LogMessageType.Error); } }