Example #1
0
            public async Task Begin()
            {
                var priceTracker = PriceTracker.Current;
                await priceTracker.Initialize();

                var arbList = ArbitrationTracker.GetMarketsThatExchangeOnBothBtcAndEth(priceTracker.GetMarkets("poloniex"));

                foreach (var item in arbList)
                {
                    sortedArbList.Add(item);
                }

                priceTracker.OnPriceChangeAction = this;
            }
Example #2
0
            public void OnPriceChange(PriceChange pc)
            {
                if (sortedArbList.Contains(pc.CurrencyPair))
                {
                    var arbOpp = ArbitrationTracker
                                 .FindArbitrationOpportunitiesForExchangeCurrency(
                        pc.Exchange,
                        getCurrencyPair(pc.CurrencyPair).currency);

                    if (arbOpp != null)
                    {
                        Console.WriteLine(arbOpp);
                    }
                }

                (string basePair, string currency) getCurrencyPair(string input)
                {
                    var split = input.Split('-');

                    return(split[0], split[1]);
                }
            }
Example #3
0
        static async Task TestArbitration()
        {
            //await new ArbitrationPriceActionTracker().Begin();

            var priceTracker = PriceTracker.Current;
            await priceTracker.Initialize();

            while (true)
            {
                await Task.Delay(10000);

                var sw      = System.Diagnostics.Stopwatch.StartNew();
                var arbOpps = ArbitrationTracker.FindArbitrationOpportunities();
                sw.Stop();

                foreach (var arbOpp in arbOpps)
                {
                    Console.WriteLine(arbOpp);
                }
                Console.WriteLine($"Above calculations took {sw.ElapsedMilliseconds}ms to calculate");
                Console.WriteLine();
            }
        }