コード例 #1
0
        public static bool GetKrakenInitData()
        {
            string     krakenTickerUrl = "https://api.kraken.com/0/public/Ticker?pair=";
            dynamic    currencies      = JsonConvert.DeserializeObject(WebReq("https://api.kraken.com/0/public/Assets"));
            dynamic    transactions    = JsonConvert.DeserializeObject(WebReq("https://api.kraken.com/0/public/AssetPairs"));
            var        exchange        = GlobalData.Exchange.Kraken;
            GlobalData db = GlobalData.Instance;

            //have to use currency list to get the proper names of the coins
            //also the url for the transaction list is absurd

            var krakenCoinDict = new Dictionary <string, string>();

            foreach (var coin in currencies.result)
            {
                krakenCoinDict.Add(coin.Name, coin.First.altname.Value);
            }

            foreach (var pair in transactions.result)
            {
                if (!pair.Name.ToString().Contains(".d"))
                {
                    krakenTickerUrl = krakenTickerUrl + pair.Name + ",";
                }
            }
            krakenTickerUrl = krakenTickerUrl.Remove(krakenTickerUrl.LastIndexOf(','));


            dynamic ticker = JsonConvert.DeserializeObject(WebReq(krakenTickerUrl));

            //coin black list

            //doesn't need one, only reurn good currencies, currencies are highly vetted
            //no curent way to do this

            //transaction black list

            //none, only returns good pairs
            //no current way to do this directly. it can be implied that if a pair is not returned then it is not active


            //master transaction list
            //master coin list
            foreach (var trans in transactions.result)
            {
                if (!trans.Name.ToString().Contains(".d"))
                {
                    Transaction transactionBuilder = new Transaction();
                    Currency    currencyBuilder    = new Currency();

                    transactionBuilder.identifier      = trans.Name;
                    transactionBuilder.transactionType = Transaction.type.Trade;



                    currencyBuilder.symbol   = krakenCoinDict[[email protected]()];
                    currencyBuilder.exchange = exchange;
                    db.AddCurrencyToMasterList(currencyBuilder);
                    transactionBuilder.baseCurrency = currencyBuilder;

                    currencyBuilder          = new Currency();
                    currencyBuilder.symbol   = krakenCoinDict[trans.First.quote.ToString()];
                    currencyBuilder.exchange = exchange;
                    db.AddCurrencyToMasterList(currencyBuilder);
                    transactionBuilder.quoteCurrency = currencyBuilder;


                    //transactionBuilder.bid = decimal.Parse(ticker.result[trans.Name].b[0].Value.ToString(), System.Globalization.NumberStyles.Float);
                    //transactionBuilder.ask = decimal.Parse(ticker.result[trans.Name].a[0].Value.ToString(), System.Globalization.NumberStyles.Float);


                    db.AddTransactionToMasterlist(transactionBuilder);
                }
            }

            return(true);
        }
コード例 #2
0
        private static void TranslateSymbolsCodes()
        {
            GlobalData db = GlobalData.Instance;

            db.TranslateISOCurrencies();
        }
コード例 #3
0
        public TriArbMasterViewModel()
        {
            GlobalData db = GlobalData.Instance;

            Items = db.GetTriArbOutput();
        }