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: 4978
Beiträge: 43259
Benutzer: 7.223
Aktive Benutzer: 76
Links: 84
Wir begrüßen unseren neuesten Benutzer: patrickmsulzeay6506
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Stunde
- patrickmsu...
vor einer Woche
- AlbertZiz
vor einer Woche
- michak
vor 2 Wochen
- Amateur
vor 2 Wochen
- infos1982

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 90
Gesamt: 91
Team: 0
Team:  
Benutzer:  AM581
Freunde anzeigen

Empfehlungen

Like Tree2Likes
  • 1 Post By traderdoc
  • 1 Post By traderdoc
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 04.01.17
Neues Mitglied
 
Registriert seit: Sep 2016
Beiträge: 15
Trading111 befindet sich auf einem aufstrebenden Ast
Standard Erstmaliger Stopp Loss

Hallo,

beim Versuch den Stopp Loss gleich mit am ANfang zu definieren, scheint etwas nicht zu funktionieren - also gleich mit OrderSend(...)
Es wird wohl dort am OrderOpenPrice() in der Funktion liegen (in rot).....der ist wohl noch nich definiert zu den Zeitpunkt. ( Denn wenn ich das alles rausnehme und dort eine "0" hindetze läuft der Expertadvisor........kann mir da einer kurz helfen ? Vielen Dank schon mal.

(Oder muss ich den SL wirklich erst danach setzten extra mit OderModify?)


Code:
// LongSignale umsetzen
   if (LongSignal == true)
   {
      while (LongOrder <= 0)
      {
         LongOrder = OrderSend(Symbol(),OP_BUY, HandelsLots,Ask,10,OrderOpernPrice()-SL_im_Verlust,0,"MAXing Long",MagicNummer,0,Green);  
         Aktuelles_Ticket=LongOrder;    
      }
   }
  #2 (permalink)  
Alt 04.01.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Trading111 Beitrag anzeigen
Hallo,

beim Versuch den Stopp Loss gleich mit am ANfang zu definieren, scheint etwas nicht zu funktionieren - also gleich mit OrderSend(...)
Es wird wohl dort am OrderOpenPrice() in der Funktion liegen (in rot).....der ist wohl noch nich definiert zu den Zeitpunkt. ( Denn wenn ich das alles rausnehme und dort eine "0" hindetze läuft der Expertadvisor........kann mir da einer kurz helfen ? Vielen Dank schon mal.

(Oder muss ich den SL wirklich erst danach setzten extra mit OderModify?)


Code:
// LongSignale umsetzen
   if (LongSignal == true)
   {
      while (LongOrder <= 0)
      {
         LongOrder = OrderSend(Symbol(),OP_BUY, HandelsLots,Ask,10,OrderOpernPrice()-SL_im_Verlust,0,"MAXing Long",MagicNummer,0,Green);  
         Aktuelles_Ticket=LongOrder;    
      }
   }
Ich denke mal, das sollte OrderOpenPrice() heißen. Nur der ist ja noch gar nicht definiert.

Zwei Möglichkeiten:
1.NormalizeDouble(Ask - SL_im_Verlust, Digits) dort einsetzen (Achtung: in diesem Falle muss aber SL_im_Verlust eine Dezimalzahl sein, deren Wert vom Ask abgezogen wird und keine Pipzahl!!!)
2. weil es evtl. ein ECN-Broker ist dann doch nach Eröffnung der Order gleich dahinter nach einem erneuten OrderSelect() mit OrderModify() operieren.

traderdoc
Trading111 likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 06.01.17
Neues Mitglied
 
Registriert seit: Sep 2016
Beiträge: 15
Trading111 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Trderdoc - danke für die ANtwort. Ja die erste Variante habe ich gewählt. Es klappt ganz gut. Danke.

Mal noch eine Frage kurz. Wenn man im Metatrader mehrere Charts offen hat und jeweils Experten reingezogen hat - die auch laufen. Wenn ich jetzt in einem Experten abfrage OrdersTotal()==0........bezieht sich die Frage dann nur auf den einen Chart (also das eine Devisenpaar) oder auf das gesamte Konto....also ob überall offene Orders existieren? Danke.


Oder muss man dann so etwas wie OrdersTotal(EUR/USD)==0...setzen?
  #4 (permalink)  
Alt 06.01.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das Ergebnis der Funktion OrdersTotal() bezieht sich auf den gesamten Account.

Nein, es müsste nach der OrderSelect() die Abfrage stehen:

Code:
if (OrderSymbol() == Symbol()) {
...
}
//bzw. wenn gleichzeitig mit einer MagicNumber gearbeitet wird, dann
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)) {
...
}
traderdoc
Trading111 likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Thema geschlossen

Lesezeichen

Stichworte
mql4, programmierung, programmierung metatrader, programmierung mql4, sl, stoploss

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 15:23 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.
-----------------------------------------------------------------------------------------------------------------------------