Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 22.06.22
TraderMike TraderMike ist offline
Mitglied
 
Registriert seit: Jun 2022
Beiträge: 42
TraderMike befindet sich auf einem aufstrebenden Ast
Standard

Der Einsatz von Globalen Variablen wäre auch eine Möglichkeit die Werte immer verfügbar zu halten, 2 Beispiele:

Code:
if(AccountProfit() < 0) {
     if(AccountProfit() < GlobalVariableGet("_AccountDrawDown_") ) {GlobalVariableSet("_AccountDrawDown_", AccountProfit() ); } }

(es wird der immer höchste Minus Wert in die GV geschrieben-der reale echte DD (Geld) steht somit zur Verfügung)


 if (OrderMagicNumber() == Magic_Sell)
              {        
               TicketSell = OrderTicket(); -> GlobalVariableSet("_TicketSell_", OrderTicket() );
               Magic_Sell_TP = OrderTakeProfit(); -> GlobalVariableSet("_Magic_Sell_TPl_",OrderTakeProfit() );
Mit GlobalVariableGet("GV Name") kann man die Werte auslesen.
Globale Variablen sind 30 Tage verfügbar, werden Sie nicht mehr genutzt, automatisch gelöscht.
Diese werden in die Datei gvariables.dat im Ordner profiles bei Änderung geschrieben, werden bei Neustart/Init nimmer neu eingelesen. Kein Datenverlust!
Eine Globale Variable braucht zwischen 4 bis 8 Byte im Arbeitsspeicher und ist in der Ausführung extrem schnell, im Gegensatz zum Einlesen einer Datei (FileOpen/Write/Close)
Eine Garbage Collection ist nicht notwendig, was ein großer Vorteil ist, neben der ständigen Verfügbarkeit.

Mike