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: 4845
Beiträge: 42777
Benutzer: 7.157
Aktive Benutzer: 92
Links: 83
Wir begrüßen unseren neuesten Benutzer: Lnx4All
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 15 Stunden
- Lnx4All
vor einer Woche
- Tagtranple...
vor einer Woche
- Albert12
vor einer Woche
- guentheral...
vor 2 Wochen
- Graf-Rotz

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 23
Gesamt: 23
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 5
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
Mit Zitat antworten
  #2 (permalink)  
Alt vor einer Woche
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 310
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.
Mit Zitat antworten
  #3 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 5
Graf-Rotz befindet sich auf einem aufstrebenden Ast
Standard

Vielen lieben Dank für deine schnelle Hilfe.
Mit Zitat antworten
  #4 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 14
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
Mit Zitat antworten
Antwort

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 +2. Es ist jetzt 04:09 Uhr.





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