Autor Thema: MQL5 Fehlsignale MA/TEMA ?  (Gelesen 533 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

  • Buchstabensortierer
  • ***
    • Beiträge: 19
    • Karma: +0/-0
    • Mitglied seit:
      15 Jan 2011
    • Meine Stops sitzen einfach perfekt.

  • Ballies
  • Stop
MQL5 Fehlsignale MA/TEMA ?
« am: Januar 25, 2011, 21:08:41 pm »
Hallo,

arbeite mich gerade in MQL5 ein.

Bin gerade an einem simpelen Programm bestehend aus MA und TEMA, wenn TEMA - MA von UNTEN nach OBEN schneidet soll ein Kaufsignal, wenn TEMA - MA von OBEN nach UNTEN ein Verkaufsignal generiert werden.

Im Backtest mit dem Strategietester berücksichtigt er allerdings nicht alle Kreuzungen!? Ist das ein bekanntes Problem oder hab ich da evtl. doch nen Fehler im Programm ?

mfg, Analyse


Forexfabrik

MQL5 Fehlsignale MA/TEMA ?
« am: Januar 25, 2011, 21:08:41 pm »

  • Global Moderator
  • Ist Forum süchtig
  • *
  • *
  • *
    • Beiträge: 1718
    • Karma: +422/-6
    • Mitglied seit:
      11 Aug 2009
  • Broker: IGMarkets

  • Mars Defense Car Chaos Get Groovy BallsPC Motorrad-Trauma
    Bloons Tower Defense
  • Stop
Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #1 am: Januar 25, 2011, 21:36:38 pm »
Wie wäre es mit etwas Quellcode?
Chleudere den Purchen zu Poden!

  • Gehört zum Inventar
  • ***
    • Beiträge: 1084
    • Karma: +429/-4
    • Mitglied seit:
      31 Dec 2008
  • Broker: RBS

  • Stop
Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #2 am: Januar 25, 2011, 22:12:10 pm »
Die Anfrage klingt wie per Telefon: "Schatz, auf meinem PC ist so ein komisches Fenster, und da blinkt immer was? Soll ich jetzt sofort ausmachen?"



Pokerregel: "Auch bei dem Anschein eines sicheren Gewinnes, muss man ablassen können."

  • Buchstabensortierer
  • ***
    • Beiträge: 19
    • Karma: +0/-0
    • Mitglied seit:
      15 Jan 2011
    • Meine Stops sitzen einfach perfekt.

  • Ballies
  • Stop
Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #3 am: Januar 25, 2011, 22:22:07 pm »
Ich wollte erstmal nur wissen ob es ein bekannter fehler ist, aber ich gehe jetzt mal davon aus das es nicht am Strategietester liegt.

Ich probiere mich auf die wichtigsten Abschnitte hier zu beschränken:

MA/TEMA einstellungen:
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
//--- Moving Average
int h_MA=INVALID_HANDLE;
int p_MA=8;
int s_MA=2;

//--- Tripple Exponential Moving Average
int h_TEMA=INVALID_HANDLE;
int p_TEMA=8;
int s_TEMA=0;

Indikator Handle:
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
int OnInit(){
   h_MA=iMA(_Symbol,_Period,p_MA,s_MA,MODE_LWMA,PRICE_CLOSE);
   h_TEMA=iTEMA(_Symbol,_Period,p_TEMA,s_TEMA,PRICE_CLOSE);
   return(0);
}

Indikator Buffervariablen:
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
double b_MA[2];
double b_TEMA[2];

Copybuffer:
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
CopyBuffer(h_MA,0,0,2,b_MA)<2
CopyBuffer(h_TEMA,0,0,2,b_TEMA)<2

Signalauswertung sig=1:Kaufen | sig=-1:Verkaufen
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
   if      (b_TEMA[0]<b_MA[0] && b_TEMA[1]>b_MA[1] && postype!=POSITION_TYPE_BUY)  sig= 1;
   else if (b_TEMA[0]>b_MA[0] && b_TEMA[1]<b_MA[1] && postype!=POSITION_TYPE_SELL) sig=-1;
   else                                                                            sig= 0;

Kauf/Verkauf:
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
switch(sig){
         case  1: trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,lot+openposition,SymbolInfoDouble(_Symbol,SYMBOL_ASK),0,0);
            break;
         case -1: trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,lot+openposition,SymbolInfoDouble(_Symbol,SYMBOL_BID),0,0);
            break;
}

