/// <summary> /// 下单 /// </summary> /// <param name="side"></param> /// <param name="qty"></param> public void SendOrder(OrderSide side, double qty) { if (!TimeHelper.IsTradingTime()) { return; } if (qty <= 0) { return; } // 为减少滑点,对数量少的单子直接市价单 bool bMarketOrder = false; if (EnumOpenClose.OPEN == TextParameter.OpenClose) { if (qty <= MarketOpenQtyThreshold) { bMarketOrder = true; } } else { if (qty <= MarketCloseQtyThreshold) { bMarketOrder = true; } } //lock(this) { if (bMarketOrder) { SendMarketOrder(side, qty, TextParameter.ToString()); } else { SendLimitOrder(side, qty, PriceHelper.GetMatchPrice(this, side, Jump), TextParameter.ToString()); } } }
// 下单操作 private void SendOrder(OrderSide side, EnumOpenClose oc, double qty) { if (!TimeHelper.IsTradingTime()) { return; } if (qty <= 0) { return; } // 为减少滑点,对数量少的单子直接市价单 bool bMarketOrder = false; if (EnumOpenClose.OPEN == oc) { if (qty <= MarketOpenPriceThreshold) { bMarketOrder = true; } } else { if (qty <= MarketClosePriceThreshold) { bMarketOrder = true; } } if (bMarketOrder) { SendMarketOrder(side, qty, OpenCloseHelper.GetOpenCloseString(oc)); } else { SendLimitOrder(side, qty, PriceHelper.GetMatchPrice(this, side, 2), OpenCloseHelper.GetOpenCloseString(oc)); } }