Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Ordersend keine Preisangabe mehr notwendig??? (http://www.expert-advisor.com/forum/showthread.php?t=4989)

Pago2013 06.06.16 18:11

Ordersend keine Preisangabe mehr notwendig???
 
Bei einem meiner EA´s ist mir nun aufgefallen, dass er trotz stark eingegernzter Slippage immer viel zu weit vom eigentlichen Kurs öffnet, der er sehr oft bei starken Bewegungen seine Trade eingehen soll aber nur wenn der Preis nicht schon zu weit weg ist.

Nach vielen Tests um die Slippage rum, habe ich einfach eine wilde Zahl in den Preis Ordersend Befehl eingetragen (anstelle Bid bzw. Ask) und auf den sonst üblichen Error gewartet... aber denkste, der EA öffnet auf Demo weiterhin seine Order, dabei scheint ihm der vorgegebene Preis völlig egal zu sein.

Hat sich dieser Befehl im Laufe der vielen Updates geändert und ist die Preisangabe dabei entfallen oder war das auf Demo schon immer so? Habt ihr das auch beobachten können? Vielleicht ist das ja auch ein MQL4 Bug.

MA-EA 06.06.16 18:17

Soviel ich weiß wird die Slippage in den Globalen Variablen (also vor init/start) angegeben und deklariert.

Pago2013 06.06.16 18:36

Wenn ich den Befehl so, mit diesem Preis verwende dann dürfte er ja keine Order öffnen. Egal wie hoch die Slippage ist denn meines Wissens wird erst der Preis im/vom Metatrader überprüft und die Slippage wird vom Broker anhand der Preisvorgabe und des aktuell erhältlichen Preises berechnet.
ABER die Order wird trotzdem eröffnet. :eek:


int Magic = 1;
int OrderLots_ = 0.01;
double Price = 99999999.0;
int MaxSlippage = 1;

int ticket=OrderSend(Symbol(),OP_SELL,OrderLots_, Price,MaxSlippage,0,0,"",Magic,0,Red);

traderdoc 06.06.16 19:29

Wenn OrderLots_ als int deklariert wird, würde in diesem Falle keine Ordergeöffnet werden, weil der Wert der Variablen OrderLots_ = 0 ist!! Und bei 0 streikt die Orderausführung. D.h. unbedingt als double deklarieren.

Wäre das getan worden, würde in der Tat jeder eingegebene Wert bei Price zu einer Öffnung einer SellOrder zum aktuellen Bid-Kurs führen. Nur negative Preise werden nicht akzeptiert.
Richtig logisch und konsequent ist das natürlich nicht.

Das alles hat damit zu tun, weil MarketOrders immer mit dem Ask bzw. BidKurs geöffnet werden und eine Slippage im DemoKonto keine Relevanz besitzt.


traderdoc

Pago2013 06.06.16 19:45

Zitat:

Zitat von traderdoc (Beitrag 34798)
Wenn OrderLots_ als int deklariert wird, würde in diesem Falle keine Ordergeöffnet werden, weil der Wert der Variablen OrderLots_ = 0 ist!! Und bei 0 streikt die Orderausführung. D.h. unbedingt als double deklarieren.

Wäre das getan worden, würde in der Tat jeder eingegebene Wert bei Price zu einer Öffnung einer SellOrder zum aktuellen Bid-Kurs führen. Nur negative Preise werden nicht akzeptiert.
Richtig logisch und konsequent ist das natürlich nicht.

Das alles hat damit zu tun, weil MarketOrders immer mit dem Ask bzw. BidKurs geöffnet werden und eine Slippage im DemoKonto keine Relevanz besitzt.


traderdoc

Danke für die schnelle Antort TraderDoc.
OrderLots_ ist bei mit natürlich als double deklariert, ich hab das hier nur schnell mal verkürzt aufgeschrieben und dabei einen kleinen Fehler gemacht.


Ich meinte, dass es füher einen Error gab wenn man Ask und Bid vertauscht hatte aber vielleicht versehe ich mich da auch.

Pago2013 07.06.16 21:02

Ich hab mich etwas umgehört und es scheint nur bei Accounts zu funktionieren die den execution Type "Instant Execution" haben, bei "Market Execution" wird der Marktpreis (so wie von TraderDoc geschrieben) angesetzt.
Weiter teilte mir mein Broker mit, dass angeblich nur Marketmaker den von mir gewünschte execute Type aufweisen, somit hat sich das Thema dann wohl erledigt denn so ein Account kommt für mich nicht in die Tüte.


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:21 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum