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)
-   -   Maximal 1 Trade pro "Trend" programmieren (http://www.expert-advisor.com/forum/showthread.php?t=3402)

wienerschinken 03.01.14 21:54

Maximal 1 Trade pro "Trend" programmieren
 
Guten Abend,

habe mal eine Frage. Wie kann ich pro "Trend" nur einen Trade programmieren? Mein EA identifiziert eine Richtung (z.b Long) die Positionn wird dann nach 10 pips geschlossen. Der "Trend" ist aber immernoch Long! Nachdem mein EA aber den ersten Trade schließt, öffnet er direkt danach wieder einen, weil ja der "Aufwärtstrend" gegeben ist. Das Problem ist, dass dann meistens der "Trend" vorüber ist und man dann ins SL läuft.

Würd mich freuen wenn mir jemand helfen kann

Mfg
Wienerschinken

P.S: Mit "Trend" meine ich eine Kursbewegung von mind. 20 Pips :D mir fiel an sich kein kürzeres Wort als Trend ein :D

traderdoc 03.01.14 22:32

Nach dem ersten Trade im Tend muß ein bool Flag gesetzt werden:

Trade = true;

Solange der Trend anhält, bleibt die Variable auf true. Wechselt der Trend wird

Trade = false;

Und bei der Abfrage, ob ein Trade geöffnet werden kann, steht so etwas wie

if (!Trade) Opening();

traderdoc

wienerschinken 03.01.14 22:40

Trade = false, bedeutet aber, dass die Postion geschlossen wird sobald ein neuer Trend gefunden wurde?!?

traderdoc 03.01.14 22:56

Ja, dann laß halt zählen.

if (Trade == 1) //kein Opening

Ist völlig egal, wichtig das nach dem Öffnen des 1. Trades eine Markierung gesetzt wird, die signalisiert, dass bereits ein Trade offen ist oder war und damit kein zweiter gesetzt werden kann.

traderdoc

wienerschinken 03.01.14 23:04

check ich nicht :D Trotzdem danke :D

traderdoc 03.01.14 23:32

Zuerst wird über die init()-Funktion
Trade = 0; //kein Trade war jemals in diesem Trend offen
gesetzt.

Dann kommt Dein Longsignal und der Buy-Trade wird geöffnet.

if (Longsignal && Trade == 0) {
//Trade öffnen
Trade = 1;
}

Wenn nun immer noch ein Longsignal anliegt, kann kein Trade geöffnet werden, weil in o.g. Bedingung Trade = 0 sein muß!

Wenn nun ein Wechsel zu einem Shortsignal kommt, wird

Trade = 0; gesetzt und mit

if (ShortSignal && Trade == 0) {
//Trade öffnen
Trade = 1;
}

wird der Sell-Trade geöffnet und gleichzeitig ein weiteres Öffnen verhindert.

traderdoc

wienerschinken 04.01.14 00:11

Soll ich einfach mal den EA hochladen und du schaust mal rein? :D

traderdoc 04.01.14 11:53

Kannst Du machen.

wienerschinken 04.01.14 12:56

Liste der Anhänge anzeigen (Anzahl: 1)
hier bitte. Vllt kannst du auch nachauen ob es gegeben ist dass nach jedem Trend wechsel positionen automatisch geschlossen werden. Sollte eigtl auch manuell einstellbar sein. Eigtl. nen sehr guter ea aber mit vielen Fehlern wie tp und sl etc.

traderdoc 04.01.14 17:02

Liste der Anhänge anzeigen (Anzahl: 1)
Die Funktion, dass nur einmal pro Trend eine Order geöffnet wird, ist eingebaut!

Falls use_tp_sl = 1 ist, dann wird das Close beim Trendwechsel ignoriert und es wird auf das Erreichen von TP oder SL gewartet.
Falls use_tp_sl = 0 ist, wird tatsächlich mit dem Trendwechsel die offene Order geschlossen.

Viel Erfolg!

traderdoc


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:06 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