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)
-   -   EA der 3 Gleitende Durchschnitte nutzt (http://www.expert-advisor.com/forum/showthread.php?t=6173)

Blancomi 16.08.18 19:12

EA der 3 Gleitende Durchschnitte nutzt
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen,

als Anfänger ist es mir mithilfe eines Videotutorials endlich gelungen einen EA zu schreiben. Dieser nutzt zum Einstieg 2 Gleitende Durschnitte die sich kreuzen.
Gerne würde ich aber noch einen 3. gleitenden Durchschnitt mit einbeziehen.
Hier stehe ich dann aber vor dem Problem dass der EA gar nicht oder ab nur sehr selten handelt, obwohl sich die Gleitenden Durchschnitte mehrmals schneiden.

Anbei der Code:
Code:

if(timestamp == iTime(Symbol(),Timeframe,0)) return;
  timestamp = iTime(Symbol(),Timeframe,0);
 
  double maFast = iMA(Symbol(),Timeframe,PeriodsMAFast,0,MethodMAFast,PRICE_CLOSE,1);
  double maSlow = iMA(Symbol(),Timeframe,PeriodsMASlow,0,MethodMASlow,PRICE_CLOSE,1);
  double maSlower = iMA(Symbol(),Timeframe,PeriodsMASlower,0,MethodMASlower,PRICE_CLOSE,1);
  double maFastLast = iMA(Symbol(),Timeframe,PeriodsMAFast,0,MethodMAFast,PRICE_CLOSE,2);
  double maSlowLast = iMA(Symbol(),Timeframe,PeriodsMASlow,0,MethodMASlow,PRICE_CLOSE,2);
  double maSlowerLast = iMA(Symbol(),Timeframe,PeriodsMASlower,0,MethodMASlower,PRICE_CLOSE,2);
 
 
 
  if(maFast > maSlow && maFast > maSlower && maSlow > maSlower && maFastLast < maSlowLast && maFastLast < maSlowerLast && maSlowLast < maSlowerLast){
    Print("Long");
    int ticket = executeLong();
    Print(IntegerToString(ticket));
  }else if (maFast < maSlow && maFast < maSlower && maSlow < maSlower && maFastLast > maSlowLast && maFastLast > maSlowerLast && maSlowLast > maSlowerLast){
    Print("Short");
    int ticket = executeShort();
    Print(IntegerToString(ticket));
    }
  }



Danke für Eure Hilfe!

MA-EA 16.08.18 23:13

Würd mal sagen, es ist sehr selten, dass die gewünschten Formationen vor kommen. Lass die MA auf Bar 2 weg.

Edit: 3 MA reagieren aber sowieso meistens zu spät.

Leopold 16.08.18 23:23

Zitat:

Zitat von MA-EA (Beitrag 41443)
Würd mal sagen, es ist sehr selten, dass die gewünschten Formationen vor kommen. Lass die MA auf Bar 2 weg.

Mach das bitte nicht, am besten du nimmst das nicht zu ernst was @MA-EA schreibt.

---Leopold---

traderdoc 16.08.18 23:46

So, jetzt muss ich auch mal bei @MA-EA eine Blutgrätsche hinlegen.

@MA-EA, es ist ok, wir haben alle mal klein angefangen. Deine Phase mit "klein angefangen" sollte eigentlich bereits vorbei sein. Aber was Du da so manchmal schreibst, ist schon mehr als merkwürdig (incl. Deiner Selbstgespäche in so manchen Threads). Und deshalb rate ich Dir, Dich einfach mal rauszuhalten, still weiter zu lernen, den anderen v.a. gut zuhören bzw. die Posts genau lesen und nicht solchen Quatsch schreiben, er soll die MA auf Bar 2 weglassen.

Frage an Dich: Was meinst Du denn, wozu die Abfrage hier auf Bar 2 notwendig ist?

traderdoc

MA-EA 16.08.18 23:49

Zitat:

Zitat von Blancomi (Beitrag 41441)
Hier stehe ich dann aber vor dem Problem dass der EA gar nicht oder ab nur sehr selten handelt, obwohl sich die Gleitenden Durchschnitte mehrmals schneiden.

Anbei der Code:
Code:

  if(maFast > maSlow && maFast > maSlower && maSlow > maSlower && maFastLast < maSlowLast && maFastLast < maSlowerLast && maSlowLast < maSlowerLast)

else if (maFast < maSlow && maFast < maSlower && maSlow < maSlower && maFastLast > maSlowLast && maFastLast > maSlowerLast && maSlowLast > maSlowerLast)


Fassen wir mal kurz zusammen:

