Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ihr Jungs seid so langsam :) Die Fälle sind nicht falsch, aber alles funktioniert. Sie suchen an der falschen Stelle. )))) Es gibt eine korrekte Funktion.
Ich versuche, herauszufinden, warum ArrayIsSeries(High) immer falsch ist
Die Hilfe zu dieser Funktion sagt(https://www.mql5.com/ru/docs/array/arrayisseries)
Rückgabewert
Gibt true zurück , wenn das geprüfte Array ein Zeitreihen-Array ist, andernfalls false. Arrays, die als Parameter an OnCalculate() übergeben werden, sollten auf die Reihenfolge überprüft werden, in der auf die Elemente des Arrays mit ArrayGetAsSeries() zugegriffen wird.
Das von Ihnen angegebene Array ist keine Zeitreihe und kann unter keinen Umständen zu einer solchen werden. Zeitreihen sind zur Laufzeit definierte Arrays, zum Beispiel in der Funktion OnCalculate():
Die Hilfe zu dieser Funktion sagt(https://www.mql5.com/ru/docs/array/arrayisseries)
Das von Ihnen angegebene Array ist keine Zeitreihe und kann unter keinen Umständen zu einer solchen werden. Zeitreihen sind zur Laufzeit vordefinierte Arrays, zum Beispiel in der Funktion OnCalculate():
ArrayGetAsSeries funktioniert nicht wie vorgesehen.
Zeitreihen sind zur Laufzeit vordefinierte Arrays, z.B. in OnCalculate():
Was darüber in der Hilfe steht:
Примечание
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
Was darüber in der Hilfe steht:
Führen Sie einen solchen Indikator aus und Sie werden sich selbst davon überzeugen:
Die Funktion ArrayGetAsSeries ändert nur die Indizierungsrichtung, verwandelt ein Array aber nicht in eine Zeitreihe. Was wollen Sie mit dieser Funktion erreichen?
Diese Funktion prüft die Richtung, nicht die Änderung.
1) Ohne Initialisierung
2) Mit Initialisierung
3) Der obige Code, nur mit der Funktion ArrayGetAsSeries, die die Indizierungsrichtung des Arrays erhält
Im Service-Desk habe ich den Funktionsnamen einfach falsch eingegebenFühren Sie einen solchen Indikator aus und Sie werden sich selbst davon überzeugen:
Das ist verständlich. Und meine Frage bezog sich nicht auf Fehler, alles funktioniert wie in der Hilfe beschrieben:
Примечание
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
Die Frage ergab sich aus der Diskrepanz zwischen der in der Hilfe hervorgehobenen Farbe und dem Fettdruck und dem, was Sie sagten:
Rosh:
Zeitreihen sind zur Laufzeit vordefinierte Arrays, zum Beispiel in OnCalculate():
Deshalb mache ich das in OnCalculate():
Die Hilfe zu dieser Funktion sagt(https://www.mql5.com/ru/docs/array/arrayisseries)
Das von Ihnen angegebene Array ist keine Zeitreihe und kann unter keinen Umständen zu einer solchen werden. Zeitreihen sind vordefinierte Arrays, zum Beispiel in der Funktion OnCalculate():
Auch im Indikator funktioniert die Prüfung nicht.
Außerdem funktioniertprev_calculated nicht mehr, es ist immer 0:
Ja, ich denke, mit diesen Funktionen haben sie sich bereits abgefunden.
Aber als Wunsch, damit ich nicht vergesse - im Editor, wenn nach der Eingabe von drei oder wie viele Zeichen, wenn Sie klicken Sie auf stehenden auf der ersten Zeile der Liste wird nicht aus der Liste entfernt. Ich denke, dass viele sich "ärgern" werden, wenn es nicht auf die gleiche Weise wie im Studio gemacht wird. IMHO.