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: 4973
Beiträge: 43282
Benutzer: 7.220
Aktive Benutzer: 82
Links: 84
Wir begrüßen unseren neuesten Benutzer: JosephTK
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 44 Minuten
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 04.08.10
Neues Mitglied
 
Registriert seit: Jul 2010
Beiträge: 4
lala12 befindet sich auf einem aufstrebenden Ast
Standard Zeitgleiche Orderschließung

hallo,
ich bin neu in der Sprache mq4 und versuche gerade mein erstes system zu schreiben. Bin überwältig von den Möglichkeiten / Angeboten der Funktionen, wenn man das mal mit ctl (Chart Studio) vergleicht.

Mein Problem ist, das der EA eine Order ausführt, aber leider auch zeitgleich wieder schließt, obwohl weder sl oder tp vom Balken / Kerze erreicht wurden. Kann jemand mir das erklären. Wäre super, vielen Dank!

Gruß lala12
  #2 (permalink)  
Alt 04.08.10
Gesperrter Benutzer
 
Registriert seit: Feb 2010
Ort: anywhere
Beiträge: 66
Fuchs befindet sich auf einem aufstrebenden Ast
Standard

Servus,

ohne den Quellcode von Dir gesehen zu haben, würde ich mal tippen das Du etwas falsch programmiert hast wenn nicht das passiert was Du dir gerne wünscht.

Am besten Du postest einfach den Quellcode und dann kann Dir mit Sicherheit auch geholfen werden.

Fuchs
  #3 (permalink)  
Alt 05.08.10
Neues Mitglied
 
Registriert seit: Jul 2010
Beiträge: 4
lala12 befindet sich auf einem aufstrebenden Ast
Standard

moin fuchs,

also ich habe gestern nochmals den Quelltext geändert:

int start()
{
//----
double atraktuell, zielpreis;
int total,ticket,expiration ;
bool trigger;
//----
if(Bars<20) // Keine Daten vorhanden für ATR
{
Print("bars less than 20");
return(0);
}

atraktuell = iATR(NULL,0,14,0);
total=OrdersTotal();
zielpreis = Close[1] + atraktuell * 2;
zielpreis = MathRound(zielpreis);
expiration = TimeCurrent()+5 *60; // Wenn order nicht ausgeführt wird, wieder Ende des 5min Balkens schließen
if(total<1) // keine offene Order
{
ticket= OrderSend(Symbol(),OP_BUYSTOP,1,zielpreis,2,zielpr eis-20,zielpreis+20,"Start",16384,expiration,Green);
}
}

1. Variante
Ich glaube es liegt an der function OrderSend: Jetzt erhalte ich error 3, nachdem ich die expiration geändert habe. Wenn ich diesen Wert auf Null setzte wird die Order zwar ausgeführt, würde aber erwarten, dass durch den sl oder tp die Order wieder gesschlossen wird, wenn low <= sl oder high >= tp.

2. Variante
ticket= OrderSend(Symbol(),OP_BUY,1,zielpreis,2,zielpreis-20,zielpreis+20,"Start",16384,0,Green);

In diesem Fall wird die Order geöffnet und zeitglich wieder geschlossen. Beide Varianten bzw. Ergebnisse verstehe ich nicht.

Danke und Gruß
lala12
  #4 (permalink)  
Alt 05.08.10
Gesperrter Benutzer
 
Registriert seit: Feb 2010
Ort: anywhere
Beiträge: 66
Fuchs befindet sich auf einem aufstrebenden Ast
Standard

ERR_INVALID_TRADE_PARAMETERS 3 Invalid trade parameters.

deine komplette Berechnung der Tradeparameter
EntryPrice / SL / TP ist falsch.

1. du musst den absoluten Wert angeben und dabei richtig umrechnen. wenn du zum Beispiel bei EUR/USD den SL vom aktuellen Wert - 20 rechnest, dann kommt da irgendwas im Bereich von -18,7 raus! 1,3 - 20 = -18,7. ich glaube nicht das dein SL auf -18,7 liegen soll. für USD/JPY wäre es zwar möglich, aber 85,5 - 20 ist dann ein SL von 65,5 macht knackige 20.000 Punkte. ich weiß nicht ob du das willst, dann kannst du dir den SL gleich sparen.

2. du musst immer korrekt runden. nimm einfach Digits und runde auf die letzte Kommastelle die dir der Broker per Marketinfo für das jeweilige Währungspaar gibt.

check das mal, nun solltest du dem richtigen Ergebnis schon näher kommen
  #5 (permalink)  
Alt 05.08.10
Neues Mitglied
 
Registriert seit: Jul 2010
Beiträge: 4
lala12 befindet sich auf einem aufstrebenden Ast
Standard

hallo fuchs,

danke für das feedback; das system soll auf den dax (cfd) handeln; negative werte können also (praktisch) nicht entstehen; aufgerundet habe ich ja mit mathround() gearbeitet. kann aber sein, das 20 als 200 interpretiert wird; schaue mal inder marktinfo nach..

bei der Variante 1 gibt es ja keine Fehlermeldung auf (dax30 5min). Die Order wird aber nicht nach 5 min wieder geschlossen, wenn keine ausführung stattgefunden hat.

gruß lala12
  #6 (permalink)  
Alt 05.08.10
Gesperrter Benutzer
 
Registriert seit: Feb 2010
Ort: anywhere
Beiträge: 66
Fuchs befindet sich auf einem aufstrebenden Ast
Standard

okay, für den DAX wird es wohl funktionieren, aber dann bleibt noch das Thema Runden.

du musst den Wert SL/TP/Price mit normalizedouble auf Digits runden.
dann sollte es gehen.
  #7 (permalink)  
Alt 05.08.10
Neues Mitglied
 
Registriert seit: Jul 2010
Beiträge: 4
lala12 befindet sich auf einem aufstrebenden Ast
Standard

hallo,

ja wir nähern uns der lösung. wie du im bild sehen kannst, wird die order plaziert (pending), aber sie müsste m.M. nach 5 min wieder geschlossen werden, da das high < einstiegskus ist.. dies muss mit der ordergültikeit zusammenhängen, die aber 5 min ist bzw. wenn order nicht ausgeführt dann stornieren..

gruß
lala12
Angehängte Grafiken
Dateityp: jpg order.jpg (32,4 KB, 17x aufgerufen)
Thema geschlossen

Lesezeichen

Stichworte
mql4, order close, order schliessung

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 22:45 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.
-----------------------------------------------------------------------------------------------------------------------------