/// <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 (type == ServerType.BitStamp) { if (_servers.Find(server => server.ServerType == ServerType.BitStamp) != null) { return; } BitStampServer serv = new BitStampServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(); } } if (type == ServerType.Kraken) { if (_servers.Find(server => server.ServerType == ServerType.Kraken) != null) { return; } KrakenServer serv = new KrakenServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(); } } if (type == ServerType.Oanda) { if (_servers.Find(server => server.ServerType == ServerType.Oanda) != null) { return; } OandaServer serv = new OandaServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(); } } if (type == ServerType.BitMex) { if (_servers.Find(server => server.ServerType == ServerType.BitMex) != null) { return; } BitMexServer serv = new BitMexServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(); } } if (type == ServerType.QuikLua) { if (_servers.Find(server => server.ServerType == ServerType.QuikLua) != null) { return; } QuikLuaServer serv = new QuikLuaServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(); } } if (type == ServerType.QuikDde) { if (_servers.Find(server => server.ServerType == ServerType.QuikDde) != null) { return; } QuikServer serv = new QuikServer(neadLoadTicks); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(); } } if (type == ServerType.InteractivBrokers) { if (_servers.Find(server => server.ServerType == ServerType.InteractivBrokers) != null) { return; } InteractivBrokersServer serv = new InteractivBrokersServer(); _servers.Add(serv); if (ServerCreateEvent != null) { ServerCreateEvent(); } } else if (type == ServerType.SmartCom) { if (_servers.Find(server => server.ServerType == ServerType.SmartCom) != null) { return; } try { SmartComServer serv = new SmartComServer(); _servers.Add(serv); } catch (Exception) { MessageBox.Show( "Произошла ошибка создания сервера СмартКом. Вероятно у Вас не установлена соответствующая программа. SmartCOM_Setup_3.0.146.msi "); return; } if (ServerCreateEvent != null) { ServerCreateEvent(); } } else if (type == ServerType.Plaza) { if (_servers.Find(server => server.ServerType == ServerType.Plaza) != null) { return; } try { PlazaServer serv = new PlazaServer(neadLoadTicks); _servers.Add(serv); } catch (Exception) { MessageBox.Show( "Произошла ошибка создания сервера Плаза. Вероятно у Вас не установлено соответствующее программное обеспечение."); return; } if (ServerCreateEvent != null) { ServerCreateEvent(); } } else if (type == ServerType.AstsBridge) { if (_servers.Find(server => server.ServerType == ServerType.AstsBridge) != null) { return; } try { AstsBridgeServer serv = new AstsBridgeServer(neadLoadTicks); _servers.Add(serv); } catch (Exception) { MessageBox.Show( "Произошла ошибка создания сервера Плаза. Вероятно у Вас не установлено соответствующее программное обеспечение."); return; } if (ServerCreateEvent != null) { ServerCreateEvent(); } } else if (type == ServerType.Tester) { try { TesterServer serv = new TesterServer(); _servers.Add(serv); } catch (Exception) { MessageBox.Show( "Произошла ошибка создания тестового сервера."); return; } if (ServerCreateEvent != null) { ServerCreateEvent(); } } else if (type == ServerType.Finam) { try { FinamServer serv = new FinamServer(); _servers.Add(serv); } catch (Exception) { MessageBox.Show( "Произошла ошибка создания тестового сервера."); return; } if (ServerCreateEvent != null) { ServerCreateEvent(); } } } 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); } }