public TrailingItem ReloadTrailingItem() { TrailingItem returnVal = new TrailingItem(); BindingFlags flags = BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; FieldInfo[] fieldArray = returnVal.GetType().GetFields(flags); BindingFlags flagsStrategySave = BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; FieldInfo[] ItemSaveFieldArray = this.GetType().GetFields(flagsStrategySave); foreach (FieldInfo field in fieldArray) { foreach (FieldInfo SaveField in ItemSaveFieldArray) { if (field.Name == SaveField.Name) { field.SetValue(returnVal, SaveField.GetValue(this)); } } } returnVal.tickBongInfoMgr.Clear(); returnVal.curTickCount = 0; return(returnVal); }
private void AddTrailing(TrailingPercentageItemForSave saved) { Task requestItemInfoTask = new Task(() => { TrailingItem itemAdd = saved.ReloadTrailingItem(); foreach (var strategyItem in form.tradingStrategyList) { if (saved.strategySave.buyCondition.Name == strategyItem.buyCondition.Name) { itemAdd.strategy = strategyItem; } } axKHOpenAPI1.SetInputValue("종목코드", itemAdd.itemCode); int result = axKHOpenAPI1.CommRqData(ConstName.RECEIVE_REAL_DATA_HOGA, "opt10004", 0, Form1.GetScreenNum().ToString()); form.SetTrailingItem(itemAdd); }); RequestTrDataManager.GetInstance().RequestTrData(requestItemInfoTask); }
public TrailingPercentageItemForSave(TrailingItem itemTrail, TradingStrategy ts) { strategySave = new TradingStrategyForSave(ts); BindingFlags flags = BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; FieldInfo[] fieldArray = itemTrail.GetType().GetFields(flags); BindingFlags flagsStrategySave = BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; FieldInfo[] StrategySaveFieldArray = this.GetType().GetFields(flagsStrategySave); foreach (FieldInfo field in fieldArray) { foreach (FieldInfo SaveField in StrategySaveFieldArray) { if (field.Name == SaveField.Name) { SaveField.SetValue(this, field.GetValue(itemTrail)); } } } }