|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
OrderModify Problem !!! Hilfeeee!!!
Hi Freunde des (oft widerspenstigen) MQL4,
ich möchte eine Order nach dem Öffnen mit OrderModify verändern. Es soll ein StoppLoss auf einer EMA gesetzt werden und der soll sich mit der EMA verändern. Nun habe ich alles versucht, in die OrderModify die zuvor ausgelesene Ticketnummer reinzubringen - ohne Erfolg. Vielleicht könnt ihr mit mal helfen? Hier der Code (Natürlich sind die Variablen definiert): Code:
for(i=0;i<=OrdersTotal();i++) OrderSelect(i,SELECT_BY_POS,MODE_TRADES); bool res=OrderModify(OrderTicket(),0,EMA50,0,0,clrBlue); if(!res) Alert("Error in OrderModify. Error Code = ",GetLastError()); else Alert("Order modified successfully!"); Wäre echt toll, wenn ich hier weiterkommen würde...! Danke!!!
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
Du willst den Preis auf 0 setzen? Wie soll das funktionieren?
|
|
|||
Würdest Du mir die Stelle zeigen, wo ich den Preis auf 0 setze?
Falls Du die rot markierte Stelle meinst Code:
bool res=OrderModify(OrderTicket(),0,EMA50,0,0,clrBlue);
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
OK, ich hab halt noch nirgendwo gesehen, dass das gehen soll.
|
|
|||
Man kann den Preis einer Pending-Order verändern. Den Preis einer laufenden (Open-) -Order kann man naturgemäß nicht verändern. Den bestimmt der Markt.
HIER geht es um laufende, also "open" orders. Daher wird der Wert auf 0 gesetzt. Aber bitte, ich bin um jede Art des Wissen dankbar - kann ja sein, dass ich falsch liege - in dem Fall gib mir doch ein funktionierendes Beispiel...?!
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
|
|||
In meinem Framework nahm ich halt OrderOpenPrice () usw für Preis, StopLoss usw. Bei mir funktioniert das dann.
|
|
|||
Ok... nachdem ich den Code ein wenig modifizierte und die verfluchten , berühmt-berüchtigten Drecksklammern eingefügt habe, funktioniert es. Vielleicht für andere, die so einen Fehler suchen:
Code:
total=OrdersTotal(); for(i=0;i<=OrdersTotal();i++) {OrderSelect(i,SELECT_BY_POS, MODE_TRADES); ordernrticket[i]=OrderTicket(); OrderModify(ordernrticket[i],0,EMA50,0,0,clrBlue); } Und das Array von ordernrticket nicht vergessen, am Programmanfang zu definieren! So, @Admin, vielleicht auch für die Rubrik Codeschnipsel?!
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang |
Lesezeichen |
|
|