Um z.B. long zu gehn sollen

der jeweils schnellere Bar 1 MA über dem jeweils langsameren Bar 1 MA sein. Schon das dauert etliche Kerzen.

Dann sollen auch noch die MAs auf Bar 2 genau die entgegen gesetzte Formation haben. Das ist wahrscheinlich mindestens noch mal so selten...

Einen Trend-Beginn auf die Kerze genau zu erwischen und dann noch mit 6 MAs... Viel Erfolg. ;) Und selbst wenn zufällig mal richtig eingestiegen wird, ist der Trend vermutlich schon lange wieder vorbei, bevor auch nur 1 Punkt Gewinn gemacht wurde. :(

Leopold 17.08.18 09:07

Aber um eine Kreuzung zu definieren brauchst du die zustände vor der Kreuzung, sonst weist du ja nicht wann die Kreuzung stattgefunden hat.

Halt dich doch in Zukunft etwas zurück! Dieses Thema wurde nicht erstellt um dir Grundlagen beizubringen, es hatte jemand eine Frage.

@Blancomi: Bitte entschuldige, wir weichen von deiner Frage ab.

---Leopold---

Blancomi 17.08.18 11:22

Liste der Anhänge anzeigen (Anzahl: 1)
Ich freue mich darüber, dass meine Frage wenigstens wahrgenommen wurde. (In dem ein oder anderen Foren ist das nicht der Fall).


Zurück zum Thema:

Es ist natürlich richtig dass sich die 3 gleitenden Durchschnitte nur an sehr wenigen Punkten gleichzeitig schneiden. Deswegen würde ich das ganze so programmieren dass auch Trades eingegangen werden, wenn sich beispielsweise 2 der 3 gD einige Kerzen zuvor kreuzen.

Zur Veranschaulichung habe ich einen Screenshot beigefügt.



Warum möchte ich das machen?

Ich benötige diese Kenntnisse, um später einen EA zu programmieren der auf der Idee des Rainbow-Systems basiert, oder aber auf Basis des Alligator Indikators handelt. In beiden Fällen habe ich mehr als 2 gD die sich irgendwann gekreuzt haben müssen.


Oder bin ich mit diesen Gedanken auf dem Holzweg?



Danke Euch und viele Grüße,


Michael

MA-EA 17.08.18 12:19

Liste der Anhänge anzeigen (Anzahl: 1)
Also, wenn ich mit irgendwas Erfahrung habe, dann mit MA-EAs. :D

Aus eigener Erfahrung kann ich sagen:

1.
Drei MAs sind zu lahm! Jedenfalls beim Day- und Swing-Trading.

2.
Wenn sich eine Kerze davor noch alle 3 in gespiegelter Position befinden sollen, dann sind Einstiegs-Signale so selten, dass man auch gleich per Hand traden kann.

3.
Gute Erfahrungen hab ich mit nem 2 MA-EA:D gemacht. H1, beide Simple, 3 und 6. Dass hatte eigentlich immer funktioniert.

Aber irgendwas ist beim Prüfen, ob Orders offen sind, und Öffnen, falsch. Jedenfalls öffnet er eine Order nach der Anderen. :confused: :(

Code:

//=============================================================================================================
// P R U E F E N  O B  O R D E R S  G E O E F F N E T  S I N D
//=============================================================================================================
  for(i=OrdersTotal()-1;i>=0;i--){
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
      if(OrderType()==OP_BUY&&OrderMagicNumber()==Buy_Market_MN&&OrderSymbol()==Symbol())bool Buy_Mark_inv=true;
      if(OrderType()==OP_SELL&&OrderMagicNumber()==Sell_Market_MN&&OrderSymbol()==Symbol())bool Sel_Mark_inv=true;}}
//=============================================================================================================
// O P E N  O R D E R S
//=============================================================================================================
if(Fast_TF==Slow_TF&&SPR_AL==true&&RT==true){
  if(Buy_Market==true&&Buy_Mark_inv==false&&CP_1>F_MA && F_MA>S_MA)OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,B_Mark_SL,B_Mark_TP,Buy_Market_MN,0,MediumBlue);
  if(Sell_Market==true&&Sel_Mark_inv==false&&CP_1<F_MA && F_MA<S_MA)OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,S_Mark_SL,S_Mark_TP,Sell_Market_MN,0,SteelBlue);}


Blancomi 17.08.18 14:09

Danke dir

Ein EA mit nur 2 MA ist an sich eine schöne Sache... bis der Markt seitwärts läuft :/

MA-EA 17.08.18 14:58

Was er aus Sicht eines 3 MA Systems immer tut... ;) :rolleyes:


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