EA erkennt Kerzen nicht

 

Servus zuammen,


und zwar hab ich einen EA geschrieben der ganz einfach simple Hammer- und Shooting Star Kerzen erkennen soll. Das Problem ist, das ein paar Kerzen nicht erkannt werden obwohl sie die Parameter alle erfüllen?


Body = MathMax(preisdaten[1].open,preisdaten[1].close)-MathMin(preisdaten[1].open,preisdaten[1].close);
Gesamt = preisdaten[1].high-preisdaten[1].low;
Nase = preisdaten[1].high-MathMax(preisdaten[1].open,preisdaten[1].close);
Schatten = MathMin(preisdaten[1].open,preisdaten[1].close)-preisdaten[1].low;
               
               
if(Schatten >=Body*2 && Nase <=Schatten*0.25)
{     
//HAMMER         
}
if(Nase >=Body*2 && Schatten <=Nase*0.25)
{           
//Shooting star
}

Wenn jemand eine Idee hat wäre ich sehr dankbar.

Cheers

 

Mit dem Debugger kann man genau solche Fehler finden:

Zur Fehlerbehebung von MQL5-Programmen: https://www.mql5.com/de/articles/654

So kann man die Wertentwicklung der entscheidenden Variablen laufend überprüfen und erkennen, warum das eine oder ander if nicht Klick macht.

Zur Fehlerbehebung von MQL5-Programmen (Debugging)
Zur Fehlerbehebung von MQL5-Programmen (Debugging)
  • www.mql5.com
Dieser Artikel richtet sich primär an Programmierer, die die Sprache zwar bereits gelernt haben, die allerdings noch keine Meister ihres Fachs sind. Er wird auf verschiedene Debugging-Techniken eingehen, die der gebündelten Erfahrung des Autors sowie vieler anderer Programmierer entspringen.
 

Servus Rene,

wen ich sowas machen sollte würde ich das wie folgt machen,

zum Beispiel, nur zum Beispiel,


Bullish Engulfing

Open Buy ;

Bullish Engulfing consists of the following conditions:

The last closed candlestick is bullish

The candlestick before has index: 2 and is bearish

The bullish candlestick's close is above the bearish candlestick's open

The bullish candlestick's open is below the bearish candlestick's close

Morning Star

Open Buy ;

The last closed candlestick is bullish

The candlestick before has index: 2 and its body is much smaller than both candlesticks on the left and right (let's say it's maximum 30%)

The candlestick before the morning star has index: 3 and is bearish


Shooting Star

Open Buy ;

The last closed candlestick has a long upper wick (let's say at least twice the body)

...and a short lower wick (let's say maximum half of the body)

The candlestick before the shooting star is preferably bullish


Mehr fällt mir leider nicht mehr zu dem Thema ein.

Vielleicht hat es geholfen.


Gruss

 
Kann mich Carl nur anschließen und den Nutzen des Debuggers herausstellen. Damit kannst Du jede Variable zu jeder Zeit beobachten und sehen, wo der Fehler passiert.

Lies den Artikel.
Grund der Beschwerde: