static void Main(string[] args) { // The pair we will work on string pair = "XXBTZEUR"; SendingRateManager SRM = new SendingRateManager(); KrakenClient.KrakenClient client = new KrakenClient.KrakenClient(); //string result = client.CancelOrder("O3V2NP-DTB7Z-EEKGIC").ToString(); //Console.WriteLine(result); //Console.ReadKey(); KrakenService.Recorder rec1 = new KrakenService.Recorder(pair,SRM); KrakenService.Analysier ana1 = new KrakenService.Analysier(rec1); KrakenService.Player play1 = new Player(ana1, rec1.Pair,SRM); int i = 0; while(i < 40) { Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; HTMLUpdate("DateTime", unixTimestamp.ToString()); HTMLUpdate("LastPrice", ana1.LastPrice.ToString()); HTMLUpdate("LastMiddleQuote", ana1.LastMiddleQuote.ToString()); HTMLUpdate("LastLowerAsk", ana1.LastLowerAsk.ToString()); HTMLUpdate("LastHigherBid", ana1.LastHigherBid.ToString()); Thread.Sleep(1000); Console.WriteLine("--------------------------------------"); Console.WriteLine("Last Middle Quote:" + ana1.LastMiddleQuote); Console.WriteLine("Last Trade price:" + ana1.LastPrice); Console.WriteLine("Opened order exist : " + ana1.OpenedOrdersExist()); Console.WriteLine("Average : " + ana1.WeightedAverage); Console.WriteLine("Ecart Type : " + ana1.WeightedStandardDeviation); Console.WriteLine("BTC : " + rec1.CurrentBalance.BTC + "; EURO : " + rec1.CurrentBalance.EUR); Console.WriteLine("Sell or buy :" + ana1.SellorBuy().ToString() + " ; Potential Earning: " + ana1.PotentialPercentageOfEarning + " ; minimal earning required: " + ana1.MinimalPercentageOfEarning); i++; } Console.WriteLine("--------------------------------------"); Console.ReadKey(); while(true) { Int32 unixTimestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; HTMLUpdate("DateTime", unixTimestamp.ToString()); play1.Play(); Console.WriteLine("--------------------------------------"); Console.WriteLine("Player Status :" + play1.playerState); Console.WriteLine("Last Middle Quote:" + ana1.LastMiddleQuote); Console.WriteLine("Last Trade price:" + ana1.LastPrice); Console.WriteLine("Opened order exist : " + ana1.OpenedOrdersExist()); Console.WriteLine("Average : " + ana1.WeightedAverage); Console.WriteLine("Ecart Type : " + ana1.WeightedStandardDeviation); Console.WriteLine("BTC : " + rec1.CurrentBalance.BTC + "; EURO : " + rec1.CurrentBalance.EUR); Console.WriteLine("Sell or buy :" + ana1.SellorBuy().ToString() + " ; Potential Earning: " + ana1.PotentialPercentageOfEarning + " ; minimal earning required: " + ana1.MinimalPercentageOfEarning); Thread.Sleep(1000); } }
public Player(Analysier i_analysier, string i_pair, SendingRateManager srm) { NumberProvider = new NumberFormatInfo(); NumberProvider.CurrencyDecimalSeparator = "."; SRM = srm; analysier = i_analysier; client = new KrakenClient.KrakenClient(); MyOpenedOrders = analysier.MyOpenedOrders; playerState = PlayerState.Pending; }
public Broker() { client = new KrakenClient.KrakenClient(); //var balance = client.GetBalance(); //var parsed = JObject.Parse(balance.ToString()); //foreach (var pair in parsed) //{ // Console.WriteLine("{0}: {1}", pair.Key, pair.Value); //} var pairs = new List <string>(new string[] { "BCHEUR" }); var ticker = client.GetTicker(pairs); }
public Recorder(string i_pair, SendingRateManager srm) { NumberProvider = new NumberFormatInfo(); NumberProvider.CurrencyDecimalSeparator = "."; SRM = srm; CurrentBalance = new Balance(); client = new KrakenClient.KrakenClient(); ListOftradingDatas = new List<TradingData>(); ListOfCurrentOrder = new List<CurrentOrder>(); ListOfOHLCData = new List<OHLCData>(); Pair = i_pair; IntervalInSecond = Convert.ToDouble(ConfigurationManager.AppSettings["IntervalStoredInMemoryInSecond"]); // it is to keep the data in memory from X (inetrval) to now. OrderBookCount = Convert.ToInt16(ConfigurationManager.AppSettings["OrderBookCount"]); OpenedOrders = new List<CurrentOrder>(); // Start recording GetOpenOrders(); RecordBalance(); Task.Run(() => RecordRecentTradeData()); Task.Run(() => RecordOrderBook()); Task.Run(() => RecordOHLCData()); }
public Broker() { client = new KrakenClient.KrakenClient(); }
private void GetData() { WebClient webClient = new WebClient(); webClient.Headers.Add("user-agent", "Only a test!"); BusLayer.Currency currencyHelper = new BusLayer.Currency(); KrakenClient.KrakenClient client = new KrakenClient.KrakenClient(); DataLayer.MstCurrencyList.MstCurrencyListDataTable currentLisTbl = currencyHelper.GetCurrentListRows(); DataLayer.PrmCurrency.PrmCurrencyDataTable currencyTable = currencyHelper.GetCurrencyRows(); try { foreach (DataLayer.MstCurrencyList.MstCurrencyListRow listRow in currentLisTbl) { string currencyCode = listRow.Code; if (currencyCode == "BTC") { currencyCode = "XBT"; } foreach (DataLayer.PrmCurrency.PrmCurrencyRow currencyRow in currencyTable) { try { string newcurrencyCode = currencyCode + currencyRow.Currency; Jayrock.Json.JsonObject js5on = client.GetTicker(new List <string> { newcurrencyCode }); string innerRes = string.Empty; if (newcurrencyCode == "XBTUSD") { innerRes = "XXBTZUSD"; } else if (newcurrencyCode == "XBTEUR") { innerRes = "XXBTZEUR"; } else if (newcurrencyCode == "ETHUSD") { innerRes = "XETHZUSD"; } else if (newcurrencyCode == "ETHEUR") { innerRes = "XETHZEUR"; } else if (newcurrencyCode == "XRPUSD") { innerRes = "XXRPZUSD"; } else if (newcurrencyCode == "XRPEUR") { innerRes = "XXRPZEUR"; } else if (newcurrencyCode == "LTCUSD") { innerRes = "XLTCZUSD"; } else if (newcurrencyCode == "LTCEUR") { innerRes = "XLTCZEUR"; } else if (newcurrencyCode == "ZECUSD") { innerRes = "XZECZUSD"; } else if (newcurrencyCode == "ZECEUR") { innerRes = "XZECZEUR"; } else if (newcurrencyCode == "DASHUSD") { innerRes = "DASHUSD"; } else if (newcurrencyCode == "DASHEUR") { innerRes = "DASHEUR"; } if (innerRes != string.Empty) { Dictionary <string, object> values = JsonConvert.DeserializeObject <Dictionary <string, object> >(js5on["result"].ToString()); Dictionary <string, object> Innervalues = JsonConvert.DeserializeObject <Dictionary <string, object> >(values[innerRes].ToString()); //create the new row DataLayer.TrnKrakenValue.TrnKrakenValueDataTable newTbl = new DataLayer.TrnKrakenValue.TrnKrakenValueDataTable(); DataLayer.TrnKrakenValue.TrnKrakenValueRow newRow = newTbl.NewTrnKrakenValueRow(); newRow.TrnKrakenValueGuid = Guid.NewGuid(); newRow.MstCurrencyListGuid = listRow.MstCurrencyListGuid; newRow.Ask = decimal.Parse(JsonConvert.DeserializeObject <List <string> >(Innervalues["a"].ToString())[0], new CultureInfo("en-US")); newRow.Bid = decimal.Parse(JsonConvert.DeserializeObject <List <string> >(Innervalues["b"].ToString())[0], new CultureInfo("en-US")); newRow.CreateDate = DateTime.Now; newRow.PrmCurrencyId = currencyRow.PrmCurrencyId; newRow.PrmCurrencySourceId = 3; newTbl.AddTrnKrakenValueRow(newRow); currencyHelper.UpdateCurrencyValue(newRow); } } catch (Exception ex) { } } } } catch (Exception ex) { } //kraken is ask /* * XBTEUR * XBTUSD * * ETHEUR * ETHUSD * * XRPEUR * XRPUSD * * * LTC * ZEC * DASH * * <pair_name> = pair name * a = ask array(<price>, <whole lot volume>, <lot volume>), * b = bid array(<price>, <whole lot volume>, <lot volume>), * c = last trade closed array(<price>, <lot volume>), * v = volume array(<today>, <last 24 hours>), * p = volume weighted average price array(<today>, <last 24 hours>), * t = number of trades array(<today>, <last 24 hours>), * l = low array(<today>, <last 24 hours>), * h = high array(<today>, <last 24 hours>), * o = today's opening price * * * * * * * bitstamp * https://www.bitstamp.net/api/ * * btcusd, btceur, * ethusd, etheur, * xrpusd, xrpeur * * * {"high": "1.74000", * "last": "1.68754", * "timestamp": "1516295176" , to use * "bid": "1.68001", to use * "vwap": "1.33150", * "volume": "164572084.34820374", * "low": "0.94344", * "ask": "1.68749", to use * "open": "1.29849"} * */ }