static void Main(string[] args) { tickDatas = new Dictionary <string, TickData>(); HuobiMarket market = new HuobiMarket(); market.OnMessage += TickUpdate; market.OnConnecteed += HBConnected; string url = "wss://api.huobipro.com/ws"; try { market.Init(url); } catch (Exception ex) { Console.WriteLine(ex.Message); } List <string> symbols = new List <string>() { "btcusdt", "eosbtc", "eosusdt" }; foreach (var item in symbols) { tickDatas[item] = new TickData(); string str = "market." + item + ".depth.step0"; market.Subscribe(str, "33233011"); } //thread = new Thread(new ThreadStart(RecordeDatas)); Console.ReadLine(); }
public override HuobiMarketSummary GetMarketSummary(HuobiMarket market) { Depth btcusdDepth = BtceApi.GetDepth(BtcePair.btc_usd); Ticker ticker = BtceApi.GetTicker(BtcePair.btc_usd); List <TradeInfo> trades = BtceApi.GetTrades(BtcePair.btc_usd); return(new HuobiMarketSummary { buys = btcusdDepth.Asks.Select(a => new HuobiDepthItem { amount = a.Amount, price = a.Price }).ToArray(), sells = btcusdDepth.Bids.Select(a => new HuobiDepthItem { amount = a.Amount, price = a.Price }).ToArray(), trades = trades.Select(a => new HuobiTransaction { amount = a.Amount, price = a.Price, time = a.Date.ToString(), type = a.Type.ToString(), }).ToArray(), p_low = ticker.Low, amount = ticker.Volume, p_high = ticker.High, }); }
/// <summary> /// /// </summary> /// <param name="huobi"></param> /// <param name="market"></param> /// <param name="renderer"></param> public AlgoBase(IMarket huobi, HuobiMarket market, Rendering renderer) { m_huobi = huobi; m_market = market; m_lastOpenOrders = m_huobi.GetOpenOrders(m_market); m_startInfo = m_huobi.GetAccountInfo(); m_renderer = renderer; }
public override HuobiSimpleResult CancelOrder(HuobiMarket coinType, uint uid) { CancelOrderAnswer cancelAnswer = _btceApi.CancelOrder((int)uid); return(new HuobiSimpleResult { result = cancelAnswer.OrderId.ToString() }); }
public override HuobiOrderResult OnBuy(HuobiMarket coinType, decimal price, decimal amountBtc) { TradeAnswer tradeAnswer = _btceApi.Trade(BtcePair.btc_usd, TradeType.Buy, price, amountBtc); return(new HuobiOrderResult { id = (uint)tradeAnswer.OrderId, result = tradeAnswer.Received.ToString() }); }
public override HuobiMarketSummary GetMarketSummary(HuobiMarket market) { var request = new SynchronousJsonWebRequest <HuobiMarketSummary>( "http://market.huobi.com/staticmarket/detail_" + market + "_json.js", null, Huobi.kGet, "", 10, Huobi.kRetryCount); return(request.Send()); }
public void AddSubscribeTest() { var result = HuobiMarket.Init(); var topic = string.Format(HuobiMarket.MARKET_KLINE, "etcbtc", "1day"); var guid = Guid.NewGuid().ToString(); HuobiMarket.Subscribe(topic, guid); HuobiMarket.OnMessage += (sender, e) => { Console.WriteLine("OnMessage:" + e.Message); }; Thread.Sleep(1000 * 15); Assert.IsTrue(result); }
public override List<HuobiOrder> GetOpenOrders(HuobiMarket coinType) { OrderList orderList = _btceApi.GetOrderList(); if (orderList.List != null) { return orderList.List.Select(e => new HuobiOrder { order_amount = e.Value.Amount, order_price = e.Value.Rate, order_time = e.Value.TimestampCreated, type = e.Value.Type == TradeType.Buy ? HuobiOrderType.buy : HuobiOrderType.sell, }).ToList(); } return new List<HuobiOrder>(); }
public override List <HuobiOrder> GetOpenOrders(HuobiMarket coinType) { OrderList orderList = _btceApi.GetOrderList(); if (orderList.List != null) { return(orderList.List.Select(e => new HuobiOrder { order_amount = e.Value.Amount, order_price = e.Value.Rate, order_time = e.Value.TimestampCreated, type = e.Value.Type == TradeType.Buy ? HuobiOrderType.buy : HuobiOrderType.sell, }).ToList()); } return(new List <HuobiOrder>()); }
public override HuobiMarketSummary GetMarketSummary(HuobiMarket market) { Depth btcusdDepth = BtceApi.GetDepth(BtcePair.btc_usd); Ticker ticker = BtceApi.GetTicker(BtcePair.btc_usd); List<TradeInfo> trades = BtceApi.GetTrades(BtcePair.btc_usd); return new HuobiMarketSummary { buys = btcusdDepth.Asks.Select(a => new HuobiDepthItem { amount = a.Amount, price = a.Price }).ToArray(), sells = btcusdDepth.Bids.Select(a => new HuobiDepthItem { amount = a.Amount, price = a.Price }).ToArray(), trades = trades.Select(a => new HuobiTransaction { amount = a.Amount, price = a.Price, time = a.Date.ToString(), type = a.Type.ToString(), }).ToArray(), p_low = ticker.Low, amount = ticker.Volume, p_high = ticker.High, }; }
public override HuobiSimpleResult CancelOrder(HuobiMarket coinType, uint uid) { CancelOrderAnswer cancelAnswer = _btceApi.CancelOrder((int)uid); return new HuobiSimpleResult {result = cancelAnswer.OrderId.ToString()}; }
public override HuobiSimpleResult CancelOrder(HuobiMarket coinType, uint uid) { return(Send <HuobiSimpleResult>("cancel_order", "coin_type", (int)coinType, "id", uid)); }
public abstract HuobiOrderResult OnSell(HuobiMarket coinType, decimal price, decimal amountBtc);
/// <summary> /// </summary> /// <param name="coinType"></param> /// <param name="uid"></param> /// <returns></returns> public abstract HuobiSimpleResult CancelOrder(HuobiMarket coinType, uint uid);
/// <summary> /// </summary> /// <param name="market"></param> /// <returns></returns> public abstract HuobiMarketSummary GetMarketSummary(HuobiMarket market);
/// <summary> /// </summary> /// <param name="huobi"></param> /// <param name="market"></param> /// <param name="renderer"></param> public NaiveMarketMaker(IMarket huobi, HuobiMarket market, Rendering renderer) : base(huobi, market, renderer) { }
/// <summary> /// </summary> /// <param name="coinType"></param> /// <returns></returns> public abstract List <HuobiOrder> GetOpenOrders(HuobiMarket coinType);
public override HuobiOrderResult OnSell(HuobiMarket coinType, decimal price, decimal amountBtc) { return(Send <HuobiOrderResult>("sell", "coin_type", (int)coinType, "price", price, "amount", amountBtc)); }
public override HuobiOrderResult OnBuy(HuobiMarket coinType, decimal price, decimal amountBtc) { TradeAnswer tradeAnswer = _btceApi.Trade(BtcePair.btc_usd, TradeType.Buy, price, amountBtc); return new HuobiOrderResult {id = (uint) tradeAnswer.OrderId, result = tradeAnswer.Received.ToString()}; }
public void InitTest() { var result = HuobiMarket.Init(); Assert.IsTrue(result); }
/// <summary> /// </summary> /// <param name="coinType"></param> /// <param name="price"></param> /// <param name="amountBtc"></param> /// <returns></returns> public HuobiOrderResult Buy(HuobiMarket coinType, decimal price, decimal amountBtc) { ValidatePrice(price); ValidateAmount(amountBtc); return(OnBuy(coinType, price, amountBtc)); }
/// <summary> /// </summary> /// <param name="coinType"></param> /// <returns></returns> public override List <HuobiOrder> GetOpenOrders(HuobiMarket coinType) { return(Send <List <HuobiOrder> >("get_orders", "coin_type", (int)coinType)); }