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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3781
Beiträge: 36748
Benutzer: 5.984
Aktive Benutzer: 486
Links: 80
Wir begrüßen unseren neuesten Benutzer: Take2
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 2 Tagen
- Take2
vor 3 Tagen
- peterhardi
vor 4 Tagen
- tecdaxfan
vor 5 Tagen
- falcochen
vor 6 Tagen
- Siebi71

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

Empfehlungen

Werbung

Like Tree1Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 02.08.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Noch eine kurze andere Frage.

Kann ich eine Orde auch nach einem Kommentar auswählen?

Code:
void Func_SELL_BREAKEVEN () {
   Stop_Loss   = NormalizeDouble(R12, Digits);                                                                 //Neuer Wert für SL wird auf Tageshoch gesetzt
   bool result;
   for(int x=OrdersTotal()-1;x>=0;x--) {                                                                       //Schleife Anzahl der Orders
      if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES)) {
         if (OrderSymbol() == Symbol()){                                                                       //Auswahl der SELL Orders
            if(OrderType()==OP_SELL){
                string Kommentar = OrderComment();                                                        
                if(Kommentar=="SELL_LIMIT"){                                                                   
                result = OrderModify(OrderTicket(),OrderOpenPrice(),Stop_Loss,OrderTakeProfit(),0,clrBlue);
                }
            }
         }
      }
  }
}
string Kommentar = OrderComment();
if(Kommentar=="SELL_LIMIT"){

Mir geht es nur um diese beiden Zeilen
Mit Zitat antworten
  #12 (permalink)  
Alt 02.08.17
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 117
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich glaube das ist nicht so optimal. Mir ist mal aufgefallen, dass hier weitere Informationen ergänzt werden und wenn das der Fall ist, funktioniert deine Abfrage nicht mehr. Vielleicht kann das jemand bestätigen.

Ich denke die bessere Lösung wäre eine eigene MagicNumber zu vergeben.

---Leopold---
Mit Zitat antworten
  #13 (permalink)  
Alt 02.08.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Hmmmm, kann ich denn jeder Order, die ich nach Schema X setze die selbe MagicNumber geben?
Dann wäre eine entsprechende Änderung ja kein Problem.
Mit Zitat antworten
  #14 (permalink)  
Alt 02.08.17
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 117
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Ja, ich verwende sie zum Unterscheiden der EA's. Bei mir bekommt jeder EA seine eigene ID Nummer (MagicNumber). Dadurch kann ich selektieren welche Order von welchen EA stammt.

---Leopold---
Mit Zitat antworten
  #15 (permalink)  
Alt 02.08.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Dumme Frage, wie viele Stellen hat eine MagicNumber?
Mit Zitat antworten
  #16 (permalink)  
Alt 02.08.17
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 117
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Diese ist als "int" deklariert, also sollte das Maximum 2 147 483 647 sein.

Hier der Link zum nachlesen:
https://docs.mql4.com/basis/types/integer/integertypes

---Leopold---
Mit Zitat antworten
  #17 (permalink)  
Alt 02.08.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Code:
void Func_BUY_BREAKEVEN () {
   Stop_Loss   = NormalizeDouble(S12, Digits);                                                                 //Neuer Wert für SL wird auf Tagestief gesetzt
   bool result;
   for(int x=OrdersTotal()-1;x>=0;x--) {                                                                       //Schleife Anzahl der Orders
      if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES)) {
         if (OrderSymbol() == Symbol()){                                                                       //Auswahl der BUY Orders
            if(OrderType()==OP_BUY){
                int Magic = OrderMagicNumber();                                                        
                if(Magic==1000){                                                                   
                result = OrderModify(OrderTicket(),OrderOpenPrice(),Stop_Loss,OrderTakeProfit(),0,clrBlue);
                }    
            }
         }
      }
  }
}
Wenn ich bei platzieren einer Order die MagicNumber 1000 vergeben habe, dann würde ich die hiermit auswählen, oder?
Mit Zitat antworten
  #18 (permalink)  
Alt 02.08.17
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 117
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Ja richtig.

Du könntest auch direkt "if(OrderMagicNumber() == 1000)" schreiben. Dann wird der Code etwas kürzer.

---Leopold---
Lena likes this.
Mit Zitat antworten
  #19 (permalink)  
Alt 11.08.17
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich die Haltedauer auf das Ende des nächsten Tages setzen will, dann muss ich doch von meinem Verständnis aus nur bei TimeDay "1" hinzu addieren.
Aber leider passiert da nichts.

Code:
   datetime expiration = StringToTime((string)TimeYear(Time[0])+"."+(string)TimeMonth(Time[0])+"."+(string)TimeDay(Time[0]+1)+".22:55");
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
mql4, pending order zeit, pending orderspending order, programmierung, programmierung metatrader, programmierung mql4, zeitlich begrenzen


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 05:41 Uhr.



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