Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43249
Benutzer: 7.221
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Thomas75
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 16 Minuten
- Thomas75
vor 13 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 444
Gesamt: 445
Team: 0
Team:  
Benutzer:  Thomas75
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 21.06.22
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 24
Graf-Rotz befindet sich auf einem aufstrebenden Ast
Standard Berechneten Wert nutzen

Hallo Zusammen,

ich bin sehr neu und habe daher auch viele Fragen.

Ich habe mir jetzt mittels nachfolgender Formel ein paar Zahlen aus der Vergangenheit gezogen. Diese stimmen auch, da ich sie mir als Comment anzeigen lasse.

PHP-Code:
for(int i OrdersTotal() - 1>= 0i--)
    {
     if(
OrderSelect(iSELECT_BY_POSMODE_TRADES))
      {
         if (
OrderType() == OP_BUY && OrderSymbol() == Symbol())
           {
            if (
OrderMagicNumber() == Magic_Sell)
              {        
               
TicketSell OrderTicket();
               
Magic_Sell_TP OrderTakeProfit();
               
Magic_Sell_SL OrderStopLoss();
               
Magic_Sell_Price OrderOpenPrice();
              } 
                     
          }
       }
   } 
Jetzt will ich diese Werte, zum Beispiel "Magic_Sell_TP", so speichern, das ich sie bei einer neuen Order nutzen kann...

PHP-Code:
OrderSend(Symbol(),OP_BUY,1,Ask,1000,1,Magic_Sell_TP,NULL,... 
Aber leider gibt er mir immer Fehler aus, wie "undeclared identifier" oder "function not defined".

Was mache ich falsch? Ich bin verwirrt... vielen Dank schon mal
  #2 (permalink)  
Alt 21.06.22
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

dann hast du die Variable innerhalb eine Funktion definiert. Schiebe sie in den globalen Bereich, dann können auch unterschiedliche Funktionen darauf zugreifen. Alternativ kannst du die Variablen auch Lokal in den Funktionen nutzen, wenn du die Werte dann zu den anderen Funktionen als Parameter weitergibst.
  #3 (permalink)  
Alt 22.06.22
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 24
Graf-Rotz befindet sich auf einem aufstrebenden Ast
Standard

Vielen lieben Dank für deine schnelle Hilfe.
  #4 (permalink)  
Alt 22.06.22
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
Thema geschlossen

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 11:47 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------