序列变量是,每个Tick变一次,还是每个Bar变一次呢? [开拓者 TB]
- 咨询内容:
序列变量是,每个Tick变一次,还是每个Bar变一次呢?
- TB技术人员:
每个Bar
- TB客服:
最后一个Bar不是每个Tick都变的吗?
- 网友回复:
是每个Tick都会计算,但序列变量只会记录该Bar的一个最新的值。不会记录过程中的变化
全局变量则可以记录下来。
举个例子:
我们用一个数值型序列变量 CrossOverCounter; 另外用一个0号全局变量。
在一个1分钟周期下计算,假定到当前Bar之前,CrossOverCounter = 0。0号变量的值也为0。
If(CrossOver(Close,Avg5))
{
CrossOverCounter = CrossOverCounter[1] + 1;
SetGlobalVar(0,GetGlobarVar(0)+1);
}
在这根Bar线上面执行完之后,这分钟有100个Tick,公式被执行了100次。其中30次发生了交叉,另外70次没有交叉。执行之后结果如下:
如果最后一个Tick时交叉了,则CrossOverCounter = 1,否则为0。
0号全局变量的值为30。不明白
- 网友回复:
既然在以分钟线为周期的一个bar上,有100次Tick,每个tick都去调用公式,岂不是说每出现一个tick就调用一次公式?那对于每一个Bar上,公式不是要被执行100次吗?在这100个tick运行的过程中,该Bar的close,High可能随时在刷新,如果交易系统需要该Bar定型之后的Close和High,怎么识别呢?
交易系统中,是在每个bar的最后一个tick才去调用交易系统吗?
[ 本帖最后由 leixb 于 2009-3-27 21:37 编辑 ]
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
- 上一篇:历史测试的结果包含了手续费吗
- 下一篇:请教如何解决交易系统在某段时间失灵的问题
相关文章
-
没有相关内容