// BINANCE ARBS #1 public static void TestBinanceArbs1() { // Create Prowl messaging client var msg1 = new Tools.Messaging.Prowl.ProwlClient(Crypto.ApiKeys["PROWL"].ApiKey, "BINANCE", "MACD"); var assetInfo = binance.GetAssetInfo(); //assetInfo.Select(xkv => xkv).OrderBy(xkv => xkv.Key).ToList().ForEach(xai => cout(xai.Value.ToDisplay())); // Create a BalanceMinMaxMap that we will pass to ArbZero to set our Min/Max currency balance limits var balances = binance.GetAccountBalances(); var limits = BalanceMinMaxMap.CreatePercentageUpDown(balances, 50, 50); // set limits to up or down 50% from current balances var args = new List <ArbZeroArgs>(); args.AddRange(GetArgs("BCC", 0.01M)); args.AddRange(GetArgs("LTC", 0.1M)); args.AddRange(GetArgs("NEO", 0.1M)); Task.Run(() => ArbOne(args, limits, true, 0.14M, 4001)); }
public static void TestBinanceTrades() { // Create Prowl messaging client var msg1 = new Tools.Messaging.Prowl.ProwlClient(Crypto.ApiKeys["PROWL"].ApiKey, "BINANCE", "MACD"); var assetInfo = binance.GetAssetInfo(); //assetInfo.Select(xkv => xkv).OrderBy(xkv => xkv.Key).ToList().ForEach(xai => cout(xai.Value.ToDisplay())); // Dictionary of symbols/intervals to trade var li = new string[, ] { { "BCCBTC", "15" }, { "BCCETH", "1" }, { "BCCETH", "5" }, { "BCCETH", "15" }, { "BCCUSDT", "1" }, { "BCCUSDT", "5" }, { "BCCUSDT", "15" }, { "BNBUSDT", "5" }, { "BTCUSDT", "5" }, { "DASHETH", "1" }, { "DASHETH", "15" }, { "DGDETH", "1" }, { "DGDETH", "30" }, { "ETHUSDT", "1" }, { "ETHUSDT", "5" }, { "ETHUSDT", "15" }, { "LTCETH", "60" }, { "LTCUSDT", "1" }, { "LTCUSDT", "5" }, { "LTCUSDT", "15" }, { "LTCUSDT", "30" }, { "LTCUSDT", "60" }, { "NEOETH", "60" }, { "NEOUSDT", "15" }, { "XMRETH", "5" }, { "XMRETH", "60" }, { "ZECETH", "1" }, { "ZECETH", "30" }, { "ZECETH", "60" } }; // Iterate through each symbol/interval and create a new Trade (and start the trade) var trd = new Dictionary <string, BinanceTradeMACD>(); for (int i = 0; i < li.GetLength(0); ++i) { cout("==============================================================================================="); string symbol = li[i, 0]; int barInterval = int.Parse(li[i, 1]); cout("Initiating BINANCE MACD '{0}' trade, {1} minutes", symbol, barInterval); var id = string.Format("{0}:{1}", symbol, barInterval); trd[id] = new BinanceTradeMACD(binance, symbol, msg1); trd[id].Debug = true; decimal stepSize = assetInfo[symbol].stepSize; trd[id].StartTrade(stepSize, barInterval, tradeLive: false, backTestOnly: false); cout("==============================================================================================="); } return; /*var b60neo = new BinanceTradeMACD(binance, "NEOETH", msg1); * b60neo.StartTrade(0.2M, 60, tradeLive: true, backTestOnly: false); * var b15xmr = new BinanceTradeMACD(binance, "XMRETH", msg1); * b15xmr.StartTrade(0.15M, 15, tradeLive: true, backTestOnly: false); * var b60xmr = new BinanceTradeMACD(binance, "XMRETH", msg1); * b60xmr.StartTrade(0.15M, 60, tradeLive: true, backTestOnly: false); * var b30zec = new BinanceTradeMACD(binance, "ZECETH", msg1); * b30zec.StartTrade(0.11M, 30, tradeLive: true, backTestOnly: false); * var b60zec = new BinanceTradeMACD(binance, "ZECETH", msg1); * b60zec.StartTrade(0.11M, 60, tradeLive: true, backTestOnly: false); * var b30ltc = new BinanceTradeMACD(binance, "LTCETH", msg1); * b30ltc.StartTrade(0.2M, 30, tradeLive: true, backTestOnly: false); * var b60ltc = new BinanceTradeMACD(binance, "LTCETH", msg1); * b60ltc.StartTrade(0.2M, 60, tradeLive: true, backTestOnly: false);*/ /*ApiCredentials creds = m_security.ApiKeys["BINANCE"]; * var apiClient = new CryptoAPIs.Exchange.Clients.Binance.ApiClient(creds.ApiKey, creds.ApiSecret); * var bn = new CryptoAPIs.Exchange.Clients.Binance.BinanceClient(apiClient); * var ai = bn.GetAccountInfo().Result; * Console.WriteLine("{0} {1} {2} {3}", ai.BuyerCommission, ai.SellerCommission, ai.MakerCommission, ai.TakerCommission); * * var bookTicker = bn.GetOrderBookTicker().Result; * foreach (var obt in bookTicker) * { * if (obt.Symbol.Contains("NEO") || obt.Symbol.Contains("XMR")) * Console.WriteLine(obt.Symbol); * } * * var kl = bn.GetCandleSticks("NEOETH", Exchange.Clients.Binance.TimeInterval.Hours_1).Result; * foreach (var k in kl) * { * Console.WriteLine("{0} {1} {2} {3} {4}", k.CloseTime.ToDateTimeString(), k.Open, k.High, k.Low, k.Close); * } * //bn.ListenKlineEndpoint("NEOETH", Exchange.BinanceX.TimeInterval.Minutes_1, HandleKline); * * Thread.Sleep(120000); * return;*/ }