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: 43267
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 2 Stunden
- 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: 318
Gesamt: 318
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree33Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 12.01.18
Auf eigenen Wunsch deaktiviert
 
Registriert seit: Jan 2018
Beiträge: 40
Lampe befindet sich auf einem aufstrebenden Ast
Standard

Danke Moc für die Antwort.

Ich werde langsam ein wenig frustriert Leute, ich hoffe jemand nimmt sich die Zeit mir zu helfen.

Ich möchte 10 Uhr 2 Pending Orders eröffnen doch vor der Eröffnung abfragen ob bereits 2 Orders Existieren.
Das soll einmal dazu dienen keine neuen Orders zu öffnen wenn noch eine vom Vortag besteht und auch verhindern, das während der Zeitspanne von 10:00Uhr-10:01Uhr mehrere Orders aufgegeben werden.

Ich probiere jetzt den ganzen Tag rum und finde einfach keine Lösung. Mein Wissensstand sagt mir ich Frage zuerst mit einer for Schleife ab, ob noch Orders mit dem für diese Strategie reservierten Comments im Markt sind, wenn dem nicht so ist sollen die 2 PendingOrders gesetzt werden.

Bei mir sieht das momentan so aus:

Zitat:
if(ZehnUhrRoutine==true)
{
bool Order1Existiert=(OrderTicket()==LongOrder1);
bool Order2Existiert=(OrderTicket()==ShortOrder1);

for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderComment()=="DAX_H1_PendingLong1")
{
if(OrderTicket()==LongOrder1)
{
Order1Existiert==true;
}
}
}
continue;
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderComment()=="DAX_H1_PendingShort1")
{
if(OrderTicket()==ShortOrder1)
{
Order2Existiert==true;
}
}
}
}
if((Order1Existiert!=true)&&(Order2Existiert!=true ))
{
VorperiodenHoch=(iHigh(NULL,PERIOD_H1,1)+0.6);
KaufPreis=(NormalizeDouble(VorperiodenHoch,Digits) +(0.6));

VorperiodenTief=(iLow(NULL,PERIOD_H1,1)-0.6);
VerkaufPreis=(NormalizeDouble(VorperiodenTief,Digi ts)-(0.6));

LongOrder1=OrderSend(NULL,OP_BUYSTOP,10,KaufPreis, NULL,VerkaufPreis,0,"DAX_H1_PendingLong1",88,0,clr GreenYellow);

ShortOrder1=OrderSend(NULL,OP_SELLSTOP,10,VerkaufP reis,NULL,KaufPreis,0,"DAX_H1_PendingShort1",88,0, clrRed);
}
}
Das funktionier aber vorne und hinten nicht, weil ich irgendwie irgendwo Grundlegende Verständnisprobleme habe.

Kann mir irgendjemand von euch bitte erklären WO das Problem im obigen Code liegt?
  #12 (permalink)  
Alt 16.01.18
Auf eigenen Wunsch deaktiviert
 
Registriert seit: Jan 2018
Beiträge: 40
Lampe befindet sich auf einem aufstrebenden Ast
Standard

Nicht alle aufeinmal bitte.

Die obigen Fragen haben sich alle geklärt.

Ich möchte nun gerne folgendes umsetzen:

Ich möchte abfragen ob am laufenden Tag, bereits eine Order ins Takeprofit gelaufen ist.

Ohne das ichs jetzt schon probiert habe denke ich das abgleichen des Tages wird nicht das Problem sein.

Aber wie lese ich aus, ob ein Tade per Takeprofit geschlossen wurde?

Mit freundlichen Grüßen
Lampe
  #13 (permalink)  
Alt 16.01.18
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

Hi Lampe,

wenn eine Order ins TakeProfit gelaufen ist, findest du Sie in der History.


OrderSelect(......) statt MODE_POS einfach MODE_HISTORY wählen.

1. History auslesen.
2. Order nach deinen Merkmalen bestimmen(falls manuelle Trades dazwischen sind)
3. Abfragen wie er geschlossen wurde, fertig.

so grob gesagt... hoffe konnt dir etwas helfen
Lampe likes this.
  #14 (permalink)  
Alt 16.01.18
Auf eigenen Wunsch deaktiviert
 
Registriert seit: Jan 2018
Beiträge: 40
Lampe befindet sich auf einem aufstrebenden Ast
Standard

Danke für deine Antwort.

