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: 4972
Beiträge: 43257
Benutzer: 7.216
Aktive Benutzer: 84
Links: 84
Wir begrüßen unseren neuesten Benutzer: bb1107
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 2 Tagen
- bb1107
vor einer Woche
- rg-trader
vor 2 Wochen
- toshistyle
vor 2 Wochen
- Robin
vor 3 Wochen
- mMmaanu

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

Empfehlungen

Like Tree2Likes
  • 2 Post By traderdoc
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 06.06.16
Neues Mitglied
 
Registriert seit: Jun 2013
Beiträge: 22
Pago2013 befindet sich auf einem aufstrebenden Ast
Standard 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.

Geändert von Pago2013 (06.06.16 um 18:37 Uhr)
  #2 (permalink)  
Alt 06.06.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Soviel ich weiß wird die Slippage in den Globalen Variablen (also vor init/start) angegeben und deklariert.
  #3 (permalink)  
Alt 06.06.16
Neues Mitglied
 
Registriert seit: Jun 2013
Beiträge: 22
Pago2013 befindet sich auf einem aufstrebenden Ast
Standard

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.


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);

Geändert von Pago2013 (06.06.16 um 18:55 Uhr)
  #4 (permalink)  
Alt 06.06.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.732
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

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 and asfranz like this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 06.06.16
Neues Mitglied
 
Registriert seit: Jun 2013
Beiträge: 22
Pago2013 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
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.
  #6 (permalink)  
Alt 07.06.16
Neues Mitglied
 
Registriert seit: Jun 2013
Beiträge: 22
Pago2013 befindet sich auf einem aufstrebenden Ast
Standard

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.
Thema geschlossen

Lesezeichen

Stichworte
bid, kursabweichung, mql4, ordersend, programmierung, programmierung metatrader, slippage

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 03:27 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------