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)
-   -   Problem zweiten Indikator in EA einzubinden (http://www.expert-advisor.com/forum/showthread.php?t=6517)

Klaus144 13.10.19 16:55

Problem zweiten Indikator in EA einzubinden
 
Hallo,
ich habe einen EA, der Fraktale mit einem weiteren Indikator vergleicht. Wird von den Fraktalen ein Signal erstellt wird geprüft, ob der Indikator das passende Signal liefert. Ist das so, wird ein Signal für Kauf/Verkauf erstellt.

Im Programm ist dies wie folgt dargestellt:

int limit = MathMin(100, iBarShift(_Symbol,Timeframe,lastSignal));
for(int i = 1; i < limit; i++){
double fractalAbove = iCustom(_Symbol,Timeframe,INDI_FRACTALS,Timeframe, FractalPeriod,0,i);
double fractalBelow = iCustom(_Symbol,Timeframe,INDI_FRACTALS,Timeframe, FractalPeriod,1,i);

if(fractalBelow != EMPTY_VALUE && fractalBelow != 0){
double hiLowBlue = iCustom(_Symbol,Timeframe,INDI_HILOW,Timeframe,Jur ikPeriod,JurikPhase,InvertSignals,0,i);
if(hiLowBlue != EMPTY_VALUE){
signalCandleIndex = i;
signalCandleHigh = iHigh(_Symbol,Timeframe,i);
}
break;
}else if(fractalAbove != EMPTY_VALUE && fractalAbove != 0){
double hiLowRed = iCustom(_Symbol,Timeframe,INDI_HILOW,Timeframe,Jur ikPeriod,JurikPhase,InvertSignals,1,i);
if(hiLowRed != EMPTY_VALUE){
signalCandleIndex = i;
signalCandleLow = iLow(_Symbol,Timeframe,i);
}
break;

Nun wollte ich einen zweiten Indikator hinzufügen, der zusätzlich geprüft wird bevor ein Signal für Kauf/Verkauf erstellt wird.

Ich habe probiert, was mir sinnvoll erschien, nichts hat jedoch funktioniert. Kann mir jemand einen Tipp geben?

Gruß Klaus

Bayreuther 13.10.19 19:22

Wie lautet der zweite Indikator?

AVT 13.10.19 19:26

Zitat:

Zitat von Klaus144 (Beitrag 42941)
Hallo,
ich habe einen EA, der Fraktale mit einem weiteren Indikator vergleicht. Wird von den Fraktalen ein Signal erstellt wird geprüft, ob der Indikator das passende Signal liefert. Ist das so, wird ein Signal für Kauf/Verkauf erstellt.

Nun wollte ich einen zweiten Indikator hinzufügen, der zusätzlich geprüft wird bevor ein Signal für Kauf/Verkauf erstellt wird.
Gruß Klaus

Ich schreibe die Einzelteile grundsätzlich in Funktionen (erleichtert das Umbauen, Kopieren, Erweitern ...) also so:
Code:

// === EA Zusammenführung
  if    (FuncIndi1()==1 && FuncIndi2()==1) FuncSendLong(); //BeideLong
  else if(FuncIndi1()==-1 && FuncIndi2()==-1) FuncSendShort(); //BeideShort
  else Print(" Pause, Kaffee machen");


// === Funktion Indikator 1
int FuncIndi1() //1=Long -1=Short 0=Nix
{
  int Result=0; //ImZweifelNix
  if(Bedingung_Long) Result=1;
  if(Bedingung_Short) Result=-1;
  return(Result);
}
// === Funktion Indikator 2
int FuncIndi2() //1=Long -1=Short 0=Nix
{
  int Result=0; //ImZweifelNix
  if(Bedingung_Long) Result=1;
  if(Bedingung_Short) Result=-1;
  return(Result);
}

Die Indikatoren müssen vollständig in die Indikator-Funktion geschrieben werden; je nachdem was deren Wert dann grade ist, kannst Du dann das Signal als Endergebnis ausgeben lassen und mit den Signalen von anderen Indikatoren vergleichen. AVT

Klaus144 14.10.19 12:36

Hallo AVT,
vielen Dank für Deinen Tipp! Ich werde den EA entsprechend umbauen.

Ich gebe Dir eine Rückmeldung, ob es funktioniert hat.

Nochmal danke.

Gruß Klaus

Klaus144 27.10.19 00:18

Hallo AVT,
ich habe versucht den EA nach deinem Vorschlag umzubauen. Leider habe ich das (noch) nicht hinbekommen. Da sind am laufenden Band irgendwelche Fehlermeldungen aufgetaucht, die ich nicht beseitigen konnte.

Trotzdem danke, ich bleibe dran.

Gruß Klaus

AVT 30.10.19 22:07

Zitat:

Zitat von Klaus144 (Beitrag 42987)
Hallo AVT,
ich habe versucht den EA nach deinem Vorschlag umzubauen. Leider habe ich das (noch) nicht hinbekommen. Da sind am laufenden Band irgendwelche Fehlermeldungen aufgetaucht, die ich nicht beseitigen konnte.

Wenn Du gar nicht weiterkommst, sag Bescheid mit Meldungen. :) AVT


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