开仓后部分平仓
各位大神好,因部分品种因交易所限制开仓手数无法小仓位参与,我想实现按交易所最低开仓手数开仓后立即部分平仓。用加权跑原本的策略,然后在另建单元为主力合约跑以下检测实际持仓实现部分平仓功能。但是实际过程中,无法实现百分百发送委托,这个会是什么原因。Params Numeric xzLot(5); // 默认手数 Numeric Lots(1); // 默认手数vars Global String tmpMSyms2; //当前的真实主力合约 Numeric xzLot(1); // 限制开仓手数 Global Numeric lots1(0); // 全局多头持仓数 Global Numeric lots2(0); // 全局空头持仓数 Events OnPosition(PositionRef pos) { lots1 = pos.longCanSellVolume; // 全局多头持仓数 lots2 = pos.shortCanCoverVolume; // 全局空头持仓数 } OnBar(ArrayRef<Integer> indexs) { Commentary("限制开仓: " + Text(xzLot)); Commentary("需求开仓: " + Text(Lots)); Commentary("多头持仓: " + Text(lots1)); Commentary("空头持仓: " + Text(lots2)); if(lots1 != 0 and lots1 != Lots and xzLot != 1) { Sell(lots1 - Lots, 0); Commentary("多头限仓平仓" + text(lots1 - Lots) + "手"); } if(lots2 != 0 and lots2 != Lots and xzLot != 1) { BuyToCover(lots2 - Lots, 0); Commentary("空头限仓平仓" + text(lots2 + Lots) + "手"); } }