Zugriff mehrerer EAs auf globale Variable
Hallo zusammen,
ich habe ein Problem. Bei mir laufen mehrere EAs auf unterschiedlichen Charts. Nun möchte ich die Lotgröße bei neuen Orders in Abhängigkeit des Profit des Tages berechnen. Hierzu habe ich die Variable "Extern double SaldoGesamt" in allen EAs definiert. Ich weiß nur nicht genau wie ich auf diese zugreifen kann und wie ich sie verändern kann. Aktuell versuche ich es wie folgt: # //ENDPRÜFUNG !!! Prüfen ob Ticket 1 geschlossen und Profit auswerten //Ticket lokalisieren if((OrderSelect(TicketNummerShort1, SELECT_BY_TICKET,MODE_HISTORY) == true) && (Verriegelung == 1)) { //Abfragen ob Orderclostime gesetzt if((OrderCloseTime() != 0) ) { //Profit speichern double tempprofit1; tempprofit1 = OrderProfit(); //Globale Variable (SaldoGesamt) auslesen bool GVauslesentemp = false; while(GVauslesentemp != true) { //Globale Variable auslesen GVauslesentemp = GlobalVariableGet("SaldoGesamt",SaldoGesamt); } SaldoGesamt = SaldoGesamt + tempprofit1; Print("Saldo Gesamtmodell aller Währungen heute: ",SaldoGesamt); //Globale Variable (SaldoGesamt) aktualisieren bzw. zurückschreiben bool GVauslesentemp2 = false; while(GVauslesentemp2 != true) { //Globale Variable zurückschreiben GVauslesentemp2 = GlobalVariableSet("SaldoGesamt",SaldoGesamt); } ........ # Beim Kompilieren kommt kein Fehler aber wenn er in die Schleife läuft hängt sich der EA auf. Was mache ich falsch? Hat mir jemand einen Tipp? Vielen Dank im Voraus. VG Exergon :confused: |
while(GVauslesentemp != true)
Hierbei ist doch GVauslesentemp kein bool-Variable!! GVauslesentemp = GlobalVariableGet("SaldoGesamt",SaldoGesamt); falsche Syntax, da hätte der Compiler eigentlich meckern müssen. GVauslesentemp = GlobalVariableGet("SaldoGesamt"); GVauslesentemp2 = GlobalVariableSet("SaldoGesamt",SaldoGesamt); Auch falsche Systax, da hat nur zu stehen: GlobalVariableSet("SaldoGesamt",SaldoGesamt); GVauslesentemp2 wurde als bool deklariert, soll aber eine double-Zahl zugewiesen werden, das geht natürlich nicht. traderdoc |
Hallo Traderdoc,
vielen Dank für Deine Antwort. Hat geklappt....jetzt funktioniert es! Prima! :) Darf ich noch fragen: Wenn ich es im Netz richtig gelesen habe bleiben die externen Variablen einige Tage gespeichert. Ist das so? Bedeutet das, dass die globale Variable des Vortages am nächsten Tag beim Auslesen noch den selben Wert wie am Tag zuvor hat (oder nach 4 Tagen ohne ZUgriff wie vor 4 Tagen) - sofern nicht mehr darauf zugegriffen wurde? Herzlichen Dank Dir... VG Exergon :-) |
MQL5 Reference:
Zitat:
|
Danke Otto...ja so hatte ich es auch noch im Kopf...thanks! :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 Uhr. |
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum