Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 933

 
Merci,kosmos0975!
Je vais faire un essai. Mais j'ai peur que cela ne fonctionne pas sur les barres hebdomadaires, par exemple.
 
Pouvez-vous me dire où je peux trouver un exemple de code qui peint la ligne de l'indicateur en différentes couleurs ?
 
Leo59:
Pouvez-vous me dire où je peux trouver un exemple de code qui peint la ligne de l'indicateur en différentes couleurs ?
Autant de couleurs, autant de tampons ! Si vous changez la couleur, vous changez le tampon ! De nombreux exemples dans CodeBase !
 
Comment faire une entrée sur la bonne ligne ... dans le fichier tht...
 
borilunad:
Autant de couleurs, autant de tampons ! Si la couleur change, vous changez le tampon ! De nombreux exemples dans la CodeBase !
Merci.
 
Qu'est-ce qu'il y a ? Pourquoi certaines zones bleues sont-elles laissées de côté ?
#property  indicator_separate_window
#property  indicator_buffers 3
#property   indicator_color1  Aqua
#property   indicator_width1  1
#property   indicator_color2  Red
#property   indicator_width2  1
#property   indicator_color3  Yellow
#property   indicator_width3  1

extern int       Fperiod=1;
extern int       Speriod=2;
extern int       Method=3;
extern int       PRICE_MODE=PRICE_WEIGHTED;

double   Buf0[];
double   Buf1[];                                
double   Buf2[];                                
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
   {
    SetIndexBuffer(0,Buf0);
    SetIndexBuffer(1,Buf1);
    SetIndexBuffer(2,Buf2);

    SetIndexStyle(0,DRAW_LINE);
    SetIndexStyle(1,DRAW_LINE);
    SetIndexStyle(2,DRAW_LINE);

    SetIndexEmptyValue(1,EMPTY_VALUE);   
    SetIndexEmptyValue(2,EMPTY_VALUE);   

    IndicatorShortName("Proba ");                
   
    SetIndexDrawBegin(0, 0);  
    SetIndexDrawBegin(1, 0);
    SetIndexDrawBegin(2, 0);

    return(0);
   }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
   {
    int i; 
    int limit;
    int counted_bars=IndicatorCounted();
    if(counted_bars<0) return(-1);
    if(counted_bars>0) counted_bars--;
    limit=Bars-counted_bars;
    for (i = limit;i>=0;i--)
        {  
         Buf0[i]=iMA(NULL,0,Fperiod,0,Method,PRICE_MODE,i)-iMA(NULL,0,Speriod,0,Method,PRICE_MODE,i);
         if(Buf0[i] > Buf0[i+1])
             {
              Buf1[i] = Buf0[i];
//              if(Buf0[i+1] > Buf0[i+2])
//                   Buf1[i+1] = Buf0[i+1];
//              else Buf2[i+1] = Buf0[i+1];
             }
         else
             {
              Buf2[i] = Buf0[i];
//              if(Buf0[i+1] < Buf0[i+2])
//                   Buf2[i+1] = Buf0[i+1];
//              else Buf1[i+1] = Buf0[i+1];
             }
        }              
    return(0);
   }


 
Est-il possible de lier trois graphiques avec des échéances différentes dans l'EA ? Sur la base des lectures des indicateurs dans les deux graphiques, un lieu et une paire de devises à saisir sont recherchés, et sur la base du troisième graphique, une entrée, un stop et un profit sont calculés, et une position est ouverte pour l'entrée. Est-ce techniquement possible ? Ou bien devez-vous créer un EA spécifiquement pour une certaine période afin qu'il fonctionne sur un seul graphique ? Pour cela, il faut non seulement compter les lectures des barres, ticks ou chandeliers des graphiques de différentes échéances, mais aussi analyser les lectures d'au moins deux indicateurs et ouvrir un ordre sur la base de ces données.
 
