Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 443

 
Karputov Vladimir:
Es lohnt sich also, weitere Ausdrucke hinzuzufügen und zu sehen, wie sich der Algorithmus entwickelt.
Wenn Sie also die TF ändern, sind sie da - ich weiß nicht, wo ich sonst noch weitere Drucker hinzufügen könnte: ....
 

Installierte 880 Build von MT4 - kompiliert ohne Fehler, aber Terminal stürzt ab (alte Build funktioniert korrekt).

Nachdem ich ein anderes Terminal gestartet und dort kompiliert habe - unter dem alten Build, starte ich das Terminal mit dem neuen Build und erhalte einen Fehler, wenn ich versuche, EA zu ändern (Editor aufrufen) 2015.09.19 22:23:11.272 MetaEditor nicht gefunden - Start im Terminalmodus

Fehler beim Starten des EA

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: OrderSend error 4051

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: ungültige Beträge für OrderSend-Funktion


 
-Aleks-:

Installierte 880 Build von MT4 - kompiliert ohne Fehler, aber Terminal stürzt ab (alte Build funktioniert korrekt).

Nachdem ich ein anderes Terminal gestartet und dort kompiliert habe - unter dem alten Build, starte ich das Terminal mit dem neuen Build und erhalte einen Fehler, wenn ich versuche, EA zu ändern (Editor aufrufen) 2015.09.19 22:23:11.272 MetaEditor nicht gefunden - Start im Terminalmodus

Fehler beim Starten des EA

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: OrderSend error 4051

2015.09.19 22:29:49.948 2014.01.20 21:30 Kamikadze_MA_V_04_42_Fibo_04.ex4 GBPUSD,M15: Ungültige Losgröße für OrderSend-Funktion


А

#property strict
fügen Sie es in Ihren Code ein?
 
Karputov Vladimir:

А

In Ihren Code einbauen?
Ja, natürlich! Ich musste auf die Version 840 zurückgehen - sie funktioniert jetzt besser.
 
Bitte sagen Sie mir, wie ich eine globale Variable mit Variablennamen-Generierung erstellen kann - sie sollte "Variablenname_Magische Zahl" lauten.
 
-Aleks-:
Bitte sagen Sie mir, wie ich eine globale Variable mit Variablennamen-Generierung erstellen kann - sie sollte "Variablenname_Magische Zahl" lauten.
Sie können dies tun, oder Sie können sich leiten lassen von:Variablen
 
Karputov Vladimir:
Sie können dies tun, oder Sie können sich leiten lassen von:Variablen
Ich verstehe die Antwort nicht - lassen Sie mich meine Frage präzisieren. Ich habe einen Code, in dem es eine externe Variable Magic gibt, deren Wert vom Benutzer eingestellt wird. Ich muss die relative Stabilität des Systems nach dem Ein- und Ausschalten des Terminals sicherstellen, weil es einen Algorithmus im Programm gibt, der statistische Berechnungen durchführt, und der letzte Wert für die Ausführung des Algorithmus wichtig ist. Ich beschloss, eine globale Variable zum Speichern von Berechnungsdaten zu verwenden, die aber an einen bestimmten EA gebunden sein sollte - es wäre logisch, sie durch Magie zu binden - und so den Variablennamen "Globaler Variablenname+Magie" zu erhalten. Die Frage ist also, wie man einen neuen Variablennamen korrekt erzeugt.
 
-Aleks-:
Ich verstehe die Antwort nicht - lassen Sie mich die Frage klären. Ich habe einen Code, in dem es eine externe Variable Magic gibt, deren Wert vom Benutzer eingestellt wird. Ich muss die relative Stabilität des Systems nach dem Aktivieren/Deaktivieren des Terminals sicherstellen, da es einen Algorithmus innerhalb des Programms gibt, der statistische Berechnungen durchführt und dessen letzter Wert für die Ausführung des Algorithmus wichtig ist. Ich beschloss, eine globale Variable zum Speichern von Berechnungsdaten zu verwenden, die aber an einen bestimmten EA gebunden sein sollte - es wäre logisch, sie durch Magie zu binden - und so den Variablennamen "Globaler Variablenname+Magie" zu erhalten. Die Frage ist also, wie man einen neuen Variablennamen korrekt erzeugt.

Stabilität und eine externe Variable, die vom Benutzer bearbeitet werden kann, sind bereits unvereinbare Bedingungen. Beispiel: der erste Durchlauf - der Benutzer hat die externe Variable geändert, die Sie in Ihrem Code an dieses Präfix gebunden haben. Das Terminal wird neu gestartet und der Benutzer ändert die externe Variable erneut. Was werden Sie tun?

Welcher Typ ist der letzte berechnete Wert in Ihrem Algorithmus (derjenige, der nach dem Neustart sehr wichtig ist)? Doppelt? Wenn das nicht der Fall ist, haben Sie bereits ein Problem.

 
Karputov Vladimir:

Stabilität und eine externe Variable, die vom Benutzer bearbeitet werden kann, sind bereits unvereinbare Bedingungen. Beispiel: der erste Durchlauf - der Benutzer hat die externe Variable geändert, die Sie in Ihrem Code an dieses Präfix gebunden haben. Das Terminal wird neu gestartet und der Benutzer ändert die externe Variable erneut. Was werden Sie tun?

Welcher Typ ist der letzte berechnete Wert in Ihrem Algorithmus (derjenige, der nach dem Neustart sehr wichtig ist)? Doppelt? Wenn nicht, gibt es bereits ein Problem.

Nun, der Benutzer bin ich, also soll er nicht hektisch etwas ändern. Welche anderen Möglichkeiten gibt es? In init setzen Neuberechnung und Suche nach dem richtigen Wert?

Die Variable ist int, aber Sie können auch double verwenden - das ist nicht wichtig - sie wird ganze Zahlen speichern.

 
-Aleks-:
... Denn im Programm gibt es einen Algorithmus, der statistische Berechnungen durchführt, und sein letzter Wert ist wichtig für die Ausführung des Algorithmus. Ich beschloss, eine globale Variable zum Speichern von Berechnungsdaten zu nehmen, die aber an einen bestimmten EA gebunden sein sollte - es wäre logisch, sie mit Magie zu verbinden - auf diese Weise wird der Variablenname "Name der globalen Variable+Magie" erzeugt. Die Frage ist also, wie man einen neuen Variablennamen korrekt erzeugt.

Was ist daran falsch? :

   string strText="rezult";
   string strGlobalVariableName=strText+"_"+inpMagic;