Was ist ein Indikator? Es ist ein Satz berechneter Werte, die auf praktische Weise auf dem Bildschirm angezeigt werden sollen. Sätze von Werten werden in Programmen als Arrays dargestellt. Somit bedeutet das Erstellen eines Indikators, einen Algorithmus zu schreiben, der bestimmte Arrays bearbeitet (Preis-Arrays) und die Ergebnisse der Bearbeitung für andere Arrays (Indikator-Arrays) aufzeichnet. Durch die Beschreibung der Erstellung des True Strength Index zeigt der Autor, wie Indikatoren in MQL5 geschrieben werden.
r+s-1
为什么
-1
为什么?
非常感谢。
你好,谁能向我解释一下
为什么
为什么?
非常感谢。
是啊,学俄语比较容易。
我同意@okwh 的观点。我仍然不明白为什么循环以 1 开始?
我读了@Rashid Umarov 指出的文章。它是这样说的
所有数组和指示器缓冲区的默认索引都是从左向右。第一个元素的索引总是等于零。因此,数组或指示器缓冲区中索引为 0 的第一个元素 默认位于最左端,而最后一个元素位于最右端。
我同意@okwh 的观点。我还是不明白为什么循环以 1 开始?
我读了@Rashid Umarov 指出的文章。它是这样说的
所有数组和指示器缓冲区的默认索引都是从左向右。第一个元素的索引总是等于零。因此,数组或指示器缓冲区中索引为 0 的第一个元素 默认位于最左端,而最后一个元素位于最右端。
因为在本例中,指标需要计算收盘价[1]-收盘价[0]。然后,如果起点等于 0,则会导致指标计算负指数:Close[0] - Close[-1]。这就是为什么起点必须为 1 的原因。因此,指标将计算Close[1] - Close[0]。类似于Close[start] - Close[start-1] 写在代码上。
for(int i=1;i<rates_total;i++)
{
MTMBuffer[i]=price[i]-price[i-1];
AbsMTMBuffer[i]=fabs(MTMBuffer[i]);
}
为什么使用 [i-1] 计算 [i],而从 i=1 开始?
MTMBuffer[i]=price[i]-price[i-1];
有德语版本吗?
从文章本身,您可以切换不同的可用语言。
https://www.mql5.com/de/articles/10