J'étais en train d'écrire une fonction pour détecter les pièges à mouches et je me suis retrouvé coincé dans quelque chose que je ne comprends pas. l'instruction if ne fonctionne pas. peut-être que j'ai écrit quelque chose de mal quelque part, je veux que vous regardiez à nouveau, parce que je ne comprends pas pourquoi. j'ai même enregistré une vidéo du débogueur, où je montre que les valeurs sont égales, mais cela ne fonctionne pas. s'il vous plaît mettez mon cerveau à sa place))))
{
      int size = ArrayRange(arrayMinLow,0);
      int digits = MarketInfo (symbol,MODE_DIGITS);
      
      double spreadFlat = highLine - lowLine;
      
     
      int directionFlat = -1;
      int slew = 0;
      for (int i = 0; i<size; i++){
            double hl =arrayMinLow[i][0];
            double ol = arrayMinLow[i][1];
            double cl = arrayMinLow[i][2];
            double ll = arrayMinLow[i][3];
            
            if (hl == highLine || ol == highLine){                                      //вот тут не срабатывает

                  if( directionFlat == -1 || directionFlat == 0)
                        slew++;

                  directionFlat = 1;
            }else if  (cl == lowLine|| ll ==lowLine){
               
                  if( directionFlat == -1 || directionFlat == 1)
                        slew++;               
               
                  directionFlat = 0;
               
           }
                  
      
      }
      
      if(slew >=4 )
         return true;
         
      return false;   
      
      

}




lien vidéo https://www.youtube.com/watch?v=k9Zo0SgrMCA
 
Deniskaaa:
Est-il possible de lier trois graphiques avec des échéances différentes dans l'EA ? Sur la base des lectures des indicateurs dans les deux graphiques, un lieu et une paire de devises à saisir sont recherchés, et sur la base du troisième graphique, une entrée, un stop et un profit sont calculés, et une position est ouverte pour l'entrée. Est-ce techniquement possible ? Ou bien devez-vous créer un EA spécifiquement pour une certaine période afin qu'il fonctionne sur un seul graphique ? Il ne faut pas se contenter de compter les lectures des barres, des ticks ou des chandeliers sur des graphiques de différentes échéances, mais analyser les lectures d'au moins deux indicateurs et ouvrir un ordre sur la base du troisième.
Tout est possible ! Voir la documentation ou l'aide dans MetaEditor !
 
pycha:

Bonjour, j'étais en train d'écrire une fonction pour détecter les flytags et je me suis retrouvé coincé dans quelque chose que je ne comprends pas. l'instruction if ne fonctionne pas. peut-être que j'ai écrit quelque chose de mal quelque part, je veux que vous regardiez à nouveau, parce que je ne comprends pas pourquoi. j'ai même enregistré une vidéo à partir du débogueur, montrant que les valeurs sont égales, mais cela ne fonctionne pas. s'il vous plaît mettez mon cerveau à la place de))))


code :

bool  checkLine(double highLine , double lowLine, double &arrayMinLow[][5] )
{
      int size = ArrayRange(arrayMinLow,0);
      int digits = MarketInfo (symbol,MODE_DIGITS);
      
      double spreadFlat = highLine - lowLine;
      
     
      int directionFlat = -1;
      int slew = 0;
      for (int i = 0; i<size; i++){
            double hl =arrayMinLow[i][0];
            double ol = arrayMinLow[i][1];
            double cl = arrayMinLow[i][2];
            double ll = arrayMinLow[i][3];
            
            if (hl == highLine || ol == highLine){                                      //вот тут не срабатывает

                  if( directionFlat == -1 || directionFlat == 0)
                        slew++;

                  directionFlat = 1;
            }else if  (cl == lowLine|| ll ==lowLine){
               
                  if( directionFlat == -1 || directionFlat == 1)
                        slew++;               
               
                  directionFlat = 0;
               
           }
                  
      
      }
      
      if(slew >=4 )
         return true;
         
      return false;   
      
      

}





Utilisez le bouton SRC pour coller le code, pas l'image ! Demandez conseil à l'auteur de cette idée et de cette vidéo !