Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4862
Beiträge: 42883
Benutzer: 7.164
Aktive Benutzer: 79
Links: 83
Wir begrüßen unseren neuesten Benutzer: Shyam
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 2 Tagen
- Shyam
vor einer Woche
- Nobby2000
vor einer Woche
- Wacked1
vor 3 Wochen
- Util
vor 4 Wochen
- Hardy61

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 37
Gesamt: 37
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: Jun 2021
Beiträge: 25
droyo33 befindet sich auf einem aufstrebenden Ast
Standard Swing Highs & Low identifizieren mit EA

Hallo zusammen,

ich möchte mit meinem EA Highs und Lows identifizieren so wie es der Fractals Indikator tut, nur dass ich den Indikator quasi in meinen EA überführe und mir die Highs & Lows in zb. ein Array speichere.

Die Indikatoren nutzen ja die int Start() Funktion, die ich in einem EA nicht habe.
Ich habe probiert den Code von Fractals in mein EA zu überführen nur leider hat es nicht geklappt.

Welche Möglichkeiten gibt es da bspw.?
Könnte ich den Fractals Indikator theoretisch mit anpassungen in mein EA überführen?

Code des Indikators sieht folgendermaßen aus:

Code:
//
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int Equals=5;
extern int nLeftUp=2;
extern int nRightUp=2;
extern int nLeftDown=2;
extern int nRightDown=2;
//---- buffers
double FractalsUp[];
double FractalsDown[];
//----
int pos=0,cntup=0,cntdown=0,cnt=0;
int r=0,l=0,e=0;
int fup=0,fdown=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexBuffer(0,FractalsUp);
   SetIndexBuffer(1,FractalsDown);
//----
   SetIndexStyle(0,DRAW_ARROW,0,1);
   SetIndexArrow(0,217);
//----
   SetIndexStyle(1,DRAW_ARROW,0,1);
   SetIndexArrow(1,218);
//----
   cntup=nLeftUp+nRightUp+Equals+1;
   cntdown=nLeftDown+Equals+1;
   if(cntup>=cntdown)
      cnt=cntup;
   if(cntup<cntdown)
      cnt=cntdown;
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i=0,j=0;
   int cbars=IndicatorCounted();
//----
   if(cbars<0)
      return(-1);
//----
   if(cbars>0)
      cbars--;
   pos=0;
//----
   if(cbars>(Bars-cnt-1))
      pos=(Bars-cnt-1);
   else
      pos=Bars -(cbars+nRightUp);
  if(cbars==0) pos-=Equals;       
//----
   while(pos>=nRightUp)
     {
      FractalsUp[pos]=NULL;
      FractalsDown[pos]=NULL;
      //ôÐÀÊÒÀË ÂÂÅÐÕ
      r=nRightUp; //ïðîâåðÿåì ïðàâóþ ñòîðîíó ôðàêòàëà
      //----
      for(i=1; i<=r; i++)
        {
         if(High[pos]<=High[pos-i])
            break;
        }
      //åñëè ñïðàâà âñå ÎÊ òî i äîëæíî áûòü ðàâíî r+1
      if(i==r+1) //FractalsUp[pos]=High[pos];
        {
         l=nLeftUp;  //ïðîâåðÿåì ëåâóþ ñòîðîíó ôðàêòàëà
         e= Equals;
         //----
         for(j=1; j<=l+Equals; j++)
           {
            if(High[pos]<High[pos+j])
               break;
            //----
            if(High[pos]>High[pos+j])
               l--;
            //----
            if(High[pos]==High[pos+j])
               e--;
            //----
            if(l==0)
              {
               FractalsUp[pos]=High[pos];
               break;
              }
            //----
            if(e<0)
               break;
           }
        }
      //ÔÐÀÊÒÀË ÂÍÈÇ
      r=nRightDown; //ïðîâåðÿåì ïðàâóþ ñòîðîíó ôðàêòàëà
      //----
      for(i=1; i<=r; i++)
        {
         if(Low[pos]>=Low[pos-i])
            break;
        }
      //----
      if(i==r+1) //FractalsUp[pos]=High[pos];
        {
         l=nLeftDown;  //ïðîâåðÿåì ëåâóþ ñòîðîíó ôðàêòàëà
         e= Equals;
         //----
         for(j=1; j<=l+Equals; j++)
           {
            if(Low[pos]>Low[pos+j])
               break;
            //----
            if(Low[pos]<Low[pos+j])
               l--;
            //----
            if(Low[pos]==Low[pos+j])
               e--;
            //----
            if(l==0)
              {
               FractalsDown[pos]=Low[pos];
               break;
              }
            if(e<0)
               break;
           }
        }
      pos--;
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
Das würde ich gerne in meinen EA implementieren, geht das überhaupt?

Beste Grüße
Mit Zitat antworten
  #2 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Sofern es nicht mit iFractals() oder sowas geht, müsste das gehn.

https://docs.mql4.com/indicators/icustom

Edit:Was willst Du ändern?

Geändert von MA-EA (vor einer Woche um 20:53 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +2. Es ist jetzt 07:33 Uhr.





Die Suchmaschine - Der Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2022 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2020 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------