Fehler, Irrtümer, Fragen - Seite 760

 
Karlson:

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... Das Problem ist, dass ich mit M1 arbeite und oft asynchrone Balken mit demselben Index auf verschiedenen Symbolen sehe. Ein Vergleich der Daten ist ebenfalls möglich. Ich werde sehen, welche Variante von der Rechengeschwindigkeit her optimaler ist...
 
Alex5757000:
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.
 
Lizar:
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...

 
Alex5757000:

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...

Verwenden Sie OnTimer, es hängt alles von Ihren Anforderungen an die Qualität der Synchronisation ab.
 

Es gibt ein Problem.

MT4

Einzelheiten:

https://www.mql5.com/ru/forum/139759/page13#655069

Новая версия MetaTrader 4 Client Terminal build 432 - MQL4 форум
  • www.mql5.com
Новая версия MetaTrader 4 Client Terminal build 432 - MQL4 форум
 

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.

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
Zu nicht vorhandenen Anführungszeichen: Bitte geben Sie ein reproduzierbares Beispiel in Ihrem Code an. Es muss ein Fehler in Ihrem Code vorliegen.
 
Es ist unvernünftig, große Arrays im Stack zu erstellen (über 512 Kb), wie uns der Compiler sofort warnte.

Wenn große Arrays benötigt werden, sollten sie durch explizite Speicherzuweisung dynamisch gemacht werden.
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5