Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1236
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
Grüße. Können Sie mir bitte etwas sagen?
Ist es möglich, den Namen einer Variablen anstelle ihres Wertes abzurufen? Drucken Sie zum Beispiel einen Variablennamen.
#define PRINTVAR(x) Print(" " ##x); Print(x)
void OnStart()
{
long anyvar=(long)TimeLocal();
PRINTVAR(anyvar);
}
Ergebnis:
2020.08.24 14:46:05.394 test (USDCHF,H1) anyvar
2020.08.24 14:46:05.394 test (USDCHF,H1) 1598280365
Möglicherweise ein Feature von unpublished :-) ähnlich wie "C", aber noch nicht nutzbar
Sie müssen den Namen der Variablen selbst ermitteln.
Ohne den Namen zu kennen und ohne jegliche Unterscheidungsmerkmale ist dies nicht möglich. Sie können zum Beispiel die Namen aller Variablen, die gleich 5 sind, ermitteln und ihre Namen, gefunden, gedruckt ausgeben. Oder die Namen aller String-Variablen. In jedem Fall handelt es sich aber um eine variable Aufzählung.
Maxim Kuznetsov Dank
Ja, es geht auch darum, eine Variable nach ihrem Namen auszuwählen.
Es gibt zum Beispiel die Variablen a1, a2, a3, a4, a5, usw. Sie müssen auch diese Variablen durchsuchen, diejenige auswählen, die "a" und 5 enthält, und sie verwenden.
dann gibt es fast keine Möglichkeit. Variablennamen sind nur über den Präprozessor zugänglich (#macros).
Wir müssen die interne Logik ändern, z. B. ein Objekt-Hash-Array mit Namen anstelle von Variablen verwenden. Dann sind sowohl Schlüssel als auch Wert sofort verfügbar. Oder verwenden Sie SQLite für die langfristige Speicherung. Oder kombinieren Sie sie :-)
Aber es ist so, ohne Kenntnis des Algorithmus, Beratung vergeblich.
Ja, es geht auch darum, eine Variable nach ihrem Namen auszuwählen.
Es gibt zum Beispiel die Variablen a1, a2, a3, a4, a5, usw. Wir müssen auch diese Variablen aufzählen, diejenige auswählen, die "a" und 5 hat, und sie verwenden.
Schreiben Sie die Namen in ein Feld und gehen Sie das Feld durch.
Guten Tag zusammen, meine Frage bezieht sich auf MT4 tester, mql4 language
Bitte sagen Sie mir, was mein Fehler bei der Initialisierung eines Arrays ist. Ich habe ein eindimensionales Array mit 750 Elementen erstellt. Ich habe alle 750 Elemente mit dem Wert 50,0 initialisiert.
Das bedeutet, dass beim ersten und den folgenden Ticks das erste Array-Element mit dem Index 0 den Wert 50,0 und das letzte Array-Element mit dem Index 749 den Wert 50,0 haben muss.
Es stellt sich nämlich heraus, dass das letzte Element der Matrix den Wert 0 hat. Und die erste ist, wie es sich gehört, 50,0.
Die Frage. Wie kann man erreichen, dass alle Werte des Arrays (einschließlich des letzten) nach der Initialisierung den Wert 50.0 haben?
Hier ist mein Code
Print("=========================749======= ",S_L[749]," =0= ",S_L[0]);
}
Am Ende des Print()-Werts aus dem Journal
2020.08.24 17:43:55.427 GBPUSD,M1: 52255 Tick-Ereignisse (1440 Takte, 53256 Taktzustände) verarbeitet in 0:00:00.047 (Gesamtzeit 0:00:02.422)
2020.08.24 17:43:55.407 2010.01.04 00:00:53 TESTER(B.ORG) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:52 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:50 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:47 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:45 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:43 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:41 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:40 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:37 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:35 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:32 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:30 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:28 TESTER(B.ORDERS) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:26 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:25 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:22 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:20 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:17 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:15 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:13 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:11 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:10 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:07 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00:05 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:02 TESTER(B.ORD) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.407 2010.01.04 00:00 TESTER(B.ORDERS) GBPUSD,M1: =========================749======= 0 = 0= 50
2020.08.24 17:43:55.385 2010.01.01 00:00:00 Tester(B.ORD.) Test gestartet
Danke für die Hilfe
Hier ist meine.
Wo?))
Wo?)))
Oben in meinem bearbeiteten Beitrag. Vielen Dank für die Antwort.
ANDREY:
Frage. Wie kann ich erreichen, dass alle Werte meines Arrays (einschließlich des letzten) nach der Initialisierung den Wert 50,0 haben?
Danke für den Hinweis. Übrigens wollte ich klären..... In Kovalevs Tutorial heißt es, dass das Array gleichzeitig mit seiner Deklaration initialisiert werden kann (so wie ich es getan habe), ohne eine spezielle Funktion. Ich weiß, dass die Anleitung von Kovalev etwas veraltet ist. F. Verstehe ich das richtig, dass Arrays in mql4 nur noch mit einer Funktion initialisiert werden sollten?
Ich danke Ihnen.