/// <summary> /// CapRatio: ES:RTY=1.7:1, NQ:RTY=2.1:1, NQ:ES=1.25:1 /// </summary> // public override int GetTradeQuantity(int idx, double ratio) { // switch(idx) { // case 0: return base.GetTradeQuantity(idx, CapRatio1); // ratio>0? (int)ratio*5 : 5; // case 1: return base.GetTradeQuantity(idx, CapRatio2); //ratio>0? (int)ratio*4 :4; // default: return -1; // } // } /// <summary> /// Load ctx from Json file /// </summary> /// <returns></returns> public override void ReadCtxParaObj() { //ReadRestfulJson(); ctxPairSpdDaily.DictCtxPairSpd = GConfig.LoadJson2Obj <Dictionary <string, List <CtxPairSpd> > >(GConfig.GetCTXFilePath()); //Dictionary<string, object> paraDict = GConfig.LoadJson2Dictionary(GetCTXFilePath()); //Dictionary<string, object> paraDict = GConfig.LoadJson2Obj<Dictionary<string, object>>(GetCTXFilePath()); Print(String.Format("ReadCtxPairSpd paraDict={0}, paraDict.Count={1}", ctxPairSpdDaily.DictCtxPairSpd, ctxPairSpdDaily.DictCtxPairSpd.Count)); //if(paraDict != null && paraDict.Count > 0) { //this.ctxPairSpd = paraDict[0]; //GUtils.DisplayProperties<JsonStgPairSpd>(ctxPairSpd, IndicatorProxy); //} // foreach(var ele in ctxPairSpdDaily.DictCtxPairSpd) // { //Print(string.Format("DateCtx.ele.Key={0}, ele.Value.ToString()={1}", ele.Key, ele.Value)); // foreach(CtxPairSpd ctxPS in ele.Value) { // Print(string.Format("ctxPS.Symbol={0}, ctxPS.TimeClose={1}", ctxPS.Symbol, ctxPS.TimeClose)); // } // } //foreach(JsonStgPairSpd ele in ctxPairSpd) { //GUtils.DisplayProperties<JsonStgPairSpd>(ele, IndicatorProxy); //Print(string.Format("DateCtx.ele.Key={0}, ele.Value.ToString()={1}", ele.Date, ele.CtxDaily)); // if(ele != null && ele.Date != null && ele.TimeCtxs != null) { // Print(String.Format("DateCtx.ele.Key={0}, ele.Value.ToString()={1}", ele.Date, ele.TimeCtxs)); // foreach(TimeCtx tctx in ele.TimeCtxs) { // Print(String.Format("ele.Date={0}, TimeCtx.tctx.Time={1}, tctx.ChannelType={2}, tctx.MinUp={3}, tctx.Support={4}", // ele.Date, tctx.Time, tctx.ChannelType, tctx.MinUp, tctx.Support)); // } // } //} // foreach(KeyValuePair<string, List<TimeCTX>> ele in paraDict.cmdMarketContext.ctx_daily.ctx) { // //paraMap.Add(ele.Key, ele.Value.ToString()); // Print(String.Format("ele.Key={0}, ele.Value.ToString()=", ele.Key)); // } }
/// <summary> /// Read command from Json file /// </summary> /// <returns></returns> public T ReadCmdParaObj <T>() { ReadRestfulJson(); T paraDict = GConfig.LoadJson2Obj <T>(GConfig.GetCTXFilePath()); Print(String.Format("ele.Key={0}, ele.Value.ToString()={1}", paraDict, paraDict.GetType().Name)); GUtils.DisplayProperties <T>(paraDict, IndicatorProxy); // foreach(DateCtx ele in paraDict.MktCtxDaily) { // Print(String.Format("DateCtx.ele.Key={0}, ele.Value.ToString()={1}", ele.Date, ele.TimeCtxs)); // if(ele != null && ele.Date != null && ele.TimeCtxs != null) { // Print(String.Format("DateCtx.ele.Key={0}, ele.Value.ToString()={1}", ele.Date, ele.TimeCtxs)); // foreach(TimeCtx tctx in ele.TimeCtxs) { // Print(String.Format("ele.Date={0}, TimeCtx.tctx.Time={1}, tctx.ChannelType={2}, tctx.MinUp={3}, tctx.Support={4}", // ele.Date, tctx.Time, tctx.ChannelType, tctx.MinUp, tctx.Support)); // } // } // } // foreach(KeyValuePair<string, List<TimeCTX>> ele in paraDict.cmdMarketContext.ctx_daily.ctx) { // //paraMap.Add(ele.Key, ele.Value.ToString()); // Print(String.Format("ele.Key={0}, ele.Value.ToString()=", ele.Key)); // } return(paraDict); }