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 den Eindruck, dass Bars von älteren TF selten "verschwinden".
Eine andere Variante besteht darin, die Zeit dieses Taktes gleichzeitig durch CopyTime() zu erhalten.
Und die dritte Möglichkeit (wahrscheinlich die einfachste) ist die gleichzeitige Verwendung von CopyRates in der Struktur.
Ich danke Ihnen... Ich arbeite mit M1 und beobachte oft asynchrone Balken mit demselben Index auf verschiedenen Instrumenten. Ein Vergleich der Daten ist ebenfalls möglich. Ich werde prüfen, welche Variante im Hinblick auf die Rechengeschwindigkeit optimaler ist.
Hier geht es um Synchronisation.
Ich danke Ihnen! Nützlicher Artikel... Das heißt, für jeden Balken des aktuellen Symbols erhalten wir mit der Funktion CopyTime die Zeit und kopieren dann die Daten eines anderen Symbols um diese Zeit.
Aber anstelle von benutzerdefinierten Ereignissen würde ich die OnTimer-Funktion verwenden, weil es sehr umständlich ist, an jedes Symbol einen "Indikator-Agenten" zu hängen...
Ich danke Ihnen! Nützlicher Artikel... Das heißt, für jeden Balken des aktuellen Symbols mit der Funktion CopyTime die Zeit zu erhalten, und dann kopieren Sie die Daten eines anderen Symbols durch diese Zeit.
Sie können es so machen, wenn Sie mit der Synchronisation relativ zum aktuellen Symbol zufrieden sind.
Aber anstelle von benutzerdefinierten Ereignissen würde ich die OnTimer-Funktion verwenden, weil es zu umständlich ist, an jedes Symbol einen "Indikator-Agenten" zu hängen...
Es gibt ein Problem.
MT4
Einzelheiten:
https://www.mql5.com/ru/forum/139759/page13#655069
Die wohl größte Enttäuschung für mich ist das Verhalten der Funktionen SeriesInfoInteger, CopyTime, CopyOpen und ähnliche.
Es stellt sich heraus, dass selbst an Wochenenden, wenn keine neuen Angebote eingehen, die vorhandenen Daten aktualisiert werden,
Diese Funktionen können mit denselben Parametern unterschiedliche Ergebnisse liefern. Es gibt ein Problem mit der Kontrolle der bereits im Terminal vorhandenen Zeitreihendaten.
Es wurde festgestellt, dass das Problem auftritt, wenn man im Mehrwährungsmodus arbeitet, nachdem man die Indikatoren neu kompiliert hat, sowie beim Wechsel der Zeitrahmen und beim Neustart des Terminals.
CopyOpen() gibt keine Fehlermeldung aus, wenn versucht wird, Daten aus einem nicht existierenden Teil der Historie zu kopieren, wobei das Datum des Beginns der Historie angegeben wird. Die Funktion gibt den Kurswert eines unbekannten Balkens aus.
Dieses Verhalten der Funktion wurde beim USDHKD-Paar festgestellt, für das es auf dem MQ-Server seit mehreren Monaten keine Daten mehr gibt.
Danke an MQ für die neuen Fallen!
void OnStart()
{
Alert("start");
string arr1[178365];
char arr2[178365];
arr1[100002]="hello";
Alert(arr1[100002]);
Alert("finish");
}
Bei der Kompilierung gibt es Warnungen,dass die Größe der lokalen Variablen zu groß ist (mehr als 512kb) 55.mq5 27 6
Bei Ausführung2012.07.01 14:37:26 55 (GBPUSD,MN1) Stapelüberlauf
Kann ich nicht 2 kleine Arrays verwenden? Ist es wirklich so viel?
Ich verwende Metatrader nicht für den Handel, sondern für andere Berechnungen.
Stasikusssss:
...
Ich würde dies versuchen: Arrays in einer Klasse oder in einer Struktur (ich erinnere mich nicht, wenn Sie dynamischen Speicher für eine Struktur zuweisen können), Speicher für die Klasse über neue zuweisen;
Oder platzieren Sie die Definition von Arrays in einer separaten Funktion und spielen Sie mit #property stacksize https://www.mql5.com/ru/docs/basis/preprosessor/compilation. Wenn es sich um die zweite Variante handelt, können Arrays nicht statisch sein.
Wenn große Arrays benötigt werden, sollten sie durch explizite Speicherzuweisung dynamisch gemacht werden.