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)
-   -   Indikator Bug (http://www.expert-advisor.com/forum/showthread.php?t=6554)

MA-EA 05.12.19 10:55

Indikator Bug
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo.

Hab nen EA mit Stochastic und WPR am Testen. Aber irgendwie ist da voll der Wurm drin. Zwischen den beiden roten vertikalen Linien hat er um 1:40:00 nen Sell geöffnet, Welcher um 2:42:33 mit seinem SL geschlossen wurde. Aber wenns nach dem Bild geht, hätte er da nie nen Sell öffnen dürfen. :confused: Siehe EA im Anhang. Da kann doch nur mit dem MT4 oder dem Stochastic Indikator was nicht stimmen.
Code:

...STO_Ma_B1<STO_Si_B1 && STO_Si_B1<Stoch_IL_2...
https://charts.mql5.com/22/962/audca...trades-plc.png

https://charts.mql5.com/22/962/audca...trades-plc.png

Bayreuther 06.12.19 11:12

Liste der Anhänge anzeigen (Anzahl: 1)
Es wird an Deiner Programmierung liegen und nicht am Indikator.
Ich würde die Logik erst mal vereinfachen und dann testen.

Deine StopLoss und TakeProfit Berechnung habe ich korrigiert. Schau es Dir mal an.

MA-EA 06.12.19 11:23

Liste der Anhänge anzeigen (Anzahl: 2)
Danke für Deine Arbeit. ;) Aber SL und TP funktionieren eigentlich korrekt.

Das Problem scheint der Stochastic Indikator/Oszillator wie auch immer zu sein. Mit dem stimmt irgendwas nicht. Das ist doch eigentlich Alles richtig.
Code:

extern string STOCH="Stochastic Oscillator";

extern int Stoch_indicator_min=0; // unten
extern int Stoch_indicator_max=100; // oben
extern double Stoch_IL_1=13.0; // unten
extern double Stoch_IL_2=87.0; // oben

extern int Stoch_K_Period=5;
extern int Stoch_D_Period=3;
extern int Stoch_Slowing=3;

input ENUM_MA_METHOD Stoch_MA_Method=MODE_SMA;
 input ENUM_STO_PRICE Stoch_price_field=1;

Code:

//=============================================================================================================
// S T O C H A S T I C  D E K L A R A T I O N
//=============================================================================================================

double STO_Ma_B1=iStochastic(Symbol(),Timeframe,Stoch_K_Period,Stoch_D_Period,Stoch_Slowing,Stoch_MA_Method,Stoch_price_field,MODE_MAIN,1);
double STO_Si_B1=iStochastic(Symbol(),Timeframe,Stoch_K_Period,Stoch_D_Period,Stoch_Slowing,Stoch_MA_Method,Stoch_price_field,MODE_SIGNAL,1);

double STO_Ma_B0=iStochastic(Symbol(),Timeframe,Stoch_K_Period,Stoch_D_Period,Stoch_Slowing,Stoch_MA_Method,Stoch_price_field,MODE_MAIN,0);
 double STO_Si_B0=iStochastic(Symbol(),Timeframe,Stoch_K_Period,Stoch_D_Period,Stoch_Slowing,Stoch_MA_Method,Stoch_price_field,MODE_SIGNAL,0);


double STO_Ma_B2=iStochastic(Symbol(),Timeframe,Stoch_K_Period,Stoch_D_Period,Stoch_Slowing,Stoch_MA_Method,Stoch_price_field,MODE_MAIN,2);
double STO_Si_B2=iStochastic(Symbol(),Timeframe,Stoch_K_Period,Stoch_D_Period,Stoch_Slowing,Stoch_MA_Method,Stoch_price_field,MODE_SIGNAL,2);

Code:

if(RT==true && SPR_AL==true && IsInv==false){

//                                                                            unten                                          unten              unten
  if(open_Buy==true&&  STO_Ma_B0>STO_Si_B0 && STO_Ma_B1>STO_Si_B1 && STO_Si_B1>Stoch_IL_1 &&  STO_Ma_B2 < STO_Si_B2  && WPR_B0>WPR_IL_2 && WPR_B1>WPR_IL_2 ){
    if(IsTradeAllowed()==true)Ti=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,Buy_SL,Buy_TP,NULL,Buy_MN,0,Beige);
    return(Ti); }

//                                                                            oben                                            oben              oben
  if(open_Sell==true&& STO_Ma_B0<STO_Si_B0 && STO_Ma_B1<STO_Si_B1 && STO_Si_B1<Stoch_IL_2 &&  STO_Ma_B2 > STO_Si_B2  && WPR_B0<WPR_IL_1 && WPR_B1<WPR_IL_1 ){
    if(IsTradeAllowed()==true)Ti=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Sel_SL,Sel_TP,NULL,Sell_MN,0,Blue);
    return(Ti); } }


Bayreuther 06.12.19 19:38

Liste der Anhänge anzeigen (Anzahl: 1)
Du kannst Dir nach OrderSend die Indikatorwerte anzeigen lassen und damit Deine Logik überprüfen. Hab es mal eingetragen.

Die 4 Warnings sind jetzt auch Geschichte ;)

MA-EA 07.12.19 10:59

Liste der Anhänge anzeigen (Anzahl: 2)
Hallo.

Hab mir nen bisschen 2 CCIs angeguckt. Der Gelbe auf 24 Perioden eingestellt, der Blaue darunter auf 48. Ansonsten eigentlich Alles gleich. Aber zwischen den beiden roten Linien wird im Datenfenster für den Schnellen 24er immer nen kleinerer Wert als für den langsamen 48er angezeigt. :confused: Aber das kann doch gar nicht sein. Der 24er ist doch theoretisch doppelt so schnell und kann dem langsamen 48er doch gar nicht hinterher hinken. :confused: Ich versteh überhaupt nix mehr. Wenn alle Indikatoren so arbeiten, ist es ja klar, dass das Konto immer leerer wird.


https://charts.mql5.com/22/979/usdca...trades-plc.png

AVT 07.12.19 12:46

Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von MA-EA (Beitrag 43163)
Hab mir nen bisschen 2 CCIs angeguckt. Der Gelbe auf 24 Perioden eingestellt, der Blaue darunter auf 48. ...
Der 24er ist doch theoretisch doppelt so schnell und kann dem langsamen 48er doch gar nicht hinterher hinken.

Was heißt hier hinterher hinken? Der schnellere läuft dem langsamen voraus, darum heißt er ja schnellerer! AVT

Bayreuther 07.12.19 19:34

Nicht alles was programmiert wird, mach auch Sinn ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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