示例#1
0
        static Dictionary <string, List <HitBtcTicker> > m_hitTickers;             // HitBTC tickers

        static void Main(string[] args)
        {
            Console.WriteLine("\n*** WECOME TO CRYPTO CONSOLE ***\n");
            Console.WriteLine("********** GATOR " + new string('*', 103));

            //CryptoTools.Cryptography.Cryptography.EncryptFile("X:/Users/Trader/Documents/hat_apis.json", "/Users/michael/Documents/hat_apis.enc", pw);    // encrypt api key file
            var api = m_factory.Get("HITBTC") as CryptoRestApis.Exchange.HitBtc.HitBtcRestApi;

            /*//var symbols = api.GetSymbols();
             * m_factory = new ApiFactory(m_credentialsFile, m_pw);*/

            //string password = "******";
            //var apiXS = new ExchangeSharpRestApi("/Users/michael/Documents/hat_apis.csv.enc", password);
            var apiXS = new ExchangeSharpRestApi();

            //apiXS.Gator("ETH-USD", amountRequested:200, bips:125);

            if (args.Length < 3)
            {
                Console.WriteLine("usage: dotnet CryptoConsole.dll <symbol> <amount> <bips> (#display)");
                Console.WriteLine();
                Console.WriteLine("   ex: dotnet CryptoConsole.dll ETH-USD 200 125");
                Console.WriteLine("       dotnet CryptoConsole.dll BTC-USD 90 125 20");
                Console.WriteLine("       dotnet CryptoConsole.dll BTC-USDT 75 150");
                return;
            }

            string  symbol      = args[0];
            decimal amount      = decimal.Parse(args[1]);
            int     bips        = int.Parse(args[2]);
            int     displayBook = 0;

            if (args.Length > 3)
            {
                displayBook = int.Parse(args[3]);
            }
            apiXS.Gator(symbol, amount, bips, displayBook);

            //DisplayBinanceTotals();
            //BinanceSellAllCurrency(1.0M);

            /*//var api = m_factory.Get("HITBTC") as CryptoRestApis.Exchange.HitBtc.HitBtcRestApi;
             * //var symbols = api.GetSymbols();
             *
             * //symbols.ForEach(s => Console.WriteLine(s));
             * var t1 = api.GetOneTicker("DASHBTC");
             * Console.WriteLine(t1);
             * var c1 = api.GetCandles("DASHBTC");
             * c1.ForEach(cc => Console.WriteLine(cc));*/

            /*Console.Write("\n\nPress any key to exit... ");
             * Console.ReadKey();
             * return;
             *
             * string pathname = Path.Combine(GetExeDirectory(), "data.hitbtc_tickers.txt");
             * bool writeHeaders = !File.Exists(pathname);
             * var writer = new StreamWriter(pathname, true);
             * if (writeHeaders)
             * {
             *  writer.WriteLine(HitBtcTicker.CsvHeaders);
             *  writer.Flush();
             * }
             *
             * while (true)
             * {
             *  var tickers = api.GetAllTickers();
             *  if (m_hitTickers == null)           // first time through, create the dictionary to store HitBtc data
             *  {
             *      m_hitTickers = new Dictionary<string, List<HitBtcTicker>>();
             *      foreach (var t in tickers)
             *      {
             *          m_hitTickers[t.symbol] = new List<HitBtcTicker>();
             *          m_hitTickers[t.symbol].Add(t);
             *      }
             *  }
             *  else
             *  {
             *      Console.WriteLine(new string('=', 120));
             *      int count = 0;
             *      foreach (var t in tickers)
             *      {
             *          if (!m_hitTickers.ContainsKey(t.symbol))                // if we have not yet stored this symbol...
             *          {
             *              m_hitTickers[t.symbol] = new List<HitBtcTicker>();  // create a new list for this symbol's tickers
             *              m_hitTickers[t.symbol].Add(t);
             *          }
             *          else
             *          {
             *              var last = m_hitTickers[t.symbol].Last();           // check the last ticker we added to the list for this symbol
             *              if (true)   //last.timestamp != t.timestamp)                  // only add to our stored tickers if the "last_updated" field has changed
             *              {
             *                  m_hitTickers[t.symbol].Add(t);
             *                  //Console.WriteLine(t);
             *                  writer.WriteLine(t.ToCsv());
             *                  writer.Flush();
             *                  count++;
             *              }
             *          }
             *      }
             *      Console.WriteLine("{0} ({1} updates)", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), count);
             *  }
             *  Thread.Sleep(20000);                // sleep for 20 seconds
             * }
             *
             *
             * //BinanceTotals();
             * //var mgr = new CryptoTools.SymbolManager();
             * //SellBinance(0.50M, "bnb");
             *
             *
             * Console.Write("\n\nPress any key to exit... ");
             * Console.ReadKey();
             * return;
             */
        }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("\n*** WELCOME TO AGGREGATOR ***\n");

            var apiXS = new ExchangeSharpRestApi();

            //apiXS.Gator("ETH-USD", amountRequested: 200, bips:125);
            apiXS.Test();

            //CryptoWebSocketApis.GeminiWebSocket.TestGeminiTickers_marketdata();
            Console.WriteLine("(Back in MAIN)");
            Console.ReadKey();
            return;

            //CryptoTools.Cryptography.Cryptography.EncryptFile("X:/Users/Trader/Documents/hat_apis.json", "/Users/michael/Documents/hat_apis.enc", pw);    // encrypt api key file
            m_credentialsFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "system.apis.enc");   // read ".enc" file from application path
            m_pw = @"myKey123";

            m_factory = new ApiFactory(m_credentialsFile, m_pw);


            /*TradeBittrexArbs.InitializeApi(credentialsFile, pw);
             * TradeBittrexArbs.Test();
             * TradeBinanceArbs.InitializeApi(credentialsFile, pw);
             * TradeBinanceArbs.Test();
             * TradeGdaxArbs.InitializeApi(credentialsFile, pw);
             * TradeGdaxArbs.Test();
             * TradeKraken.InitializeApi(credentialsFile, pw);
             * TradeKraken.Test();
             * TradeGemini.InitializeApi(credentialsFile, pw);
             * TradeGemini.Test();*/

            // Get CoinMarketCap rankings
            var cmcap = new CoinMarketCapApi();

            cmcap.Test();

            /*var rank = cmcap.GetRankings();
             * var gainers1h = rank.OrderByDescending(t => t.percent_change_1h);
             * var gainers24h = rank.OrderByDescending(t => t.percent_change_24h);
             * var gainers7d = rank.OrderByDescending(t => t.percent_change_7d);
             * var losers1h = rank.OrderBy(t => t.percent_change_1h);
             * var losers24h = rank.OrderBy(t => t.percent_change_24h);
             * var losers7d = rank.OrderBy(t => t.percent_change_7d);*/

            //BinanceTotals();
            //var mgr = new CryptoTools.SymbolManager();
            //SellBinance(0.50M, "bnb");

            /*DisplayBalances("KRAKEN", "btcusd");
             * DisplayBalances("BITFINEX", "btcusd");
             * DisplayBalances("BINANCE", "btcusdt");
             * DisplayBalances("BITTREX", "btcusdt");
             * DisplayBalances("POLONIEX", "btcusdt");
             * DisplayBalances("GDAX", "btcusd");
             *
             * try
             * {
             *  GdaxRestApi api = m_factory.Get("GDAX") as GdaxRestApi;
             *  api.PrintCoinbaseAccounts().Wait();
             * }
             * catch (Exception ex)
             * {
             *  Console.WriteLine("\nGDAX Coinbase Error: {0}", ex.Message);
             * }*/



            Console.Write("\n\nPress any key to exit... ");
            Console.ReadKey();
            return;

            //BinanceArbs.InitializeApi();

            TradeBinanceArbs.GetBalances(out decimal initTotalBtc, out decimal initTotalUsdt, true);
            Console.WriteLine("\n{0}    {1} BTC   {2} USDT\n", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), initTotalBtc, initTotalUsdt);

            // [LocalTime, exch1UpdateTime, exch1BitCoinPrice, exch2UpdateTime, exch2BitCoinPrice]

            List <string> symbols = new List <string>();

            symbols.AddRange(new List <string>()
            {
                "ethusdt", "btcusdt"
            });
            symbols.AddRange(new List <string>()
            {
                "neousdt", "neoeth", "neobtc"
            });
            symbols.AddRange(new List <string>()
            {
                "bnbusdt", "bnbeth", "bnbbtc"
            });
            symbols.AddRange(new List <string>()
            {
                "qtumusdt", "qtumeth", "qtumbtc"
            });
            symbols.AddRange(new List <string>()
            {
                "ltcusdt", "ltceth", "ltcbtc"
            });
            symbols.AddRange(new List <string>()
            {
                "bccusdt", "bcceth", "bccbtc"
            });
            symbols.AddRange(new List <string>()
            {
                "adausdt", "adaeth", "adabtc"
            });

            List <string> streams = new List <string>();

            streams.Add("ticker");
            streams.Add("aggTrade");
            TradeBinanceArbs.BinanceStreams(streams.ToArray(), symbols.ToArray());

            //GdaxTickers();
            //GeminiTickers();
            //BinanceTickers();
            //BitfinexTickers();
        }