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

 
Roll:

Tutoriel MQL4-->Variables-->Assets-->Tâche 26.:Trouver la valeur maximale et minimale du prix des n dernières barres (extremumprice.mq4)


Merci beaucoup pour le lien)

J'ai lu le manuel mais j'ai oublié cet exemple.

Merci encore !

 
Bonsoir. Aidez-moi à résoudre ce problème : il y a deux courbes, l'une avec des coordonnées ay1, ay2 ... ayN, l'autre avec des coordonnées by1, by2 ... parN. Il est nécessaire de déterminer s'il existe une telle valeur de K, pour laquelle la condition SUM((ayN-K*byN)^2)/N <=C, où C est un certain nombre.
 
Bonjour Chers utilisateurs du forum, Je suis un débutant, je suis en train d'écrire mon premier Expert Advisor, pouvez-vous m'aider à corriger un bug algorithmique, (la fermeture des ordres par critère ne fonctionne pas(( ?)), voici un fichier ...
Dossiers :
 

Bonsoir à tous.

J'ai essayé d'écrire un indicateur (c'est mon premier indicateur) qui devrait afficher la valeur minimale et maximale du prix parmi les n dernières barres.

Je n'arrive pas à comprendre ce que j'ai fait de mal.

Aidez-moi à comprendre ce que j'essaie de faire !

Le compte à rebours commence à partir de 1 mesure.

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Red

extern int Quant_Bars = 5; //количество баров
int i;                     //номер бара
int Minimum;               //минимум за n баров
int Maximum;               //максимум за n баров

//--- buffers
double Line_1[];     //объявление массивов под..
double Line_2[];     //..буферы индикаторов

int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);    //стиль линии
   SetIndexBuffer(0,Line_1);                    //назнач. массива буферу
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);    //стиль линии
   SetIndexBuffer(1,Line_2);                    //назнач. массива буферу
//----
   return;                                      
  }

int start()
  {                        
   double Minimum = Bid;      //мин. цена
   double Maximum = Bid;      //макс. цена
   
   for(i=1; i<=Quant_Bars; i++)
   {
    if(Low[i]<Minimum)        //если меньше известного..
       Minimum = Low[i];      //..то оно и будет минимальным
      
    if(High[i]>Maximum)       //если большн известного..
       Maximum = High[i];     //..то оно и будет максимальным
    }
       
    Line_1[i] = Minimum;      //отобразить линию минимума
    Line_2[i] = Maximum;      //отобразить линию максимума
   
   return;
  }
 
AndEv:
Bonsoir. Aidez-moi à résoudre ce problème : il y a deux courbes, l'une avec des coordonnées ay1, ay2 ... ayN, l'autre avec des coordonnées by1, by2 ... parN. Il est nécessaire de déterminer s'il existe une telle valeur de K, pour laquelle la condition SUM((ayN-K*byN)^2)/N <=C, où C est un certain nombre.
Il ne s'agit pas de courbes, mais de lignes brisées. Demandez à Alexey.
 

Bonsoir.

Je suis un peu "crucian" quand il s'agit de coder :) Je suis en train de construire un conseiller expert basé sur l'indicateur Fibonacci. Jusqu'à présent, aucune attention à la stratégie. Le problème est 7 niveaux de Fibonacci, comment faire pour que chaque niveau traversé ne fixe que 2 ordres en attente différents et pas plus.

J'apprécierais tout conseil.

Désolé pour mon russe maladroit.

Dossiers :
 
valenok2003:


Utilisez plusieurs points.

Par exemple, pour H1

extern int FastEMA=12 ;
extern int SlowEMA=26 ;
extern int SignalSMA=9 ;

si vous voulez les mêmes valeurs pour H3

mettez-le sur H1

extern int FastEMA=36 ;
extern int SlowEMA=78 ;
extern int SignalSMA=27 ;

ne fonctionne pas pour tous les indices,

Annexe : Exemple d'une mise en œuvre stochastique pour une TF arbitraire

Votre code suggère que vous pouvez écrire n'importe quel nombre de minutes dans le second paramètre d'un indicateur. Par exemple, iRSI(NULL, 300, .....) - pour le cadre temporel H5. C'est vrai ?
 
Pacman:

Bonsoir à tous.

J'ai essayé d'écrire un indicateur (c'est mon premier indicateur) qui devrait afficher la valeur minimale et maximale du prix parmi les n dernières barres.

Je n'arrive pas à comprendre où je me trompe.

Aidez-moi à comprendre ce que je veux faire !

Le compte à rebours commence à partir de 1 mesure.


#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Red

extern int Quant_Bars = 5; //количество баров
int i;                     //номер бара
int Minimum;               //минимум за n баров
int Maximum;               //максимум за n баров

//--- buffers
double Line_1[];     //объявление массивов под..
double Line_2[];     //..буферы индикаторов

int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);    //стиль линии
   SetIndexBuffer(0,Line_1);                    //назнач. массива буферу
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);    //стиль линии
   SetIndexBuffer(1,Line_2);                    //назнач. массива буферу
//----
   return;                                      
  }

int start()
  {                        
   double Minimum = Bid;      //мин. цена
   double Maximum = Bid;      //макс. цена
   
   for(i=1; i<=Quant_Bars; i++)
   {
    if(Low[i]<Minimum)        //если меньше известного..
       Minimum = Low[i];      //..то оно и будет минимальным
      
    if(High[i]>Maximum)       //если большн известного..
       Maximum = High[i];     //..то оно и будет максимальным
    }

   //
   // Здесь как минимум нужен цикл, лучше два разных - для мин и макс ..............
   //
    Line_1[i] = Minimum;      //отобразить линию минимума
    Line_2[i] = Maximum;      //отобразить линию максимума
   
   return;
  }
 

Bonsoir ! Dites-moi, serait-il suffisant de mettre une ou deux flèches ?

bool napravlenieCCI=false;
 if( CCI_50S<100&&CCI_50>100 ||CCI_50S<0&&CCI_50>0|| CCI_50S<-100&&CCI_50>-100  )napravlenieCCI=true;// if( CCI_50S>CCI_50&& )napravlenieCCI=false;
  if(napravlenieCCI){  ObjectCreate( "name", OBJ_ARROW, 0, TimeCurrent(),Ask);}
 

Bonjour.

Des personnes intelligentes conseillent une chose simple. J'ai trois conseillers experts qui travaillent simultanément sur différentes paires de devises. Si l'un d'entre eux souhaite effectuer une transaction, comment puis-je vérifier s'il existe déjà des transactions ouvertes sur cette paire de devises ? Lorsqu'un seul conseiller expert fonctionne, tout est facile. OrderTotal(). Quand il y en a beaucoup, que faire ?