public OkexTransferPositionByBasis(OkexFutureInstrumentType inst, OkexFutureContractType sc, OkexFutureContractType fc, OkexBasisCalcType type, OkexFutureTradeDirectionType tradeDir) { m_instrument = inst; m_basisCalcType = type; m_spotContract = sc; m_forwardContract = fc; m_tradeDirection = tradeDir; }
public OkexStrategy generateStrategy(string type, string info) { OkexStrategy s = null; if (type == "TPByBasis") { JObject jo = (JObject)JsonConvert.DeserializeObject(info); string strInst = (string)jo["Instrument"]; OkexFutureInstrumentType fi = strInstrumentMap[strInst]; string strSC = (string)jo["SpotContract"]; OkexFutureContractType sc = strContractMap[strSC]; string strFC = (string)jo["ForwardContract"]; OkexFutureContractType fc = strContractMap[strFC]; string strDir = (string)jo["Direction"]; OkexFutureTradeDirectionType dir = OkexFutureTradeDirectionType.FTD_Sell; if (strDir.Equals("buy", StringComparison.OrdinalIgnoreCase)) { dir = OkexFutureTradeDirectionType.FTD_Buy; } else if (strDir.Equals("sell", StringComparison.OrdinalIgnoreCase)) { dir = OkexFutureTradeDirectionType.FTD_Sell; } OkexBasisCalcType bc = OkexBasisCalcType.BC_Ratio; string strType = (string)jo["Type"]; if (strType.Equals("ratio", StringComparison.OrdinalIgnoreCase)) { bc = OkexBasisCalcType.BC_Ratio; } else if (strType.Equals("diff", StringComparison.OrdinalIgnoreCase)) { bc = OkexBasisCalcType.BC_Diff; } s = new OkexTransferPositionByBasis(fi, sc, fc, bc, dir); //double boardLot = (double)jo["BoardLot"]; double basis = (double)jo["Basis"]; double safe = (double)jo["Safe"]; double limit = (double)jo["Limit"]; uint count = (uint)jo["Count"]; double param = (double)jo["Param"]; ((OkexTransferPositionByBasis)s).init(basis, safe, limit, count, param); } return(s); }