samedi 26 février 2011

Un premier indicateur customisé

Dans MetaEditor, allez dans 'File', 'New', puis 'Custom Indicator'. Donnez lui le nom que vous souhaitez et cliquez sur 'Suivant', 'Suivant', 'Terminer'.


Pour entrer tout de suite dans le vif du sujet, prenons un exemple d' indicateur.


Le Code :
#property copyright "Forex Automatique 2011"      // copyright
#property link "http://forex-automatique.blogspot.com/"
#property indicator_chart_window      // s' affiche sur le graphique
#property indicator_buffers 1         // nombre de Buffers

double Buff1[];           

int init()                       
  {
   SetIndexBuffer(0, Buff1);        // assignation de l' array Buff1 au buffer
   SetIndexStyle(0, DRAW_LINE, EMPTY, 2, Red);
   return                    
  }

int start()                       
  {              
   int i = Bars;                      // nombre de périodes 
   while(i >= 0)                   
     {
      Buff1[i] = High[i]            // valeur du Buffer pour chaque période
      i--;                   
     }
   return;                        
  }

Explications :
Dans ce code, le mot "Buffer" apparaît plusieurs fois. Les buffers sont indispensables pour créer des indicateurs en MQL4. Ce sont des espaces mémoire qui contiennent toutes les valeurs que prend un indicateur.
Le buffer est un array, sa déclaration est réalisée par :
double Buff1[];            
et 
SetIndexBuffer(0, Buff1);  

La fonction SetIndexStyle définit la forme de l' indicateur.
SetIndexStyle(int index, int type, int style=EMPTY, int width=EMPTY, color = CLR_NONE)

   - index est le numéro du buffer de l' indicateur associé ( doit être compris entre 0 et 7 ).

   - type est la forme sous laquelle doit se présenter l' indicateur. Au choix parmi :

ConstanteValeurDescription
DRAW_LINE0Ligne
DRAW_SECTION1Sections
DRAW_HISTOGRAM     2Histogramme
DRAW_ARROW3Symboles
DRAW_ZIGZAG4Zig-Zag
DRAW_NONE12              Ne rien dessiner

   - style voir en-dessous.

   - width est la grosseur des lignes ( 1, 2, 3, 4, ou 5 ).
Si width est égal à 1 et que l' indicateur est une ligne, la variable style peut prendre les valeurs suivantes :

ConstanteValeurDescription
STYLE_SOLID 0Ligne continue
STYLE_DASH 1Ligne discontinue
STYLE_DOT 2Pointillés
STYLE_DASHDOT 3
STYLE_DASHDOTDOT     4

   - color est la couleur que prendra l' indicateur.


Dans notre exemple de code, l' indicateur est une courbe attachée au graphique qui suit le plus haut de chaque période. Pour l' installer, cliquez sur 'Compile'. L' indicateur se trouve alors dans l' onglet 'Indicateurs Programmés' de la fenêtre 'Navigateur'.



Si on modifie certaines parties du code, la forme de l' indicateur change radicalement...
Avec des symboles à la place de la courbe :

Dans une fenêtre séparée :
( remplacement de #property indicator_chart_window par #property indicator_separate_window ).

En histogramme :

Aucun commentaire:

Enregistrer un commentaire