如何使用 A_DeleteOrderByCode 撤掉指定合约的未成交委托单?

08-01 11:59发布

付费偷看设置
发送
1条回答
文华问答
1楼 · 08-01 12:34.采纳回答
A_DeleteOrderByCode 撤掉指定合约的未成交委托单

//此函数为系统封装函数。 用法: data0.A_DeleteOrderByCode(Type,"AccountID") //撤掉交易账户AccountID中data0合约的Type类型未成交委托单 //通常与A_IsNoOrderByCode (判断指定合约有无未成交委托单)函数连用。 1、参数Type写入枚举值可以确定未成交委托单的具体类型,枚举值如下: //Enum_Buy 买状态枚举值 //Enum_Sell 卖状态枚举值 //Enum_BuyEntry 买开状态枚举值 //Enum_BuyExit 买平(包括平今)状态枚举值 //Enum_SellEntry 卖开状态枚举值 //Enum_SellExit 卖平(包括平今)状态枚举值 //Enum_AllBuySell 全部状态枚举值 2、参数AccountID可写入指定账号,字符串类型,需加双引号标注。可缺省,如果不写,默认取当前执行的账号。 3、使用该函数需要在Data区定义合约,如果不写入默认取图表上加载的合约(具体定义规则见文末)。 注: //该函数支持回测,可在算法交易模型逻辑检测中使用。 例: Data data0:"m1909"; Vars Global_Numeric i; Begin If(i==0 ) { Commentary(text(data0.A_IsNoOrderByCode(Enum_Buy))); If( data0.A_IsNoOrderByCode(Enum_Buy) == 0 )//判断指定合约是否有买状态未成交委托单 { data0.A_DeleteOrderByCode(Enum_Buy);//撤掉指定合约的买状态未成交委托单 i=1; } } End Data区定义规则: 1、不同公式类型的缺省规则: //公式类型为基于K线数据可以不定义Data区,默认取图表中的合约; //公式类型为独立的算法交易模型,必须定义Data数据区。 2、Data区可定义多个合约,支持写入合约代码或文华码,需要使用双引号标注。 3、定义不同合约数量的规则: //若模型中Data区只定义了一个合约,则该函数可以不使用data0.的形式来调用,默认定义的唯一合约; //若模型中Data区定义了多个合约,则该函数必须使用data0.的形式来调用。