public ForceExitOrder(SSBase strategy, ActionType actionType, BaseOrderType lmtOrderType = null, BaseOrderType mktOrderTYpe = null) { Strategy = strategy.GetType() == typeof(Strategy) ? (Strategy)strategy : null; OT_pre = lmtOrderType != null ? lmtOrderType : OT_pre; OT_final = mktOrderTYpe != null ? mktOrderTYpe : OT_final; ActionType = actionType; }
public AdaptiveProfitStop(SSBase strategy, ActionType actionType, BaseOrderType stpLmtOrder = null) { Strategy = strategy.GetType() == typeof(Strategy) ? (Strategy)strategy : null; OT_stopProfit = stpLmtOrder == null ? new IBStopLimitOrder() : stpLmtOrder; OT_stopLoss = stpLmtOrder == null ? new IBStopLimitOrder() : stpLmtOrder.CloneObject(); /* * OT_stopProfit.Slippages = new ObservableCollection<CSlippage>(); * OT_stopProfit.Slippages.Add(new CSlippage { Slippage = 1, PosSize = 1 }); * OT_stopLoss.Slippages = new ObservableCollection<CSlippage>(); * OT_stopLoss.Slippages.Add(new CSlippage { Slippage = 1, PosSize = 1 });*/ ActionType = actionType; }
public override void CopyTo(BaseOrderType dest) { if (dest != null && GetType() == dest.GetType()) { ((IBOrderType)dest).OcaGroup = OcaGroup; ((IBOrderType)dest).OcaType = OcaType; ((IBOrderType)dest).Transmit = Transmit; ((IBOrderType)dest).GoodAfterTime.ExactTime = GoodAfterTime.ExactTime; ((IBOrderType)dest).GoodAfterTime.ExactTimeValidDays = GoodAfterTime.ExactTimeValidDays; ((IBOrderType)dest).GoodAfterTime.OrderTime = GoodAfterTime.OrderTime; ((IBOrderType)dest).GoodAfterTime.Seconds = GoodAfterTime.Seconds; ((IBOrderType)dest).GoodAfterTime.Bars = GoodAfterTime.Bars; ((IBOrderType)dest).GoodAfterTime.SelectedIndex = GoodAfterTime.SelectedIndex; ((IBOrderType)dest).GoodAfterTime.BarInterval = GoodAfterTime.BarInterval; ((IBOrderType)dest).GoodTilDate.ExactTime = GoodTilDate.ExactTime; ((IBOrderType)dest).GoodTilDate.ExactTimeValidDays = GoodTilDate.ExactTimeValidDays; ((IBOrderType)dest).GoodTilDate.OrderTime = GoodTilDate.OrderTime; ((IBOrderType)dest).GoodTilDate.Seconds = GoodTilDate.Seconds; ((IBOrderType)dest).GoodTilDate.Bars = GoodTilDate.Bars; ((IBOrderType)dest).GoodTilDate.SelectedIndex = GoodTilDate.SelectedIndex; ((IBOrderType)dest).GoodTilDate.BarInterval = GoodTilDate.BarInterval; if (Slippages != null) { ((IBOrderType)dest).Slippages = new ObservableCollection <CSlippage>(); foreach (CSlippage slippage in Slippages) { ((IBOrderType)dest).Slippages.Add(new CSlippage { Slippage = slippage.Slippage, PosSize = slippage.PosSize }); } } else { ((IBOrderType)dest).Slippages = null; } BindingFlags flags = BindingFlags.Instance | BindingFlags.NonPublic; MethodInfo info = dest.GetType().GetMethod("OnPropertyChanged", flags); if (info == null) { info = dest.GetType().GetMethod("_RaisePropertyChanged", flags); } info.Invoke(dest, new object[] { "Slippages" }); } }