|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
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); } } } } } } if(Kommentar=="SELL_LIMIT"){ Mir geht es nur um diese beiden Zeilen |
|
|||
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--- |
|
|||
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. |
|
|||
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--- |
|
|||
Dumme Frage, wie viele Stellen hat eine MagicNumber?
|
|
|||
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--- |
|
|||
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); } } } } } } |
|
|||
Ja richtig.
Du könntest auch direkt "if(OrderMagicNumber() == 1000)" schreiben. Dann wird der Code etwas kürzer. ---Leopold--- |
|
|||
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"); |
Lesezeichen |
Stichworte |
mql4, pending order zeit, pending orderspending order, programmierung, programmierung metatrader, programmierung mql4, zeitlich begrenzen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|