close域驱动问题
我策略在close域平仓,按理来说满足条件就驱动一次,但实际运行中会驱动2次,一次可平不足作废,请问是什么机制导致的:平仓代码如下: IF(DDP) //多平 { Array<Integer>orderids; if(A_SendOrderEx(symbol,Enum_sell,enum_exit,1,Q_BidPrice,orderids)); { print("-------------------------------"); print(TimeToString(SystemDateTime)); print("多平价格-----="+text(Q_BidPrice)); flag_D=0;//开仓开关复位 PlotString ("多平信号","多平",High+2,red); } }flag_D平仓后复位为0,作为开仓条件作废单如图:
onbarclose是新的bar开始onbaropen前触发一般不用在实盘另外看看几个数据源
回复:更多是一种回溯机制现实是不存在onbarclose的
回复:你的代码还有潜在风险ask和bid涨跌停时候不同交易所返回值不同有的是无效值有的是0平时你测试不到看到了就跟你说一下否则实盘会出事
回复:close域启动是在下一根BAR的开盘确定,但此时也应该只驱动一次对吧
回复:我想了下或许是由于if(A_SendOrderEx(symbol,Enum_sell,enum_exit,1,Q_BidPrice,orderids));这里多个分号导致的?但程序编译也没报错
回复:还有平仓应该先判断有无仓位无论图表函数还是账户函数这是基本的检验逻辑和容错机制
回复:这一小段代码其他问题还有你先捋一捋把上面几个问题解决了
回复:去掉分号还是不行,还是会平两次
回复:这个是个错误但是不影响代码问题挺多的🤔
回复:好的,这个有控制的,谢谢
回复:啊 这样啊!!!