Und nochmal den ganzen Code falls etwas im Zusammenhang fehlt, der hat allerdings noch einen weitern TEMA mit längerer Periode drin, der dafür sorgen sollte das nur gekauft/verkauft wird wenn die Kreuzung unterhalb/oberhalb des langzeit TEMA's stattfindet:
Code: Es ist Dir nicht erlaubt Links zu betrachten. Registrieren oder Einloggen
//+------------------------------------------------------------------+
//| Includes                                                         |
//+------------------------------------------------------------------+

#include <Trade\Trade.mqh>

//+------------------------------------------------------------------+
//| Variablen                                                        |
//+------------------------------------------------------------------+

//--- Moving Average
int h_MA=INVALID_HANDLE;
int p_MA=8;
int s_MA=2;

//--- Tripple Exponential Moving Average
int h_TEMA=INVALID_HANDLE;
int p_TEMA=8;
int s_TEMA=0;

//--- Tripple Exponential Moving Average Long Term
int h_TEMAlt=INVALID_HANDLE;
int p_TEMAlt=100;
int s_TEMAlt=0;

//--- Andere Variablen
double b_MA[2];
double b_TEMA[2];
double b_TEMAlt[2];
int sig=0;
bool newbuffer;
double bufferspeicher=0.0;
double lot=0.1;
long postype;
double openposition=0;
//+------------------------------------------------------------------+
//| Programm Funktionen                                              |
//+------------------------------------------------------------------+

void Signaltest(){
   SignalMA();
   SignalTEMA();
   SignalTEMAlt();
   
   if(PositionSelect(_Symbol)){
      postype=PositionGetInteger(POSITION_TYPE);
      openposition = lot;
      }
   else{
      postype=WRONG_VALUE;
      openposition = 0;
      }
   
   if      (b_TEMA[0]<b_MA[0] && b_TEMA[1]>b_MA[1] && b_TEMA[0]<b_TEMAlt[0] && postype!=POSITION_TYPE_BUY)  sig= 1;
   else if (b_TEMA[0]>b_MA[0] && b_TEMA[1]<b_MA[1] && b_TEMA[0]>b_TEMAlt[0] && postype!=POSITION_TYPE_SELL) sig=-1;
   else                                                                                                     sig= 0;

   if(sig!=0){
      CTrade trade;
     
      switch(sig){
         case  1: trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,lot+openposition,SymbolInfoDouble(_Symbol,SYMBOL_ASK),0,0);
            break;
         case -1: trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,lot+openposition,SymbolInfoDouble(_Symbol,SYMBOL_BID),0,0);
            break;
      }
   }
}

bool newbuffer(){
   if(bufferspeicher==b_MA[0]) return false;
   else return true;
}

void SignalMA(){
   if(h_MA==INVALID_HANDLE){                                                     
      h_MA=iMA(_Symbol,_Period,p_MA,s_MA,MODE_LWMA,PRICE_CLOSE);
      return;
     }
   else if(CopyBuffer(h_MA,0,0,2,b_MA)<2) return;
}

void SignalTEMA(){
    if(h_TEMA==INVALID_HANDLE){                                                   
      h_TEMA=iTEMA(_Symbol,_Period,p_TEMA,s_TEMA,PRICE_CLOSE);
      return;
    }
   else if(CopyBuffer(h_TEMA,0,0,2,b_TEMA)<2) return;
}

void SignalTEMAlt(){
    if(h_TEMAlt==INVALID_HANDLE){
      h_TEMAlt=iTEMA(_Symbol,_Period,p_TEMAlt,s_TEMAlt,PRICE_CLOSE);
      return;
   }
   else if(CopyBuffer(h_TEMAlt,0,0,2,b_TEMAlt)<2) return;
}
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---Handles
   h_MA=iMA(_Symbol,_Period,p_MA,s_MA,MODE_LWMA,PRICE_CLOSE);
   h_TEMA=iTEMA(_Symbol,_Period,p_TEMA,s_TEMA,PRICE_CLOSE);
   h_TEMAlt=iTEMA(_Symbol,_Period,p_TEMAlt,s_TEMAlt,PRICE_CLOSE);
   
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Signaltest();
  }
//+------------------------------------------------------------------+


mfg, Analyse

