private void InitRequiredLP() { _requiredLP = new List <LiquidityProvider>(); if (!SoftFxSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.SoftFx); } if (!LivecoinSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.Livecoin); } if (!TidexSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.Tidex); } if (!OkexSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.Okex); } if (!BinanceSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.Binance); } if (!BitfinexSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.Bitfinex); } if (!HitBtcSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.HitBtc); } if (!KrakenSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.Kraken); } if (!KucoinSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.Kucoin); } if (!HuobiSymbol.Equals("")) { _requiredLP.Add(LiquidityProvider.Huobi); } }
private MessageSymbol CreateMessageSymbol(BitfinexSymbol bitfinexSymbol) { string baseAsset = bitfinexSymbol.Pair.Substring(0, 3); string quoteAsset = bitfinexSymbol.Pair.Substring(3, 3); var message = new MessageSymbol(bitfinexSymbol.Pair) { AllowCalculateRealtimeChange = false, AllowCalculateRealtimeVolume = false, AllowCalculateRealtimeTrades = false, AllowCalculateRealtimeTicks = false, AllowAbbreviatePriceByTickSize = true, Description = $"{baseAsset} vs {quoteAsset}", ExchangeId = BitfinexConsts.EXCHANGE_ID, HistoryType = HistoryType.Last, LotSize = 1, LotStep = Math.Pow(10, -8), NotionalValueStep = Math.Pow(10, -8), MinLot = bitfinexSymbol.MinimumOrderSize, MaxLot = bitfinexSymbol.MaximumOrderSize, Name = bitfinexSymbol.Pair, ProductAssetId = baseAsset, QuotingCurrencyAssetID = quoteAsset, SymbolType = SymbolType.Crypto, VolumeType = SymbolVolumeType.Volume, QuotingType = SymbolQuotingType.LotSize, DeltaCalculationType = DeltaCalculationType.TickDirection, VariableTickList = new List <VariableTick> { new VariableTick(double.NegativeInfinity, double.PositiveInfinity, true, Math.Pow(10, -8), 1.0) } }; message.SymbolAdditionalInfo = new List <AdditionalInfoItem> { new AdditionalInfoItem { GroupInfo = BitfinexConsts.TRADING_INFO_GROUP, SortIndex = 100, Id = "Allow margin trading", NameKey = loc.key("Allow margin trading"), ToolTipKey = loc.key("Allow margin trading"), DataType = ComparingType.String, Value = bitfinexSymbol.AllowMargin, Hidden = false }, }; if (bitfinexSymbol.AllowMargin) { message.SymbolAdditionalInfo.Add(new AdditionalInfoItem { GroupInfo = BitfinexConsts.TRADING_INFO_GROUP, SortIndex = 110, Id = "Initial margin", NameKey = loc.key("Initial margin"), ToolTipKey = loc.key("Initial margin"), DataType = ComparingType.Double, Value = bitfinexSymbol.InitialMargin, Hidden = false }); message.SymbolAdditionalInfo.Add(new AdditionalInfoItem { GroupInfo = BitfinexConsts.TRADING_INFO_GROUP, SortIndex = 120, Id = "Minimum margin", NameKey = loc.key("Minimum margin"), ToolTipKey = loc.key("Minimum margin"), DataType = ComparingType.Double, Value = bitfinexSymbol.MinimumMargin, Hidden = false }); } return(message); }