OnBar函数在策略回测时的执行机制也是每个价格波动吗

OnBar(ArrayRef<Integer> indexs)

在实际运行的时候是:历史k线只执行收盘的时候,当前k线是每个价格波动都执行。

那如果我的策略开仓位不是K线收盘时,也不是K线开盘时,而是k线运行中。理论上实盘是可以实现的。

但是就是不知道回测历史数据的话,这种k线运行中开的单,也能正确回测出来吗?

历史回测 onBar 触发机制
回测时如何取到当前涨跌停价格?
在OnBar里执行策略前判断BarStatus==2 再执行有什么用
回测时开平仓信号消失
关于后复权的价格最小波动单位
有K线价格回踩均线这个函数吗?
请问早期历史数据回测onbar多次执行的问题
请问老师,Buy(1,10.5);开多单命令的执行机制,是市价成交?,还是对手价成交?还是必须价格在10.5的时候成交
TB回测时事件触发时刻的问题
请问如何能使回测时的入场价格和实盘尽量贴近?

能否说一下,回测历史数据的执行机制。因为写完EA,必定回测的。我想知道回测的执行和实际执行到底差异在什么地方,以考证回测报告的准确性。

历史不是tick,只有收盘的结果

那这样的话,回测历史数据基本就只能做做简单的k线收盘模型了,我还以为 onbar 改成tick驱动后,回测历史数据的机制也改成tick驱动了。

你可以看看系统公式的 动态突破策略是怎么做盘中突破处理的,这个策略不是收盘才确认信号的

我问的是 回测历史数据的时候,如果我k线没有收盘就开市价单。

比如:就简单的,5均线 和10均线,金叉就买,但是我不是要求k线收盘后开仓。而是K线运行过程中金叉就开仓。我知道 onbar事件机制里如果是当前k线是可以实现的。但是回测历史就只能是收盘后来判断是否金叉了是吧。那这样的话,如果是k线运行过程中开的单子,测试历史数据就完全不准确了是吧。

MT4,MT5都能准确测试k线过程中的情况的。

我知道你的意思,历史k线就是按照收盘状态运行一次,至于这根K线在盘中的时候是否能触发你的条件,要通过你的逻辑推算去判断出来,还要把触发时的最新价格也推算出来作为信号价格,这样写出来的模型就是真实的

信号只有两个参数,手数和价格

你理解的不太准确,不是只执行收盘,是开高低收只读取收盘状态的bar。

如果你能推算出,k线盘中满足条件时的价格和手数,那不就相当于能标记出信号了吗