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); }
private static void TranslateSymbolsCodes() { GlobalData db = GlobalData.Instance; db.TranslateISOCurrencies(); }
public TriArbMasterViewModel() { GlobalData db = GlobalData.Instance; Items = db.GetTriArbOutput(); }