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: 3824
Beiträge: 36968
Benutzer: 6.076
Aktive Benutzer: 496
Links: 80
Wir begrüßen unseren neuesten Benutzer: Spitzmaus
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 10 Stunden
- Spitzmaus
vor 13 Stunden
- juleslesqu...
vor einem Tag
- hmf44
vor einem Tag
- Crossa
vor einem Tag
- snatshit

Onlineuser
'Wer ist online' anzeigen Benutzer: 2
Gäste: 67
Gesamt: 69
Team: 0
Team:  
Benutzer:  Domke01, fxnoob
Freunde anzeigen

Empfehlungen

Werbung

Like Tree1Likes
Thema geschlossen
 
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
  #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---
  #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.
  #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---
  #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?
  #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---
  #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?
  #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.
  #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");
Thema geschlossen

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 +1. Es ist jetzt 07:38 Uhr.



Der Wavesnode - 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.
-----------------------------------------------------------------------------------------------------------------------------