在集合竞价阶段以开盘价平掉昨天持有的股指期货多仓与空仓

能帮我编辑一个代码么:在集合竞价阶段以开盘价平掉昨天持有的股指期货多仓与空仓Params Numeric Offset(5); // 滑点基数(按最小变动单位) Vars Numeric buyPosition(0); // 多头持仓量 Numeric sellPosition(0); // 空头持仓量 Numeric currentTime(0); // 当前时间(HHMM格式) Numeric tickSize(0); // 实际滑点金额 Numeric openPrice(0); // 开盘价 Bool condition1(False); // 触发条件 Events // 初始化参数 OnInit() { tickSize = MinMove * PriceScale; // 计算实际滑点金额 SetGlobalVar(0,0); // 初始化全局变量 } // 每根K线结束触发 OnBar() { // 时间转换:将0.HHMMSS转为HHMM整数(如9:30:00→930) currentTime = IntPart(Time * 10000); // 严格限定执行条件(9点30分) If(currentTime == 930 And GetGlobalVar(0) == 0) { // 获取当前持仓量(含今昨仓) buyPosition = A_BuyPosition(); // 获取多头持仓量 sellPosition = A_SellPosition(); // 获取空头持仓量 // 获取开盘价 openPrice = Open; // ========== 调试信息输出 ========== // Commentary( "时间:" + Text(currentTime) + "\n多单持仓:" + Text(buyPosition) + "\n空单持仓:" + Text(sellPosition) + "\n开盘价:" + Text(openPrice) ); // ========== 平仓逻辑 ========== // // 平多单(限价单方式,以开盘价为基础) If(buyPosition > 0) { // 限价平仓:以开盘价减去滑点作为平仓价 Numeric limitPrice = openPrice - Offset * tickSize; A_SendOrder(Enum_Sell, Enum_Entry, limitPrice, buyPosition); Commentary("已发送限价平多单:" + Text(buyPosition) + "手,价格:" + Text(limitPrice)); } // 平空单(限价单方式,以开盘价为基础) If(sellPosition > 0) { // 限价平仓:以开盘价加上滑点作为平仓价 Numeric limitPrice = openPrice + Offset * tickSize; A_SendOrder(Enum_Buy, Enum_Exit, limitPrice, sellPosition); Commentary("已发送限价平空单:" + Text(sellPosition) + "手,价格:" + Text(limitPrice)); } // 记录交易状态 SetGlobalVar(0, 1); // 标记已发单 } }但不发单,请大神修改

能帮我编辑一个代码么:在集合竞价阶段以开盘价平掉昨天持有的股指期货多仓与空仓 Params Numeric Offset(5); // 滑点基数(按最小变动单位) Vars Numeric buyPosition(0); // 多头持仓量 Numeric sellPosition(0); // 空头持仓量 Numeric currentTime(0); // 当前时间(HHMM格式) Numeric tickSize(0); // 实际滑点金额 Numeric openPrice(0); // 开盘价 Bool condition1(False); // 触发条件 Events // 初始化参数 OnInit() { tickSize = MinMove * PriceScale; // 计算实际滑点金额 SetGlobalVar(0,0); // 初始化全局变量 } // 每根K线结束触发 OnBar() { // 时间转换:将0.HHMMSS转为HHMM整数(如9:30:00→930) currentTime = IntPart(Time * 10000); // 严格限定执行条件(9点30分) If(currentTime == 930 And GetGlobalVar(0) == 0) { // 获取当前持仓量(含今昨仓) buyPosition = A_BuyPosition(); // 获取多头持仓量 sellPosition = A_SellPosition(); // 获取空头持仓量 // 获取开盘价 openPrice = Open; // ========== 调试信息输出 ========== // Commentary( "时间:" + Text(currentTime) + "\n多单持仓:" + Text(buyPosition) + "\n空单持仓:" + Text(sellPosition) + "\n开盘价:" + Text(openPrice) ); // ========== 平仓逻辑 ========== // // 平多单(限价单方式,以开盘价为基础) If(buyPosition > 0) { // 限价平仓:以开盘价减去滑点作为平仓价 Numeric limitPrice = openPrice - Offset * tickSize; A_SendOrder(Enum_Sell, Enum_Entry, limitPrice, buyPosition); Commentary("已发送限价平多单:" + Text(buyPosition) + "手,价格:" + Text(limitPrice)); } // 平空单(限价单方式,以开盘价为基础) If(sellPosition > 0) { // 限价平仓:以开盘价加上滑点作为平仓价 Numeric limitPrice = openPrice + Offset * tickSize; A_SendOrder(Enum_Buy, Enum_Exit, limitPrice, sellPosition); Commentary("已发送限价平空单:" + Text(sellPosition) + "手,价格:" + Text(limitPrice)); } // 记录交易状态 SetGlobalVar(0, 1); // 标记已发单 } }但不发单,请大神修改

看置顶帖,投付费编写稿,或者投邮件答疑活动的稿