/// <summary> /// sub depth /// </summary> /// <param name="contractCode"></param> /// <param name="type"></param> /// <param name="callbackFun"></param> /// <param name="id"></param> public void SubDepth(string contractCode, string type, _OnSubDepthResponse callbackFun, string id = _DEFAULT_ID) { string ch = $"market.{contractCode}.depth.{type}"; WSSubData subData = new WSSubData() { sub = ch, id = id }; Sub(JsonConvert.SerializeObject(subData), ch, callbackFun, typeof(SubDepthResponse)); }
/// <summary> /// sub incrementa depth /// </summary> /// <param name="symbol"></param> /// <param name="size"></param> /// <param name="callbackFun"></param> /// <param name="id"></param> public void SubIncrementalDepth(string symbol, string size, _OnSubDepthResponse callbackFun, string id = _DEFAULT_ID) { string ch = $"market.{symbol}.depth.size_{size}.high_freq"; WSSubData subData = new WSSubData() { sub = ch, id = id, dataType = "incremental" }; Sub(JsonConvert.SerializeObject(subData), ch, callbackFun, typeof(SubDepthResponse)); }
/// <summary> /// sub kline /// </summary> /// <param name="contractCode"></param> /// <param name="period"></param> /// <param name="callbackFun"></param> /// <param name="id"></param> public void SubKLine(string contractCode, string period, _OnSubKLineResponse callbackFun, string id = _DEFAULT_ID) { string ch = $"market.{contractCode}.kline.{period}"; WSSubData subData = new WSSubData() { sub = ch, id = id }; Sub(JsonConvert.SerializeObject(subData), ch, callbackFun, typeof(SubKLineResponse)); }
/// <summary> /// sub trade detail /// </summary> /// <param name="symbol"></param> /// <param name="callbackFun"></param> /// <param name="id"></param> public void SubTradeDetail(string symbol, _OnSubTradeDetailResponse callbackFun, string id = _DEFAULT_ID) { string ch = $"market.{symbol}.trade.detail"; WSSubData subData = new WSSubData() { sub = ch, id = id }; Sub(JsonConvert.SerializeObject(subData), ch, callbackFun, typeof(SubTradeDetailResponse)); }
/// <summary> /// sub basis /// </summary> /// <param name="symbol"></param> /// <param name="period"></param> /// <param name="callbackFun"></param> /// <param name="basisPriceType"></param> /// <param name="id"></param> public void SubBasis(string symbol, string period, _OnSubBasisResponse callbackFun, string basisPriceType = "open", string id = _DEFAULT_ID) { string ch = $"market.{symbol}.basis.{period}.{basisPriceType}"; WSSubData subData = new WSSubData() { sub = ch, id = id }; Sub(JsonConvert.SerializeObject(subData), ch, callbackFun, typeof(SubBasiesResponse)); }
/// <summary> /// sub index kline /// </summary> /// <param name="symbol"></param> /// <param name="period"></param> /// <param name="callbackFun"></param> /// <param name="id"></param> public void SubIndexKLine(string symbol, string period, _OnSubIndexKLineResponse callbackFun, string id = _DEFAULT_ID) { string ch = $"market.{symbol}.index.{period}"; WSSubData subData = new WSSubData() { sub = ch, id = id }; Sub(JsonConvert.SerializeObject(subData), ch, callbackFun, typeof(SubIndexKLineResponse)); }
/// <summary> /// sub incrementa depth /// </summary> /// <param name="contractCode"></param> /// <param name="size"></param> /// <param name="callbackFun"></param> /// <param name="id"></param> public void SubIncrementalDepth(string contractCode, string size, _OnSubDepthResponse callbackFun, string id = WebSocketOp.DEFAULT_ID) { string ch = $"market.{contractCode}.depth.size_{size}.high_freq"; WSSubData subData = new WSSubData() { sub = ch, id = id, dataType = "incremental" }; string sub_str = JsonConvert.SerializeObject(subData); WebSocketOp wsop = new WebSocketOp(this.path, sub_str, callbackFun, typeof(SubDepthResponse), true, this.host); wsop.Connect(); }
/// <summary> /// sub kline /// </summary> /// <param name="contractCode"></param> /// <param name="period"></param> /// <param name="callbackFun"></param> /// <param name="id"></param> public void SubKLine(string contractCode, string period, _OnSubKLineResponse callbackFun, string id = WebSocketOp.DEFAULT_ID) { string ch = $"market.{contractCode}.kline.{period}"; WSSubData subData = new WSSubData() { sub = ch, id = id }; string sub_str = JsonConvert.SerializeObject(subData); WebSocketOp wsop = new WebSocketOp(this.path, sub_str, callbackFun, typeof(SubKLineResponse), true, this.host); wsop.Connect(); }
/// <summary> /// sub depth /// </summary> /// <param name="symbol"></param> /// <param name="type"></param> /// <param name="callbackFun"></param> public void SubDepth(string symbol, string type, _OnSubDepthResponse callbackFun) { string ch = $"market.{symbol}.depth.{type}"; WSSubData subData = new WSSubData() { sub = ch }; string sub_str = JsonConvert.SerializeObject(subData); WebSocketOp wsop = new WebSocketOp(this.path, sub_str, callbackFun, typeof(SubDepthResponse), true, this.host); wsop.Connect(); }
/// <summary> /// sub depth /// </summary> /// <param name="symbol"></param> /// <param name="levels"></param> /// <param name="beRefresh"></param> /// <param name="callbackFun"></param> public void SubMBP(string symbol, int levels, bool beRefresh, _OnSubMBPResponse callbackFun) { string path = this.mbp; string ch = $"market.{symbol}.mbp.{levels}"; if (beRefresh) { path = this.path; ch = $"market.{symbol}.mbp.refresh.{levels}"; } WSSubData subData = new WSSubData() { sub = ch }; string sub_str = JsonConvert.SerializeObject(subData); WebSocketOp wsop = new WebSocketOp(path, sub_str, callbackFun, typeof(SubMBPResponse), true, this.host); wsop.Connect(); }