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)
-   -   Trendsignal Version 2 (indikator) in EA einbauen (http://www.expert-advisor.com/forum/showthread.php?t=3350)

Harad 25.11.13 19:20

Trendsignal Version 2 (indikator) in EA einbauen
 
Liebe Forums Gemeinde,

Ich versuche seit einiger Zeit den Indikator "Trendsignal Version 2" als Filter in meinen bestehenden EA einzubauen.

ich schaffe es allerdings nicht die richtige programmierung zu formulieren...

ich bräuchte sowas wie:

iCustom(.......);

if (.......) Buy
if (.......) Sell

Vielleicht gibt es ja hier jemanden der mir weiterhelfen kann.

MfG

feelfree 26.11.13 09:40

Moin harad,

zunächst einmal benötigst du 2 iCustom Abfragen. Eine für den Buy-Buffer und eine für den Sell-Buffer.
Welcher Buffer welche Nummer hat siehst du im mq4 Code des Indikators.

Sobald der Indi ein Signal ausgibt wird einer der beiden Buffer > 0 bzw. > EMPTY sein und welcher das ist siehst du im Datenfenster des MT4 (Strg + D).
Die Veränderung des Wertes kannst du dann als OrderEntrySignal nutzen.

Viel Erfolg

Dan

DocRandom 28.11.13 14:47

Hallo Hrad!

Beim "Trendsignal version 2" Indikator benötigts Du 3 Abfragen und zwar für:
  • UP
  • DOWN
  • Potential targets

das ganze könnte in etwa so aussehen:
Code:

double dUP = iCustom(NULL, 0, "Trendsignal version 2", 3, 9, false, 0, 0);
 doüble dDOWN = iCustom(NULL, 0, "Trendsignal version 2", 3, 9, false, 1, 0);
 double dPTARGET = iCustom(NULL, 0, "Trendsignal version 2", 3, 9, false, 2, 0);

..wenn dPTARGET einen Kurswert hat und dUP und dDOWN noch leer bzw auf 0 stehen, dann steht ein Richtungswechsel bevor.
Der Richtungswechsel wird bestätigt, sobald der Kurs in dPTARGET und in dUP oder dDOWN steht.

Viel Spaß && lg

traderdoc 28.11.13 20:33

Für die Entscheidung Buy oder Sell werden tatsächlich nur die Buffer 0 und 1 benötigt und zwar auf der ersten geschlossenen Kerze, also:

Code:

double dUP = iCustom(NULL, 0, "Trendsignal version 2", 3, 9, false, 0, 1);
double dDOWN = iCustom(NULL, 0, "Trendsignal version 2", 3, 9, false, 1, 1);

Auf der aktuellen Kerze würde das Signal möglicherweise sehr oft erscheinen und wieder verschwinden. Konsistent stehen bleibt es nur, wenn es auch noch auf dem Close der letzten Kerze Bestand hat.

Liegt kein Signal an, dann sind die Buffer 0!! Daraus ergibt sich:

Code:

if (!OrderIsOpen) {
  if (dUP > 0) {
  ......
  }
  if (dDOWN > 0) {
  ......
  }
}

Die bool-Variable OrderIsOpen wird in der Funktion ermittelt, wo nach offenen Orders gesucht wird. Nur wenn keine offene Order für das entsprechende WP gefunden wurde, steht diese Variable auf false und ermöglicht die Signalabfrage und führt letztendlich zur Orderöffnung. Falls eine Order offen ist, steht diese Variable auf true und verhindert damit ein Mehrfachöffnen auf diesem Signal, falls nur eine Order gewünscht ist.

traderdoc


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