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: 4155
Beiträge: 38924
Benutzer: 6.442
Aktive Benutzer: 224
Links: 80
Wir begrüßen unseren neuesten Benutzer: devIXX
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 18:12).
Neue Benutzer:
vor 2 Tagen
- devIXX
vor 3 Tagen
- sevdarko
vor 4 Tagen
- Mart
vor einer Woche
- mfleck12
vor einer Woche
- sviter-pro

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 2 Wochen
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 98
Angel befindet sich auf einem aufstrebenden Ast
Standard 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!");
Als Fehlercode wird 4051 angezeigt (Invalid function parameter value)
Wäre echt toll, wenn ich hier weiterkommen würde...! Danke!!!
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang
Mit Zitat antworten
  #2 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Apr 2018
Beiträge: 41
daybyter befindet sich auf einem aufstrebenden Ast
Standard

Du willst den Preis auf 0 setzen? Wie soll das funktionieren?
Mit Zitat antworten
  #3 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 98
Angel befindet sich auf einem aufstrebenden Ast
Standard

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);
dann sei Dir versichert, dass diese 0 zwar für den Preis steht, aber KEINE PREISÄNDERUNG signalisiert / fordert / veranlasst.
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang
Mit Zitat antworten
  #4 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Apr 2018
Beiträge: 41
daybyter befindet sich auf einem aufstrebenden Ast
Standard

OK, ich hab halt noch nirgendwo gesehen, dass das gehen soll.
Mit Zitat antworten
  #5 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 98
Angel befindet sich auf einem aufstrebenden Ast
Standard

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
Mit Zitat antworten
  #6 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Apr 2018
Beiträge: 41
daybyter befindet sich auf einem aufstrebenden Ast
Standard

In meinem Framework nahm ich halt OrderOpenPrice () usw für Preis, StopLoss usw. Bei mir funktioniert das dann.
Mit Zitat antworten
  #7 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 98
Angel befindet sich auf einem aufstrebenden Ast
Standard

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);
      }
Wie gesagt, der Code ist für Open-Orders, nicht für Pending-Orders.
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
Mit Zitat antworten
  #8 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Apr 2018
Beiträge: 41
daybyter befindet sich auf einem aufstrebenden Ast
Standard

Ach so...Du kommst von Python? Da macht man die Klammern nicht...stimmt...

Aber prima, dass es nun klappt!
Mit Zitat antworten
Antwort

Lesezeichen


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 02:14 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2019 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.
-----------------------------------------------------------------------------------------------------------------------------