用户工具

站点工具


invest:mt5

这是本文档旧的修订版!


MT5

MT5工具使用

MT5编程

0到底代表最左柱还是最右柱?

编程中非常重要的一个问题:在 EA, Indicator, Script 中,0到底代表最左侧蜡烛还是最右侧蜡烛?

分下面两种情况:

1,Indicator 编程中,0代表最左侧

在自定义 Indicator 的编程中,预定义函数 OnCalculate 参数中的 close[0] 是图表最左侧蜡烛,close[rates_total-1] 是图表最右侧蜡烛。 因此,如果在自定义 Indicator 中使用其他指标,为保持计数方向统一,在定义 XxxBuffer 的时候,不进行 ArraySetAsSeries(XxxBuffer, true); 的设置(不设置XxxBuffer为时间序列),那么在 BarsCalculated(XxxHandle) ⇒ CopyBuffer(XxxHandle, n, 0, count, XxxBuffer) 之后,XxxBuffer 中的序列,同样也是0代表最左侧,rates_total-1 代表最右侧。

2,EA 和 Script 编程中,0代表最右侧

在 EA 和 Script 的编程中,为计算方便起见,为 Indicator 和 MqlRates 定义的 XxxBuffer[] 和 rates[],在定义后进行

  • ArraySetAsSeries(XxxBuffer, true);
  • ArraySetAsSeries(rates, true);

的设置,使 XxxBuffer 和 rates 成为时间序列,0代表最右侧蜡烛(the current bar)。

invest/mt5.1699846423.txt.gz · 最后更改: 2023/11/13 11:33 由 admin