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 habe verstanden, dass ich die neue Beschreibung verwendet habe - die alte
stehen nicht in der Beschreibung, werden aber dennoch vom Editor hervorgehobenBei der Verwendung dieser Funktion gibt es eine Fehlermeldung "2012.11.28 09:58:32 4194304 bytes not available", Hilfe zum Verständnis, Auslagerungsdatei auf 10GBt erhöht.
Yedelkin:
А лог-файл случайно алёртами не забивается?
Ich habe es überprüft, das Protokoll enthält 10 kBt, es waren mehr,
MemoryException 09:36:12 4194304 bytes not available" Fehler, er wiederholt sich oft.
Bemerkt (durch vorherigen Code):
// Auswahl der Periode aus dem Array nach Index (von PERIOD_M5 (Index - 5) bis PERIOD_D1 (Index - 19))
Werden weniger Perioden (z.B. PERIOD_M5 bis PERIOD_M6) für die Aufzählung genommen, tritt kein Fehler auf.
// Auswahl einer Periode aus einem Array nach Index (von PERIOD_M5 (Index - 5) bis PERIOD_D1 (Index - 19))
1. Um welche Art von Array handelt es sich?
2. Welcher Wert ist in diesem Array unter Index enthalten - z. B. 19?
1. Um welche Art von Array handelt es sich?
2. Welcher Wert ist in diesem Array unter dem Index, z. B. 19, enthalten?
Ich denke, es ist einfacher, dies zu tun, ich schrieb die Funktion als separater Experte, können Sie es ausführen und sehen Sie selbst.
Wenn Sie Zeit und Lust haben zu helfen. (Der Fehler ist derselbe).
Duplizierter Code:
Die Datei ist beigefügt. Parameter des Prüfgeräts (nur für den Fall)
EURUSD.e
H1
OHLC
2012.1.1 - 2012.4.1
Ich aktualisiere eine Frage und interessiere mich für zwei Fehler:
1. 2012.11.28 11:45:18 4194304 Bytes nicht verfügbar
Ich kann sie noch nicht lösen, aber wenn ich statt der Aufzählung der Perioden m_period = PERIOD_INDEX[iperiod] setze, z.B.PERIOD_H1, wird es keinen Fehler geben,
aber ich brauche alle Punkte.
2. 2012.11.28 11:45:49 2012.01.01 00:00:00 Alert: Fehler CopyBuffer - Fehlernummer: 4806
Um diesen Fehler zu beheben, werde ichSleep(1000) auskommentieren; er wird verschwinden und die Daten aus dem Puffer werden normal kopiert.
Frage: Warum? Ist es möglich,Sleep(1000) zu vermeiden, um zusätzliche Zeitverschwendung zu vermeiden?
Leider habe ich kein Testgerät zur Hand.
Ein kleines Detail. Auf der linken Seite der Linie haben Sie
gibt es links eine Variable vom Typ int und rechts einen Wert vom Typ ENUM_TIMEFRAMES. Warum deklarieren Sie nicht 'ENUM_TIMEFRAMES m_period;' direkt in der fünften Zeile?
2) Sie haben eine dreifach geschachtelte Schleife, in der ein und derselbe Indikator in relativ kurzer Zeit aufgerufen wird. Nur für ein Symbol erfolgen etwa 1400 Anrufe. Verwendete Indikatoren haben einfach keine Zeit, Speicher freizugeben. Suchen Sie in den Forumsthemen über die Funktion IndicatorRelease(). Es wurde einmal gesagt, dass die Verwendung dieser Funktion im Code bereits ein Fehler ist.
Ein schneller Wechsel der Indikatoren im Code erklärt auch das Auftreten des Fehlers 4806. Der neue Indikator hat einfach keine Zeit, die erforderlichen Daten zu laden.
Können Sie mir sagen, wie ich die abnormale Beendigung loswerden kann?
Der EA funktioniert nicht mehr und dies ist nur im Log zu sehen, im Chart ist er grün.
Ich habe den Code unter Berücksichtigung Ihrer Anmerkungen geändert:
(korrigiert m_period = PERIOD_INDEX[iperiod];, Fehler ist in diesem Fall nicht signifikant - aber danke, ich habe es korrigiert)
Problem mit Fehler (Error CopyBuffer - Fehlernummer: 4806) - beseitigt, ich habe es durch Sleep(1000) behoben; - ich habe es darauf zurückgeführt, dass ich nicht genug Zeit hatte, den Indikator zu erstellen.
Das Problem mit dem Fehler (4194304 Bytes nicht verfügbar) bleibt bestehen.
Die Bemerkung zu IndicatorRelease() - wird bei der Verarbeitung berücksichtigt.
Wenn jemand eine Idee hat, bitte mitteilen, danke.