edit: Hier nochmal ein Bild, die ersten zwei Signale stimmen, dannach ists leider mist:
MA: Purple    TEMA: Rot    TEMAlt: Weiß
[ Für Gäste keine Dateianhänge sichtbar]
« Letzte Änderung: Januar 25, 2011, 22:42:36 pm von Analyse »

  • Global Moderator
  • Ist Forum süchtig
  • *
  • *
  • *
    • Beiträge: 1718
    • Karma: +422/-6
    • Mitglied seit:
      11 Aug 2009
  • Broker: IGMarkets

  • Mars Defense Car Chaos Get Groovy BallsPC Motorrad-Trauma
    Bloons Tower Defense
  • Stop
Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #4 am: Januar 25, 2011, 22:41:50 pm »
Wahrscheinlich werden die Kreuzungen nicht berücksichtigt, die nicht zum Langzeit-TEMA passen?
Chleudere den Purchen zu Poden!

  • Buchstabensortierer
  • ***
    • Beiträge: 19
    • Karma: +0/-0
    • Mitglied seit:
      15 Jan 2011
    • Meine Stops sitzen einfach perfekt.

  • Ballies
  • Stop
Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #5 am: Januar 25, 2011, 22:45:19 pm »
Ich habe nochmal ein Bild angehängt zur Verdeutlichung mit makierung wo ein Signal ausgelöst werden sollte.

Zitat
Wahrscheinlich werden die Kreuzungen nicht berücksichtigt, die nicht zum Langzeit-TEMA passen?

Ja, leider auch die die passen  :P

Habe auch schon probiert das log auszuwerten, leider ist das nicht vollständig.  :welldone1: Lässt einfach ein paar Tage aus in der Zusammenfassung  :sick:

Könnte es sein das die History fehlerhaft ist ? Oder würde das einen Fehler melden ?
« Letzte Änderung: Januar 26, 2011, 00:35:12 am von Analyse »

  • Buchstabensortierer
  • ***
    • Beiträge: 19
    • Karma: +0/-0
    • Mitglied seit:
      15 Jan 2011
    • Meine Stops sitzen einfach perfekt.

  • Ballies
  • Stop
Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #6 am: Januar 30, 2011, 19:01:59 pm »
Habs jetzt nochmal mit anderen Servern probiert, also eine fehlerhafte History kann ich denk ich auschliessen.

  • Buchstabensortierer
  • ***
    • Beiträge: 19
    • Karma: +0/-0
    • Mitglied seit:
      15 Jan 2011
    • Meine Stops sitzen einfach perfekt.

  • Ballies
  • Stop
Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #7 am: Februar 03, 2011, 21:55:49 pm »
Hat jemand einen laufenden EA mit MA-TEMA in MQL5 und kann den Quellcode veröffentlichen ?

Bekomm ihn hier nicht ordentlich zum laufen.

  • Buchstabensortierer
  • ***
    • Beiträge: 19
    • Karma: +0/-0
    • Mitglied seit:
      15 Jan 2011
    • Meine Stops sitzen einfach perfekt.

  • Ballies
  • Stop
Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #8 am: April 29, 2011, 20:09:15 pm »
Ok, gab wohl nen paar Fehler bei MT5, jetzt nach ein paar Updates funkionierts wie es soll.

Forexfabrik

Antw:MQL5 Fehlsignale MA/TEMA ?
« Antwort #8 am: April 29, 2011, 20:09:15 pm »


GoogleTagged - Stichworte

 

Ähnliche Themen

  Betreff / Begonnen von Antworten Letzter Beitrag
6 Antworten
956 Aufrufe
Letzter Beitrag Juli 14, 2010, 00:33:30 am
von traderdoc
10 Antworten
1386 Aufrufe
Letzter Beitrag Juli 26, 2011, 12:40:26 pm
von Louis
68 Antworten
3904 Aufrufe
Letzter Beitrag September 28, 2010, 20:01:12 pm
von substanz
9 Antworten
1269 Aufrufe
Letzter Beitrag März 16, 2012, 17:21:47 pm
von flapbone
0 Antworten
425 Aufrufe
Letzter Beitrag Februar 11, 2011, 13:54:19 pm
von Analyse
12 Antworten
1243 Aufrufe
Letzter Beitrag Juni 29, 2011, 22:29:04 pm
von artificial
4 Antworten
313 Aufrufe
Letzter Beitrag Mai 07, 2012, 18:11:57 pm
von traderdoc
3 Antworten
134 Aufrufe
Letzter Beitrag März 11, 2012, 20:17:32 pm
von dee544


ChartTec´s World Topsites