Denn die Prüfung ist grundlegend falsch. Nehmen wir an, Bars liefert 1000 und cb liefert ebenfalls 1000. In der Schleife erhalte ich dann bei der ersten Iteration den Wert 1000. In der ersten Bedingung des Schleifenkörpers:
Zwei Ausgänge außerhalb des Arrays auf einmal : Zugriff auf einen Balken mit Index 1000 und einen mit Index 1001. Denn wenn das Diagramm 1000 Balken hat, hat der erste Balken den Index 0 und der letzte den Index 999.
Im weiteren Verlauf des Schleifenkörpers wird auf die noch weiter zurückliegenden Takte der Geschichte verwiesen:
All dies muss bei der ersten Prüfung berücksichtigt werden.
Für eine korrekte Prüfung siehe das Beispiel der Funktion IndicatorCounted() in der MQL4-Referenz. Erst jetzt sollte IndicatorCounted() durch die gemeinsame Nutzung von rates_total (dies ist Bars) und prev_calculated (dies ist IndicatorCounted()) ersetzt werden.
Danke, ich habe es gefunden,
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
Womit soll ich es vergleichen? Im Beispiel beginnt es mitLimit
Womit soll ich es vergleichen? Im Beispiel beginnt es mit demGrenzwert.
Womit sollte ich diese "cb" vergleichen?
Wenn Sie die Anzahl der Balken, auf denen die Daten des Indikators angezeigt werden, begrenzen möchten, sollten Sie dies auf diese Weise tun:
int GetRecalcIndex(int& total, constint ratesTotal, constint prevCalculated)
{
total = ratesTotal - 2 - barsig;
if (cb > 0 && cb < total)
total = MathMin(cb, total);
if (prevCalculated < ratesTotal - 1)
{
InitializeBuffers(); // Это функция, которая должна заново инициализировать все индикаторные буфера, т. к. имеем дело с первой загрузкой индикатора или подкачкой историиreturn (total);
}
return (MathMin(ratesTotal - prevCalculated, total));
}
Verwenden Sie wie folgt:
int total;
int limit = GetRecalcIndex(total, rates_total, prev_calculated);
for (int i = limit; i >= 0; --i)
{
...
}
Der Gesamtwert ist der Index des tiefsten Balkens in der Historie, der auf der Grundlage der Werte in den Einstellungen des Indikators abgerufen werden kann.
Wenn Sie die Anzahl der Balken, auf denen die Indikatordaten angezeigt werden, begrenzen möchten, sollten Sie dies tun:
Verwenden Sie wie folgt:
Der Wert von total ist der Index des tiefsten Balkens in der Historie, der auf der Grundlage der Werte der Indikatoreinstellungen aufgerufen werden kann.
Der Compiler schwört.
'InitializeBuffers' - Funktion nicht definiert HiLo.mq4 161 7
und in der Hilfe findet sich nichts über diese Funktion
'InitializeBuffers' - Funktion nicht definiert HiLo.mq4 161 7
Und es gibt nichts über diese Funktion in der Hilfe
Ich habe im Kommentar geschrieben, dass dies eine Funktion ist, die alle Indikatorpuffer initialisieren soll. Es handelt sich um eine benutzerdefinierte Funktion. Bei mir sieht es so aus:
Sie werden einen anderen haben, da die Puffer unterschiedlich sind. Falls der Indikator mit grafischen Objekten arbeitet, müssen Sie diese hier entfernen, da die erste Zeichnung der Messwerte vorgenommen werden soll.
Ich habe im Kommentar geschrieben, dass dies die Funktion ist, die alle Indikatorpuffer initialisieren soll. Es handelt sich um eine benutzerdefinierte Funktion. Bei mir sieht es so aus:
Sie werden einen anderen haben, da die Puffer unterschiedlich sind. Falls der Indikatormit grafischen Objekten arbeitet, müssen Sie hier alle löschen, da die erste Zeichnung der Messwerte vorgenommen werden soll.
Danke, aber es hat sich nichts geändert ...array out of range in 'HiLo.mq4' (130,15)
Danke, aber es hat sich nichts geändert. Was ist los?
Das Ergebnis wird sich natürlich nicht ändern. Schließlich haben Sie die Hauptursache (die Cb-Schleife) nicht beseitigt. Diese Schleife ist falsch organisiert:
for (i=cb; i>=0; i--)
Sie sollte entfernt und durch die Grenzwertschleife ersetzt werden. An beiden Orten.
Das Ergebnis wird sich natürlich nicht ändern. Immerhin haben Sie den Hauptgrund (die Cb-Schleife) nicht beseitigt. Diese Schleife ist falsch organisiert:
Sie sollte entfernt und durch die Grenzwertschleife ersetzt werden. An beiden Orten.
Es gibt 3 solcher Schleifen. Ich habe sie ersetzt, und das Terminal hing.
Es tritt immer noch aus.
Sie haben[i+1], Sie müssen +2 mehr prüfen
Im Allgemeinen sollten Sie wie folgt vorgehen
Denn die Prüfung ist grundlegend falsch. Nehmen wir an, Bars liefert 1000 und cb liefert ebenfalls 1000. In der Schleife erhalte ich dann bei der ersten Iteration den Wert 1000. In der ersten Bedingung des Schleifenkörpers:
Zwei Ausgänge außerhalb des Arrays auf einmal : Zugriff auf einen Balken mit Index 1000 und einen mit Index 1001. Denn wenn das Diagramm 1000 Balken hat, hat der erste Balken den Index 0 und der letzte den Index 999.
Im weiteren Verlauf des Schleifenkörpers wird auf die noch weiter zurückliegenden Takte der Geschichte verwiesen:
All dies muss bei der ersten Prüfung berücksichtigt werden.
Für eine korrekte Prüfung siehe das Beispiel der Funktion IndicatorCounted() in der MQL4-Referenz. Erst jetzt sollte IndicatorCounted() durch die gemeinsame Nutzung von rates_total (dies ist Bars) und prev_calculated (dies ist IndicatorCounted()) ersetzt werden.
Danke, ich habe es gefunden,
Womit soll ich es vergleichen? Im Beispiel beginnt es mitLimit
limit=Bars-counted_bars;Womit sollte ich dieses "cb" vergleichen?
Danke, ich habe es gefunden,
Womit soll ich es vergleichen? Im Beispiel beginnt es mit demGrenzwert.
Womit sollte ich diese "cb" vergleichen?
Wenn Sie die Anzahl der Balken, auf denen die Daten des Indikators angezeigt werden, begrenzen möchten, sollten Sie dies auf diese Weise tun:
Verwenden Sie wie folgt:
Der Gesamtwert ist der Index des tiefsten Balkens in der Historie, der auf der Grundlage der Werte in den Einstellungen des Indikators abgerufen werden kann.Sie haben[i+1], Sie müssen +2 mehr prüfen
Im Allgemeinen sollten Sie wie folgt vorgehen
Ich habe es so gemacht, aber es heißt ...array out of range in 'HiLo.mq4' (122,15)
Was sollte ich mit +2 mehr überprüfen?
Wenn Sie die Anzahl der Balken, auf denen die Indikatordaten angezeigt werden, begrenzen möchten, sollten Sie dies tun:
Verwenden Sie wie folgt:
Der Wert von total ist der Index des tiefsten Balkens in der Historie, der auf der Grundlage der Werte der Indikatoreinstellungen aufgerufen werden kann.Der Compiler schwört.
'InitializeBuffers' - Funktion nicht definiert HiLo.mq4 161 7
Der Compiler beschwert sich über
'InitializeBuffers' - Funktion nicht definiert HiLo.mq4 161 7
Ich habe im Kommentar geschrieben, dass dies eine Funktion ist, die alle Indikatorpuffer initialisieren soll. Es handelt sich um eine benutzerdefinierte Funktion. Bei mir sieht es so aus:
Sie werden einen anderen haben, da die Puffer unterschiedlich sind. Falls der Indikator mit grafischen Objekten arbeitet, müssen Sie diese hier entfernen, da die erste Zeichnung der Messwerte vorgenommen werden soll.
Ich habe im Kommentar geschrieben, dass dies die Funktion ist, die alle Indikatorpuffer initialisieren soll. Es handelt sich um eine benutzerdefinierte Funktion. Bei mir sieht es so aus:
Sie werden einen anderen haben, da die Puffer unterschiedlich sind. Falls der Indikatormit grafischen Objekten arbeitet, müssen Sie hier alle löschen, da die erste Zeichnung der Messwerte vorgenommen werden soll.
Danke, aber es hat sich nichts geändert ...array out of range in 'HiLo.mq4' (130,15)
. Was ist los?
Danke, aber es hat sich nichts geändert. Was ist los?
Das Ergebnis wird sich natürlich nicht ändern. Schließlich haben Sie die Hauptursache (die Cb-Schleife) nicht beseitigt. Diese Schleife ist falsch organisiert:
Sie sollte entfernt und durch die Grenzwertschleife ersetzt werden. An beiden Orten.
Das Ergebnis wird sich natürlich nicht ändern. Immerhin haben Sie den Hauptgrund (die Cb-Schleife) nicht beseitigt. Diese Schleife ist falsch organisiert:
Sie sollte entfernt und durch die Grenzwertschleife ersetzt werden. An beiden Orten.
Es gibt 3 solcher Schleifen. Ich habe sie ersetzt, und das Terminal hing.
Ich habe es getan, es friert nicht ein oder stürzt ab, aber es gibt 3 Werte im ersten Puffer (fx2): Preis, 0.0 und 164874239.218492.
Wenn der Wert sell_1_B!=EMPTY_VALUE und sell_1_B!=0 ist, bedeutet das nicht, dass es einen Preis gibt.
Wie bekomme ich ein Signal?