[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 231

 
La méthode MA est en effet strictement définie, mais c'est la méthode la plus "correcte". Le type de prix, quant à lui, offre un large choix. Il n'y a pas de couleurs, cependant. Mais sont-ils vraiment nécessaires ?
 

Je suis d'accord avec vous pour la couleur, mais j'aimerais pouvoir changer la méthode de MA. Vous pouvez peut-être me dire comment le faire correctement. Par exemple, si à travers le méta-éditeur on copie une partie du code, qui est responsable de la méthode MA de l'aligator (par exemple) et qu'on la colle dans le code MASD ? Ou est-ce toujours une idée folle ?

 
kiroyama:

Peut-être que vous pouvez me dire comment le faire correctement.

Je le ferai et je vous demande de prendre ce conseil au sérieux. Cela vaut la peine d'apprendre à programmer. Ce n'est pas aussi difficile que cela peut paraître. Les bénéfices seront énormes !
 

Bonjour ! Il y a une semaine - plus d'une semaine - j'ai commencé à comprendre comment écrire des indicateurs et j'ai décidé d'écrire au moins quelque chose. Ok, il n'y a rien dans le code. Mais il ne dessine même pas une ligne ! !! Je ne sais pas où, mais je ne vois aucun signe de vie de l'indicateur, comme ils disent !!!!!!.

Je n'ai peut-être pas écrit quelque chose d'important, une sorte de commande pour le dessiner... La disposition russe - bien, c'est pratique pour moi donc pour

//+------------------------------------------------------------------+
//|                                          поиск вульфа Димона.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#property indicator_chart_window

#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];

 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()

  {SetIndexStyle(0,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(0,ВерхняячертаBuffer1);Alert ("SetIndexBuffer ",GetLastError( ) );
   SetIndexEmptyValue(0,0.0);
   
   SetIndexStyle(1,DRAW_SECTION,STYLE_SOLID,2,CLR_NONE);Alert ("SetIndexStyle ",GetLastError( ) );
  SetIndexBuffer(1,НижняячертаBuffer2);Alert ("SetIndexBuffer ",GetLastError( ) ); 
   SetIndexEmptyValue(1,0.0);
//---- indicators




//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
//----

  // for(int i=Bars; i>=0;i--)
  int i=Bars;
       бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, i, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW, бар_вершина, start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW, бар_вершина*2, бар_вершина ) ;
       начало=Low[ бар_начало ];
       
         
  
    НижняячертаBuffer2[бар_начало]=начало;
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;
    
     int бар_проверка=iLowest( NULL,  timeframe, MODE_LOW, 5, 150 ) ;
     double проверка=Low[ бар_проверка ];
    ВерхняячертаBuffer1[бар_проверка]=проверка;
    ВерхняячертаBuffer1[бар_основание_первого_снижения]=основание_первого_снижения;
    
//----
   return(0);
  }
//+------------------------------------------------------------------+

moi-même.

 
kiroyama:

Je suis d'accord avec vous pour la couleur, mais j'aimerais pouvoir changer la méthode de MA. Vous pouvez peut-être me dire comment le faire correctement. Par exemple, si à travers le méta-éditeur on copie une partie du code, qui est responsable de la méthode MA de l'aligator (par exemple) et qu'on la colle dans le code MASD ? Ou est-ce toujours une idée folle ?

Nous pouvons utiliser le code deMetaQuotes pour substituer la MA appropriée pour le MACD et le prix également. J'ai récemment publié un indicateur de Bollinger avec la possibilité de définir des MA et des prix. Si vous êtes intéressé par une telle modification pour MACD, sur la base de la description de la formule de calcul MetaQuotes, écrivez-moi dans votre message personnel et comment la modifier.

 

Trop de choses sont écrites dans votre premier indicateur pour qu'il fonctionne correctement.
En fait, commencez par un plus simple. Tracez une ligne horizontale.
Un indicateur sans cycle est comme une nuit de noces sans mariée.
Mettez dans un cycle et jetez 80% des côtés.

 

Merci. Mais oui, je connais ce code-ahinea, et je veux, exactement, et en fait, commencer par quelque chose de plus simple. Tracez une ligne horizontale.

Et il ne montre aucun signe de vie ! !! Enfin, pas à l'horizontale, peu importe ! !! J'ai défini deux tampons, j'ai défini le style de ligne dans l'Inite, j'ai lié les tampons aux tableaux... Je ne veux pas voir une ligne ! C'est le but !

S'il vous plaît, qui sait, peut-être que j'ai mal écrit SetIndexStyle, ou quelque chose comme ça... ou quelque chose comme ça... J'ai fixé deux points pour la ligne

TopBuffer1[bar_check]=check ;
TopBuffer1[bar_base_first_decrease]=base_first_decrease ; Quoi d'autre ?

 
Une ligne est constituée de points. Trouvez un endroit dans votre programme qui spécifie le nombre de points à dessiner.
 
Merci !
 
Terminez-la dans le programme :
ВерхняячертаBuffer1[0]=25;
ВерхняячертаBuffer1[1]=25;
ВерхняячертаBuffer1[2]=25;
ВерхняячертаBuffer1[3]=25;
ВерхняячертаBuffer1[4]=25;
ВерхняячертаBuffer1[5]=25;
ВерхняячертаBuffer1[6]=25;
ВерхняячертаBuffer1[7]=25;
ВерхняячертаBuffer1[8]=25;
ВерхняячертаBuffer1[9]=25;
ВерхняячертаBuffer1[10]=25;
ВерхняячертаBuffer1[11]=25;
...

et ensuite penser à ce qui manquait