Wie verschiebe ich die Struktur der globalen Variablen im Indikator, wenn ich zu einem anderen Zeitrahmen wechsle? - Seite 7

 

fxsaber
:

Das Ergebnis der Arbeit mit SIZE = 1000 meines Codes(Datei StructArr.mqh - leicht modifiziert. Ich habe unnötige Dinge rausgeworfen):

2021.07.11 08:13:06.839 TestVar (EURUSD,M5)     Сохранение данных - 30 микросекунд
2021.07.11 08:13:06.839 TestVar (EURUSD,M5)     Время T[] -> uint[] - 23 микросекунд
2021.07.11 08:13:17.276 TestVar (EURUSD,M6)     Востановление данных - 272 микросекунд
2021.07.11 08:13:17.276 TestVar (EURUSD,M6)     Время uint[] -> T[] - 22 микросекунд
2021.07.11 08:13:20.448 TestVar (EURUSD,M10)    Востановление данных - 488 микросекунд
2021.07.11 08:13:20.448 TestVar (EURUSD,M10)    Время uint[] -> T[] - 30 микросекунд
2021.07.11 08:13:23.431 TestVar (EURUSD,M12)    Востановление данных - 1355 микросекунд
2021.07.11 08:13:23.431 TestVar (EURUSD,M12)    Время uint[] -> T[] - 44 микросекунд
2021.07.11 08:13:27.729 TestVar (EURUSD,M20)    Востановление данных - 350 микросекунд
2021.07.11 08:13:27.729 TestVar (EURUSD,M20)    Время uint[] -> T[] - 22 микросекунд

Gleiches Ergebnis mit Ihrer Bibel (Datei StructArrFx.mqh)

2021.07.11 08:20:52.663 TestVar (EURUSD,M5)     Сохранение данных - 60 микросекунд
2021.07.11 08:20:52.663 TestVar (EURUSD,M5)     Время T[] -> uint[] - 50 микросекунд
2021.07.11 08:21:01.888 TestVar (EURUSD,M6)     Востановление данных - 319 микросекунд
2021.07.11 08:21:01.888 TestVar (EURUSD,M6)     Время uint[] -> T[] - 7 микросекунд
2021.07.11 08:21:04.395 TestVar (EURUSD,M10)    Востановление данных - 615 микросекунд
2021.07.11 08:21:04.395 TestVar (EURUSD,M10)    Время uint[] -> T[] - 7 микросекунд
2021.07.11 08:21:07.774 TestVar (EURUSD,M12)    Востановление данных - 1410 микросекунд
2021.07.11 08:21:07.774 TestVar (EURUSD,M12)    Время uint[] -> T[] - 10 микросекунд
2021.07.11 08:21:10.292 TestVar (EURUSD,M15)    Востановление данных - 460 микросекунд
2021.07.11 08:21:10.292 TestVar (EURUSD,M15)    Время uint[] -> T[] - 6 микросекунд
2021.07.11 08:21:13.600 TestVar (EURUSD,M20)    Востановление данных - 692 микросекунд
2021.07.11 08:21:13.600 TestVar (EURUSD,M20)    Время uint[] -> T[] - 6 микросекунд


Sieg für Sie :))
Ich werde mich in Ihren Code vertiefen müssen :(
Gute Arbeit. Ich danke Ihnen!

Dateien:
 
fxsaber:

Ein solches Messgerät.

Ja, ich verstehe Ihr Geheimnis.
Ich habe immer wieder darüber nachgedacht. Ich sehe, dass Sie dynamische Array innerhalb Union zu verwenden scheinen.
Dann habe ich herausgefunden, wie Sie tatsächlich pseudo-dynamische Array mit Schleife gemacht.
Es ist cool, vor allem Ihre kryptographischen Stil "I'm spinning, I'm screwing" :))
Der Gewinn ist besonders spürbar auf große Arrays von Strukturen.
Das einzige, was ich hinzufügen könnte, ist CONVERT_AMOUNT auf mehrere Werte erweitert: zum Beispiel 32, 128, 512, 2048, ... mit automatischer Erkennung.

 
Nikolai Semko:

Ja, ich verstehe Ihr Geheimnis.
Ich habe mir den Kopf zerbrochen. Ich sehe, als ob Sie ein dynamisches Array innerhalb der Union verwenden.
Dann habe ich herausgefunden, wie Sie im Wesentlichen ein pseudo-dynamisches Array mit einer Schleife gemacht.
Es ist cool, vor allem Ihre kryptographischen Stil "Ich spinne, ich schraube" :))
Der Gewinn ist besonders spürbar auf große Arrays von Strukturen.
Das einzige, was ich kann hinzugefügt haben, istCONVERT_AMOUNT auf mehrere Werte erweitert: z. B. 32, 128, 512, 2048, ... Mit automatischer Erkennung.

Forum für Handel, automatisierte Handelssysteme und Strategietests

Ermitteln der Anzahl der Dezimalstellen beliebiger Zahlen (nicht nur Anführungszeichen) unter Umgehung von Digits() in MQL4 und MQL5

fxsaber, 2018.12.08 16:25

Ich habe natürlich verschiedene Größen ausprobiert. Aus irgendeinem Grund haben sie keinen Einfluss auf das Ergebnis.

 
fxsaber:
Vielleicht. Ich glaube, ich bin auf so etwas gestoßen.