Optimierte Variante des Kaufman's Adaptiven gleitenden Durchschnitts für MetaTrader 4

Mike 2016.04.27 01:32 30 0 0
Anhang

Hier stellen wir die optimierte Variante des AMA-Indikators von wellx vor. Ursprünglich wurde dieser Indikator im Dezember 2006 optimiert, um ihn für den Einsatz in Expert Advisors (EAs) nutzbar zu machen. Die unoptimierte Version war ressourcenintensiv und ermöglichte keine performante Nutzung in einem EA, der auf den AMA zugreift.

Die optimierte Variante des Kaufman's Adaptiven gleitenden Durchschnitts


Bei Tests mit einem einfachen Expert Advisor wirst du den Geschwindigkeitsunterschied deutlich spüren.

//+------------------------------------------------------------------+//|                                                      TestAMA.mq4 |//|                                                             Rosh |//|                                                            http://www.metaquotes.net |//+------------------------------------------------------------------+#property copyright"Rosh"#property link      "http://www.metaquotes.net"externint AMAtype=1;
//+------------------------------------------------------------------+//| Initialisierungsfunktion für den Expert Advisor                                   |//+------------------------------------------------------------------+int init()
  {
//----
   if (AMAtype!=0) Print("Verwende den optimierten Indikator");
   elsePrint("Verwende die originale Version des Indikators");
   Print("Start");
//----
   return(0);
  }
//+------------------------------------------------------------------+//| Deinitialisierungsfunktion für den Expert Advisor                                 |//+------------------------------------------------------------------+int deinit()
  {
//----
   Print("Fertig");
//----
   return(0);
  }
//+------------------------------------------------------------------+//| Startfunktion für den Expert Advisor                                            |//+------------------------------------------------------------------+int start()
  {
//----
   double val;
   if (AMAtype!=0) val=iCustom(Symbol(),0,"AMA for Expert2",0,1);
   else val=iCustom(Symbol(),0,"AMA",0,1);
//----
   return(0);
  }
//+------------------------------------------------------------------+

Wenn die externe Variable AMAtype=0 ist, verwende den originalen Indikator, andernfalls nutze diesen Indikator.


Liste
Kommentar 0