![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Renat, die Frage war eher theoretisch als praktisch.
Um nicht im Nebel zu versinken, verweise ich auf das Beispiel in der iFractals-Hilfe. Es stimmt, dass es dort einen Indikator gibt, aber lassen Sie uns die Aufgabe auf eine einzige Berechnung des grafischen Layouts durch ein Skript vereinfachen.
Angenommen, ich möchte die Zeiten aller fraktalen Balken auf der Oberseite der gesamten Geschichte (oder eines wesentlichen Teils davon in einem mittleren Zeitrahmen, in dem es viele Fraktale geben wird) herausfinden. Habe ich richtig verstanden, dass es besser ist,CopyTime in der Schleife bei FrUpBuffer[shift]!=EMPTY_VALUE bis zu einer Tiefe von 1 Element wiederholt zu stören:
und erhalten ein schnelleres Ergebnis, als den gesamten Verlauf auf einmal mit CopyTime nach Tiefe des FrUpBuffers zu essen:
und dann in der gleichen Schleife bei den gleichen if's nur die Fraktal-Balkenzeitwerte drucken?Beide Aufgaben sind identisch, nur die Umsetzung ist etwas anders.
Intuitiv verstehe ich, dass es länger und teurer, eine enorme Zeichenfolge von bar Zeiten (beide fraktale und leer) in ein Array zu kopieren ist; auf der anderen Seite ist es zweifelhaft, CopyTime wiederholt zu einer Tiefe von 1 Element zu ziehen.
Wenn die erste Variante schneller ist, handelt es sich dann um einen absoluten Gewinn oder hängt es von der Gesamtzahl der Fraktale ab (z. B. gibt es auf kleinen TF viel mehr von ihnen)?
Hierhttps://www.mql5.com/ru/forum/3775/page59#comment_94865 habe ich eine Frage gestellt, wie man Deklaration, Verknüpfung, Initialisierung und andere Aktionen für mehrere Puffer desselben Typs in eine Schleife packen kann, um den Code zu reduzieren und die Lesbarkeit und Handhabbarkeit zu verbessern. Ich erhielt eine Antwort mit einem Beispiel (Klasse, Struktur) und habe sie verstanden.
Nach dem gleichen Prinzip habe ich nun versucht, Mehrfachzuweisungen vom Typ #property einzudämmen:
und stieß auf mindestens zwei Probleme:
1. für auf der globalen Ebene ist verboten, d.h. die früheste Verwendung ist nicht früher als in OnInit(), aber #property ist bekanntlich auf der globalen Ebene vor allen anderen Funktionen deklariert;
2. beim Versuch, den Indikatoren in der Schleife in OnInit() Eigenschaften zuzuweisen:
Compiler flucht bei '#' (wie erwartet): '#property' - unerwartetes Token.Können Sie mir sagen, ob und wie die Idee grundsätzlich realisierbar ist?
Können Sie mir sagen, wie man ein zweidimensionales Array von Arrays deklariert?
Etwa so:
Können Sie mir sagen, ob es möglich ist, ein zweidimensionales Array von Arrays zu deklarieren?
Ein Array von Strukturen mit Feldern als Arrays kann deklariert werden, der Compiler überspringt sogar dynamische Arrays in der Struktur:
Können Sie mir sagen, wie man ein zweidimensionales Array von Arrays deklariert?
Etwa so:
IgorM, x100intraday
Danke für die Optionen. Ich denke, damit sollte es klappen, ich werde es ausprobieren.
IgorM, x100intraday
Danke für die Optionen. Ich denke, das sollte funktionieren, ich werde es ausprobieren.
Übrigens, der Name "Buffer" kann in "_" oder andere Rätsel geändert werden, dann ist der Aufruf völlig klar:
Übrigens kann der Name "Buffer" in "_" oder etwas anderes geändert werden, damit der Aufruf völlig klar ist:
Aber wie macht man das alles mit #property? - Ich frage mich...
Keine Ahnung?
Aber wie macht man das alles mit #property? - Ich frage mich...
Keine Ahnung?