PRINT输出不全

实盘行情由TICK驱动运行,速度很快,我在ONORDER中用命令作PRINT输出,感觉输出内容不全,是否有的输出内容会被跳过?PRINT本来就是用来测试策略的,如果输出不全,我就无法验证策略逻辑,请老师们指导!!!

什么内容不全说明一下,截图,代码都可以

不可能输出不全没输出,就是没执行

写文件

回复://------------------------------------------------------------------------ // 简称: ZS33 // 名称: 报单&撤单 // 类别: 公式应用 // 类型: 用户应用 // 输出: VSid //------------------------------------------------------------------------ //------------------------------------------------------------------------ // 简称: Boll_B_A // 名称: 布林强盗/多/A函数 // 类别: 公式应用 // 类型: 用户应用 // 输出: VSid //------------------------------------------------------------------------ //------------------------------------------------------------------------ // 简称: Boll_S // 名称: 布林强盗/空 // 类别: 公式应用 // 类型: 用户应用 // 输出: VSid //------------------------------------------------------------------------ //------------------------------------------------------------------------ // 简称: ZS27_1 // 名称: 布林强盗/空 // 类别: 公式应用 // 类型: 用户应用 // 输出: VSid //------------------------------------------------------------------------ //------------------------------------------------------------------------ // 简称: ZS27 // 名称: 布林强盗/多 // 类别: 公式应用 // 类型: 用户应用 // 输出: VSid //------------------------------------------------------------------------ //------------------------------------------------------------------------ // 简称: BollingerBandit_L // 名称: 布林强盗_多 // 类别: 公式应用 // 类型: 内建应用 // 输出: //------------------------------------------------------------------------ /* 策略说明: 基于布林通道的突破系统 系统要素: 1、基于收盘价计算而来的布林通道 2、基于收盘价计算而来的进场过滤器 3、自适应出场均线 入场条件: 1、满足过滤条件,并且价格上破布林通道上轨,开多单 2、满足过滤条件,并且价格下破布林通道下轨,开空单 出场条件: 1、持有多单时,自适应出场均线低于布林通道上轨,并且价格下破自适应出场均线,平多单 2、持有空单时,自适应出场均线高于布林通道下轨,并且价格上破自适应出场均线,平空单 注 意: 此公式仅做多 */ /*返回TRUE,表示是成功执行了这个撤单命令,并不是指撤单成功。 成功执行撤单命令和撤单成功是两回事 因为你如果填错了订单号,导致找不到这个订单,那就是执行失败了,这叫没有成功执行撤单命令。 撤单成功是指成功执行撤单命令后,交易所收到撤单命令,然后把委托单撤销,并且回报给客户端。*/ Params Numeric Lots(1);// 交易手数 Vars Series<Numeric> BAR0(0); // BAR索引 Series<Numeric> BarS(0); // 开仓BAR Series<Numeric> BarP(0); // 平仓BAR Series<Numeric> TickSell(0); // 开仓Tick Series<Numeric> TickP(0); // 平仓Tick //Series<Numeric> SellJs(0); // 发出开空单计数 //Series<Numeric> PingJs(0); // 发出平空单计数 Series<Numeric> StopPrice; //订单变量 Global Array<Integer> Sid;//开仓单号 Global Array<Integer> Pid;//平仓单号 Global Numeric SellJs(0); // 发出开空单计数 Global Numeric PingJs(0); // 发出平空单计数 Global Numeric HaveS(0);//空单持仓(Position是系统关键字) Global Numeric CancelS(0);//撤回开空单计数 Global Numeric CancelP(0);//撤回平仓单计数 Global Numeric MinDiff;////最小变动价/一跳价 Global Numeric PPP;//基准价 Global Numeric TickSn;//Tick索引 Global Numeric OrderStatuS;//开空单状态 Global Numeric OrderStatuP;//平空单状态 Events OnInit()//策略执行前的初始化事件,只运行一次。/可以订阅数据,数据准备等操作。 { //SubscribeBar(Data0.Symbol,"Tick",Data0.BeginDateTime);//图层1 //CreateTimer(10000); //data[0].hide;//隐藏图层 HaveS=0; //PPP=0; SubscribeTick(Symbol); //SubscribeTick(RelativeSymbol);//返回主力合约,用于888或000 OrderStatuS=5; OrderStatuP=5; } OnReady() { MinDiff=PriceScale*MinMove;//最小变动价/一跳价 } OnOrder(OrderRef Ord)//委托更新事件 { //PRINT("Ord" +TEXT(Ord.status)); //OrderStatuS IF (Ord.status==Enum_Filled AND Ord.ORDERID==Sid[0])//开空单已成交 { SellJs=0; // 发出开空单计数 HaveS=1; OrderStatuS=5; Print("开空单已成交,TickSn("+TEXT(TickSn)+")"); } IF (Ord.status==Enum_Declared AND Ord.ORDERID==Sid[0])//开空单已申报(未成交) { OrderStatuS=2; Print("开空单未成交,TickSn("+TEXT(TickSn)+")"); } IF (Ord.status==Enum_Canceled AND Ord.ORDERID==Sid[0])//开空单(已撤单) { OrderStatuS=6; Print("开空单已撤回,TickSn("+TEXT(TickSn)+")"); } //OrderStatuP IF (Ord.status==Enum_Filled AND Ord.ORDERID==Pid[0])//平空单已成交 { PingJs=0; HaveS=0; OrderStatuP=5; Print("平空单已成交,TickSn("+TEXT(TickSn)+")"); } IF (Ord.status==Enum_Declared AND Ord.ORDERID==Pid[0])//平仓单已申报(未成交) { OrderStatuP=2; Print("平空单未成交,TickSn("+TEXT(TickSn)+")"); } IF (Ord.status==Enum_Canceled AND Ord.ORDERID==Pid[0])//平仓单(已撤单) { OrderStatuP=6; Print("平空单已撤回,TickSn("+TEXT(TickSn)+")"); } }//OnOrder OnBarOpen(ArrayRef<Integer> indexs) { TickSn=0; } OnBar(ArrayRef<Integer> indexs) { IF (BarStatus==2) { If(HaveS==0 AND OrderStatuS==5 And OPEN<=C[1]) //开空 { IF (A_SendOrderEx(Enum_Sell,Enum_Entry,Lots,Open+MinDiff*2,Sid )); { //HaveS=1; BarS=Bar0; TickSell=TickSn; StopPrice=H[1]; SellJs=SellJs+1; Print("首开空单编号="+TEXT(Sid[0])+"/BarS="+TEXT(BarS)+"/TickS="+TEXT(TickSell)); Print("/开空次数="+TEXT(SellJs)+"/持空仓量="+TEXT(HaveS)); } } /*IF (OrderStatuS==5)//开空单已成交 SellJs=0; // 发出开空单计数*/ IF (OrderStatuS==2 AND (BAR0-BARS)*120+TickSn-TickSell>10)//撤回开空单 { A_DeleteOrder(Sid[0]); Print("撤回开空单,TickSn("+TEXT(TickSn)+")"); } IF (OrderStatuS==6 AND (BAR0-BARS)*120+TickSn-TickSell>11)//重发开空单 { IF (A_SendOrderEx(Enum_Sell,Enum_Entry,Lots,Q_Last,Sid));//重发开空单(买1价) { Print("重开空单价="+TEXT(Q_Last)+"/开空次数="+TEXT(SellJs)); BarS=Bar0; TickSell=TickSn; SellJs=SellJs+1; Print("重开空单编号="+TEXT(Sid[0])+"/BarS="+TEXT(BarS)+"/TickS="+TEXT(TickSell)); } } // 出场 If(HaveS==1 AND OrderStatuP==5 And BAR0>BarS And H>=StopPrice) { IF (A_SendOrderEx(Enum_BUY,Enum_Exit,Lots,StopPrice-MinDiff*1,Pid)) { //HaveS=0; BarP=Bar0; TickP=TickSn; PingJs=PingJs+1; Print("首平空单编号="+TEXT(Pid[0])+"/BarP="+TEXT(BarP)+"/TickP="+TEXT(TickP)+"HaveS="+TEXT(HaveS)+"/平空次数="+TEXT(PingJs)); } } /*IF (OrderStatuP==5)//开空单已成交 PingJs=0;*/ IF (OrderStatuP==2 And (BAR0-BARP)*120+TickSn-TickP>10)//撤回平空单 { A_DeleteOrder(Pid[0]); Print("撤回平空单,TickSn("+TEXT(TickSn)+")"); } IF (OrderStatuP==6 AND (BAR0-BARP)*120+TickSn-TickP>11);//重发平空单 { IF (A_SendOrderEx(Enum_BUY,Enum_EXIT,Lots,Q_Last,Pid));//重发平空单(卖1价) { Print("重平空单的价="+TEXT(Q_Last)+"/平空次数="+TEXT(PingJs)); BarP=Bar0; TickP=TickSn; PingJs=PingJs+1; Print("重平空单编号="+TEXT(Pid[0])+"/BarP="+TEXT(BarP)+"/TickP="+TEXT(TickP)); } } TickSn=TickSn+1; Print("Tick索引="+TEXT(TickSn)); }// IF (BarStatus==2) } //------------------------------------------------------------------------ // 编译版本 GS2014.10.25 // 版权所有 TradeBlazer Software 2003-2025 // 更改声明 TradeBlazer Software保留对TradeBlazer平 // 台每一版本的TradeBlazer公式修改和重写的权利 //------------------------------------------------------------------------

回复:请帮我验证上传交易策略的逻辑,策略用途是测试订单流,策略要求是持仓不超过1手,但测试过程中频繁发出订单(开仓或平仓),请帮我找出逻辑BUG并修正,谢谢!!!

回复:哥 把你当AI用了 哈哈哈哈哈哈哈哈哈

回复:写一下估计十几分钟改一下估计要半天等老师给他看看吧😂

回复:你给他看看刚好训练一下😁

回复:有纸笔记一下规则估计十几分钟能改好

回复:麻烦两位老师了,我请DEPPSIK看过了,说了一堆不在重点,所以才斗胆请教老师,不用感激!!!

回复:我改进了策略,已重新发贴,麻烦老师看新贴!!!