Fehler, Irrtümer, Fragen - Seite 2469
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
Ich werde es wissen) dann hacken
Ich übertrage ein Programm von MQL4 nach MQL5.
Ich habe diesen Fehler festgestellt.
Bei Zeitrahmen bis zu m30 ist der Period()-Wert korrekt.
2019.05.22 17:45:38.628 TestStat (GBPUSD,M15) 4854 Zeitraum()=15
2019.05.22 17:46:08.267 TestStat (GBPUSD,M30) 4854 Zeitraum()=30
Vom Zeitrahmen H1 erhalte ich unverständliche Werte.
2019.05.22 17:31:07.446 TestStat (GBPUSD,H1) 4854 Period()=16385
2019.05.22 17:46:39.362 TestStat (GBPUSD,H4) 4854 Period()=16388
2019.05.22 17:46:55.552 TestStat (GBPUSD,D1) 4854 Zeitraum()=16408
Terminalversion Build 2057 vom 21. Mai 2019.
Ich danke Ihnen.
In der Beschreibung:
Zeitraum
Gibt den Zeitrahmenwert des aktuellen Diagramms zurück.
ENUM_TIMEFRAMESZeitraum();
Zurückgegebener Wert
Inhalt der Variablen _Period , die den Zeitrahmenwert des aktuellen Diagramms enthält. Wert kann einer derAufzählungswerte ENUM_TIMEFRAMESsein .
Siehe auch
PeriodSeconds, Diagrammperioden, Datum und Uhrzeit, , Objektsichtbarkeit
=================
Das ist nicht sehr gut gemacht. Sie sollte in der Beschreibung korrekt angegeben werden. Sie sollten nicht im Forum nach der Ursache des Problems suchen.
Es stellt sich heraus, dass Period() den Wert des aktuellen Zeitrahmens nicht ausgibt, da es heißt:Der Wert kann einer der Werte der Aufzählung ENUM_TIMEFRAMESsein .
Aber etwas ganz anderes.
Bitte korrigieren Sie die Sprachbeschreibung für Entwickler.
Wir haben die folgenden Ergebnisse auf ArrayResize Kapazität MT5 (build 2057):
Ergebnis:
Beschreibung:
Inhalt der Variablen _Period , die den Zeitrahmenwert des aktuellen Diagramms speichert. Der Wert kann einer der Werte derAufzählung ENUM_TIMEFRAMESsein .
Das ist nicht gut gemacht. Sie sollte in der Beschreibung korrekt angegeben werden. Sie sollten nicht im Forum nach der Ursache des Problems suchen.
Es steht also nirgends geschrieben, dass dieser Wert der Dauer in Minuten entspricht (wie es bei Quad der Fall war).
https://www.mql5.com/ru/articles/81
Hier beginnt der verlinkte Artikel.
Es wird also nirgends gesagt, dass dieser Wert gleich der Zeitspanne in Minuten ist (wie es bei den Vierern der Fall war).
https://www.mql5.com/ru/articles/81
An dieser Stelle beginnt der Artikel auf dem Link.
Es gibt eine Beschreibung der Sprache, die besagt: Wert kann einer der Werte der ENUM_TIMEFRAMES-Aufzählung sein .
Siehe die Sprachbeschreibung weiter unten:
Graphische Perioden
Alle vordefinierten Diagrammzeiträume haben eindeutige Bezeichner. Der Bezeichner PERIOD_CURRENT bezeichnet die aktuelle Periode des Diagramms, in der das Programm mql5 läuft.
ENUM_TIMEFRAMES
Kennung
Beschreibung
PERIOD_CURRENT
Aktueller Zeitraum
PERIOD_M1
1 Minute
PERIOD_M2
2 Minuten
PERIOD_M3
3 Minuten
PERIOD_M4
4 Minuten
PERIOD_M5
5 Minuten
PERIOD_M6
6 Minuten
PERIOD_M10
10 Minuten
PERIOD_M12
12 Minuten
PERIOD_M15
15 Minuten
PERIOD_M20
20 Minuten
PERIOD_M30
30 Minuten
PERIOD_H1
1 Stunde
PERIOD_H2
2 Stunden
PERIOD_H3
3 Stunden
PERIOD_H4
4 Stunden
PERIOD_H6
6 Stunden
PERIOD_H8
8 Stunden
PERIOD_H12
12 Stunden
PERIOD_D1
1 Tag
PERIOD_W1
1 Woche
PERIOD_MN1
1 Monat
======================
Und nirgendwo in der Beschreibung steht, dass dieser Wert in Sekunden angegeben ist.
Die Beschreibung sollte alles sagen.
Und wenn man dann noch andere Artikel nachschlagen muss, ist das schade.
Nochmals vielen Dank anTheXpert für die Bereitstellung des Codes.
Wir haben die folgenden Ergebnisse auf ArrayResize Kapazität MT5 (build 2057):
Die erste ArrayResize Funktion ist sehr wichtig, da sie den Speicher unter Berücksichtigung von size + reserved_size zuweist und die Kapazität festlegt.
2. Alle nachfolgenden ArrayResize-Ausführungen mit einem neuen Wert von reserved_size haben keine Auswirkung auf die Menge des zugewiesenen Speichers bzw. der Kapazität.
3 Eine neue Speicherzuweisung erfolgt nur, wenn die Kapazität überschritten wird. In diesem Fall wird erneut size + reserved_size verwendet, um die Menge des zugewiesenen Speichers zu bestimmen und eine neue Kapazität festzulegen.
4. Ein Wert von reserved_size < 0 gibt den reservierten Speicher auf size size frei.
Und nirgendwo in der Beschreibung steht, dass dieser Wert in Sekunden angegeben ist.
Es geht also nicht um Sekunden...
Es gibt eine Sprachbeschreibung, die besagt: Wert kann einer der ENUM_TIMEFRAMESAufzählungswerte sein .
Siehe weiter in der Sprachbeschreibung:
Graphische Perioden
Alle vordefinierten Diagrammzeiträume haben eindeutige Bezeichner. Die Kennung PERIOD_CURRENT bezeichnet die aktuelle Periode des Diagramms, in der das mql5-Programm läuft.
ENUM_TIMEFRAMES
======================
Und nirgendwo in der Beschreibung steht, dass dieser Wert in Sekunden angegeben ist.
Die Beschreibung sollte alles sagen.
Und wenn man sich durch andere Artikel durcharbeiten muss, ist es schade.
Wer hat Ihnen gesagt, dass dies Werte in Sekunden sind?
Es gibt eine Sprachbeschreibung, die besagt: Wert kann einer der Werte der Aufzählung ENUM_TIMEFRAMES sein .
Siehe weiter in der Sprachbeschreibung:
Graphische Perioden
Alle vordefinierten Diagrammzeiträume haben eindeutige Bezeichner. Die Kennung PERIOD_CURRENT bezeichnet die aktuelle Periode des Diagramms, in der das Programm mql5 läuft.
ENUM_TIMEFRAMES
Kennung
Beschreibung
PERIOD_CURRENT
Aktueller Zeitraum
PERIOD_M1
1 Minute
PERIOD_M2
2 Minuten
PERIOD_M3
3 Minuten
PERIOD_M4
4 Minuten
PERIOD_M5
5 Minuten
PERIOD_M6
6 Minuten
PERIOD_M10
10 Minuten
PERIOD_M12
12 Minuten
PERIOD_M15
15 Minuten
PERIOD_M20
20 Minuten
PERIOD_M30
30 Minuten
PERIOD_H1
1 Stunde
PERIOD_H2
2 Stunden
PERIOD_H3
3 Stunden
PERIOD_H4
4 Stunden
PERIOD_H6
6 Stunden
PERIOD_H8
8 Stunden
PERIOD_H12
12 Stunden
PERIOD_D1
1 Tag
PERIOD_W1
1 Woche
PERIOD_MN1
1 Monat
======================
Und nirgendwo in der Beschreibung steht, dass dieser Wert in Sekunden angegeben ist.
Die Beschreibung sollte alles sagen.
Und wenn man sich durch einige andere Artikel durcharbeiten muss, ist das schade.
Sie sollten sich niemals auf einen Aufzählungswert verlassen.
Verwenden Sie PeriodSeconds().