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,作为开仓条件

作废单如图:

成交事件域驱动
onsignal域问题
OnBarClose(ArrayRef<Integer> indexs)设置驱动图层问题
onorder域(二)
事件驱动在一个域里全局变量+1,另一个域里条件里含有此条件,是怎么运行的?
onsignal域
请问在onBar域里面的交易指令中,应该用open还是close
IF作用域
关于事件驱动及range的一些问题
新量化时代的必备交易利器——“事件驱动”

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));这里多个分号导致的?但程序编译也没报错

还有

平仓应该先判断有无仓位

无论图表函数还是账户函数

这是基本的检验逻辑和容错机制

这一小段代码

其他问题还有


你先捋一捋

把上面几个问题解决了

去掉分号还是不行,还是会平两次

这个是个错误

但是不影响


代码问题挺多的🤔

好的,这个有控制的,谢谢

啊 这样啊!!!