Soweit ist für mich alles nachvollziehbar ausser der letzte Punkt, „abfragen wie er geschlossen wurde“.
Könntest du mir kurz sagen welchen Befehl ich dafür nutzen kann bzw welcher Befehl mir diese Information ausließt?
  #15 (permalink)  
Alt 16.01.18
Auf eigenen Wunsch deaktiviert
 
Registriert seit: Jan 2018
Beiträge: 40
Lampe befindet sich auf einem aufstrebenden Ast
Standard

Ich möchte noch anfügen.

Reicht der Weg:

OrderClosePrice == OrderTakeProfit

Als letzter Schritt aus?

Das erscheint mir etwas unsicher denn wenn der TP nur um eine nachkommastelle abweicht wäre obige Bedingung nicht erfüllt. (Und ja, ich habe eine TP ausführung zu meinen Gunsten schon erlebt)

Geändert von Lampe (16.01.18 um 21:39 Uhr)
  #16 (permalink)  
Alt 16.01.18
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

OrderClosePrice() == OrderTakeProfit() ist idR. schon richtig.


das mit der Abweichung kann schon ins auge gehen, dafür einfach eine Variable basteln, welche eine Max/Min.-Abweichung zu deinem TP beinhaltet und die eben abgleichen mit dem Ergebnis,so erkennst du ob´s wirklich ein TP oder eben nicht....

Entweder anhand von Pips/Punkteanzahl indem man Je nach order TP-OrderOpenPrice (Long) oder eben umgekehrt, abgleicht.

oder OrderClosePrice-TP und dann eben diese Abweichung +-5Pips als beispiel her nimmt, so grob auf die schnelle, hoffe das war verständlich
Lampe likes this.
  #17 (permalink)  
Alt 16.01.18
Auf eigenen Wunsch deaktiviert
 
Registriert seit: Jan 2018
Beiträge: 40
Lampe befindet sich auf einem aufstrebenden Ast
Standard

Ja das war soweit Verständlich.

Ich hätte gedacht das es speziell einen Befehl gibt der rausfinden kann wie die Order geschlossen wurde. Ähnlich wie OrderType rausfindet welcher OrderTyp vorliegt.

Soweit aber erstmal vielen Dank Trader6666!

Mit freundlichen Grüßen
Lampe
  #18 (permalink)  
Alt 16.01.18
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

den Befehl gibt es so nicht direkt, aber die Ausführung kann man abfragen, weiß leider jetzt nicht mehr wie der abzurufen ist, is ewig her das ich da mal was gemacht habe, ich glaube über die Kommentarfunktion, schau dir mal in der History an, wie dieser hinterlegt ist und versuch den mal so abzufragen über OrderComment()....glaube das sollte dir helfen
Lampe likes this.
  #19 (permalink)  
Alt 17.01.18
Auf eigenen Wunsch deaktiviert
 
Registriert seit: Jan 2018
Beiträge: 40
Lampe befindet sich auf einem aufstrebenden Ast
Standard

Hallo, Lampe hier.

Ich habe eine weitere Frage und hoffe auf eure Mithilfe.

Ich möchte meine Lotsize an den Kontoverlauf anpassen. Dabei möchte ich bei neuen Kontohöhstständen die Lotsize um einen entsprechend daran angepassten Wert erhöhen.

Der Knackpunkt ist das ich KEINE Lotsizeverringerung möchte.

Ich bräuchte also eine Lösung die mir den Kontostand immer nach dem höhsten Wert Filtert damit dann daran die Lotsize angepasst wird.

Habt ihr eine Idee wie ich so etwas umsetzen kann?

MfG
Lampe
  #20 (permalink)  
Alt 17.01.18
Mitglied
 
Registriert seit: Nov 2015
Beiträge: 136
Adlerauge befindet sich auf einem aufstrebenden Ast
Standard

Moin,

also, MQL4 basiert auf C.
Ich hatte auch versucht, MQL4 ohne C-Grundkenntnisse zu lernen - ist keine gute Idee, man verliert viel Zeit.
Erst als ich nachgeholt habe, die C-Grundlagen zu lernen, bin ich richtig vorwärts gekommen.

Informatik-Semester kann man sich heute glücklicherweise im Internet angucken:
https://www.youtube.com/watch?v=RpBd...z65FD9rBMZmdCX
...und dann schön die Playlist entlang...
Thema geschlossen

Lesezeichen

Stichworte
hilfe, lernen, mql4, mql4 aufbau, mql4 hilfe, mql4 lernen, programmierung, programmierung metatrader, programmierung mql4, starthilfe

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 00:01 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.
-----------------------------------------------------------------------------------------------------------------------------