我策略在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,作为开仓条件
作废单如图:
A_SendOrderEx A函数?
那就没保证了
有几个图层啊?
转到TB3已经解决了,谢谢了
厉害
我一直学不会TBQ3
onbarclose是新的bar开始onbaropen前触发
一般不用在实盘
另外看看几个数据源
更多是一种回溯机制
现实是不存在onbarclose的
你的代码还有潜在风险
ask和bid
涨跌停时候
不同交易所返回值不同
有的是无效值有的是0
平时你测试不到
看到了就跟你说一下
否则实盘会出事
close域启动是在下一根BAR的开盘确定,但此时也应该只驱动一次对吧
我想了下或许是由于if(A_SendOrderEx(symbol,Enum_sell,enum_exit,1,Q_BidPrice,orderids));这里多个分号导致的?但程序编译也没报错
还有
平仓应该先判断有无仓位
无论图表函数还是账户函数
这是基本的检验逻辑和容错机制
这一小段代码
其他问题还有
你先捋一捋
把上面几个问题解决了
去掉分号还是不行,还是会平两次
这个是个错误
但是不影响
代码问题挺多的🤔
好的,这个有控制的,谢谢
啊 这样啊!!!