/// <summary> /// sub positions /// </summary> /// <param name="symbol"></param> /// <param name="callbackFun"></param> /// <param name="cid"></param> public void SubPositions(string symbol, _OnSubPositionsResponse callbackFun, string cid = _DEFAULT_CID) { string ch = $"positions.{symbol}"; WSOpData opData = new WSOpData { op = "sub", topic = ch }; Sub(JsonConvert.SerializeObject(opData), ch, callbackFun, typeof(SubPositionsResponse)); }
/// <summary> /// cross margin sub positions /// </summary> /// <param name="contractCode"></param> /// <param name="callbackFun"></param> /// <param name="cid"></param> public void CrossSubPositions(string contractCode, _OnSubPositionsResponse callbackFun, string cid = _DEFAULT_CID) { string ch = $"positions_cross.{contractCode}"; WSOpData opData = new WSOpData { op = "sub", topic = ch }; Sub(JsonConvert.SerializeObject(opData), ch, callbackFun, typeof(SubPositionsResponse)); }
/// <summary> /// cross margin sub positions /// </summary> /// <param name="contractCode"></param> /// <param name="callbackFun"></param> /// <param name="cid"></param> public void CrossSubPositions(string contractCode, _OnSubPositionsResponse callbackFun, string cid = WebSocketOp.DEFAULT_ID) { string ch = $"positions_cross.{contractCode}"; WSOpData opData = new WSOpData { op = "sub", topic = ch }; string sub_str = JsonConvert.SerializeObject(opData); WebSocketOp wsop = new WebSocketOp(this.path, sub_str, callbackFun, typeof(SubPositionsResponse), true, this.host, this.accessKey, this.secretKey); wsop.Connect(); if (!allWsop.ContainsKey(ch)) { allWsop.Add(ch, wsop); } }