《周期的镶嵌》读后

以前编写交易系统,引用当前的Bar来计算触发指标。而当前的Bar还在变动中,那么历史测试时常遇到一个关键的问题:要么出现“虚假”的信号,要么有些明显的信号却被“忽略”。以前我对此一筹莫展,如果一个系统的测试结果,是建立在一个随机的或不确定的基础上,那么这个的系统操作策略是不可信的。
● 此次编程思路的改变,在于引用已完成的Bars来计算触发指标,据此作出转势和介入的判断。
但这样的算法又引出了另一个问题,就是触发信号在价格和时间上的滞后。恐怕这是无法避免的,价格滞后–有可能会影响我们及时进场获取有利价格,但如果指标触发后价格趋势方向不变,而咱又是顺势而为,这种非最优的价格–就必须接受,而且处理起来,要比不确定的“虚假信号”要明确的多。
● 为了减少这种价格滞后的差异,操盘和测试时,我们可以使用更小的周期:如指标主周期我们使用Timeframe_Up1=60,但系统测试却使用M5或M15等周期。采用更短的时间周期,价格变动会及时一些,尤其在考虑价格突破,或是止赢止损的触及条件时,这也是一种很稳妥的修正。
这里,就涉及程序健硕性的逻辑问题。
首先,必须使用iLow(NULL, Timeframe_Up1, 1)等取代原来的Low[1]等,即使测试时选用的周期变了,确保程序原设计的运算周期Timeframe_Up1不变;
第二,要使用iTime(NULL,Timeframe_Up1,0)来做判断,确保相关指标的运算和赋值是建立在原定Timeframe_Up1周期上,而且避免重复赋值。如果没有此判断限制,在大周期M60产生新Bar前,小周期M15至少多出3个新Bars,可能造成错误的多次赋值。
● 所谓的周期镶嵌,就是利用不同的时间架构的指标值相互比较,来产生触发信号。这个问题,本想有时间的时候再专门研究一下,现在看来,已经在不知不觉中解决了。

我的感觉是,

  1. 大周期指标可以考虑用过去一柱Bar;

  2. 使用小时框择机入场。

本博客所有文章如无特别注明均为原创。作者:天泓评测
分享到:更多

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)