0

在发布任何代码之前,我想了解是否可以基于多时间框架策略回测 a Custom Indicator, for a 。MetaTrader4 Terminal

我看过mql5论坛,但我找不到任何明确的迹象或解决这个问题的方法。

4

1 回答 1

1

...在发布任何我想了解的答案之前,您认为自定义指标上下文中的多时间框架策略是什么。

如何迈出一步?

选择你自己的方式 -方法

在任何情况下,
都可以使用旨在检索值的函数调用,这些值是从不同时间范围的角度收集的,并在函数调用协议中使用适当的指示,
{ PERIOD_M1 | .. | PERIOD_H1 | PERIOD_H4 | .. }

或者

可以独立于当前图的“自己的”时间框架创建和维护自己的虚拟超框架/子框架。

double v30SEC_O[], v30SEC_H[], v30SEC_L[], v30SEC_C[],
       vM1_O[   ], vM1_H[   ], vM1_L[   ], vM1_C[   ],
       vM3_O[   ], vM3_H[   ], vM3_L[   ], vM3_C[   ],
       vH7_O[   ], vH7_H[   ], vH7_L[   ], vH7_C[   ];    // vTF as needed

bool   v30SEC_newBarEVENT = False,
       vM1_newBarEVENT    = False,
       vM3_newBarEVENT    = False,
       vH7_newBarEVENT    = False;

void   aNewBarEventMONITOR(){ ...
       static int  v30SEC_Bars  = EMPTY,
                   vM1_Bars     = EMPTY,
                   vM3_Bars     = EMPTY,
                   vH7_Bars     = EMPTY;

    // check aNewBarEVENT:

    // update state-vars:

}

尽管有很多关于失败的 MTF [ StrategyTester] 结果的帖子,它是否有效?

在上面发布的每种情况下,一个人可以使用另一个来检查和证明输出的正确性。

是的,单元测试在这个领域是一个很好的安全带习惯

最近的“MQL4.56789+转变和频繁的临时编译器(语法)实时更新(你会得到一个新的帮助来注意到它们)使单元测试成为发布前测试 + 生产代码维护的必须做的一部分。

于 2015-09-26T14:56:10.520 回答