Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 694

 
Maxim Kuznetsov:

NON, JE NE PEUX PAS...

C'est drôle, mais ce que l'utilisateur a sélectionné dans l'onglet "Couleurs" n'est normalement PAS disponible dans l'indicateur.

Merci pour la réponse.

Je rêve encore que le développeur de MT4 (pour Windows) ADAPTE les redirections sur ma tablette.....

Je leur ai écrit, ils m'ont répondu, ils m'ont dit que tous leurs efforts sont concentrés sur MT5...

 
kopeyka2:

Je vous remercie de votre réponse.

Je fais toujours le rêve que le développeur de MT4 (pour Windows) ADAPTE le nouveau design à la tablette.....

Je leur ai écrit, ils m'ont répondu, ils m'ont dit que tous leurs efforts sont concentrés sur MT5...

Dans mt4 il est peu probable qu'il y ait quelque chose de nouveau.

 
kopeyka2:

Salut.

Question : Dans MT4, est-il possible de faire correspondre la couleur du tampon EZ avec le graphique, si la couleur de l'indicateur sur le graphique a changé ?

Dans le code

#propriété indicators_color1 clrYellow

***

***

ObjectCreate(.......) ;

ObjectSetInteger(... indicators_color1) ;


Problème : lorsque vous changez de couleur dans l'indicateur, la couleur de la ligne tampon change, mais dans le graphique, elle est la même que dans #property. Besoin de correspondance.

Jusqu'à présent, j'ai résolu le problème grâce à la couleur d'entrée, MAIS il y a deux entrées dans le code, deux changements dans les paramètres, et je voudrais un seul paramètre dans le tampon.


Merci pour tout commentaire.

J'ai fait le schéma depuis un smartphone.


Nous prenons l'indicateur où le graphique est affiché et nous regardons :

//+------------------------------------------------------------------+
//| Описание                                                         |
//+------------------------------------------------------------------+
void Descriptions(void)
  {
   int x=4;
   int y=1;
   int arr_colors[]={indicator_color1,indicator_color2,indicator_color3,indicator_color4,indicator_color5};
   string arr_texts[]={"Up direction","Down direction","Crossing to up","Crossing to down","Neutral"};
   string arr_names[COUNT];
   for(int i=0; i<COUNT; i++)
     {
      arr_names[i]=prefix+"label"+(string)i;
      arr_colors[i]=PlotIndexGetInteger(i,PLOT_LINE_COLOR);
      int shift=(i*(i<2 ? 90 : i<COUNT-1 ? 96 : 100)-(i>0 ? x : 0));
      x+=shift;
      Label(arr_names[i],x,y,CharToString(167),16,arr_colors[i],"Wingdings");
      Label(arr_names[i]+"_txt",x+10,y+5,arr_texts[i],10,clrGray,"Calibri");
     }
  }
//+------------------------------------------------------------------+

Un tableau de couleurs est déclaré et initialisé avec les couleurs spécifiées par l'utilisateur dans les paramètres de l'indicateur.

Ensuite, la valeur de la couleur du tableau est transmise à la fonction de sortie de l'étiquette de texte.

Tout est standard dans la fonction de sortie des étiquettes de texte :

//+------------------------------------------------------------------+
//| Выводит текстовую метку                                          |
//+------------------------------------------------------------------+
void Label(const string name,const int x,const int y,const string text,const int size,const color clr,const string font)
  {
   if(ObjectFind(0,name)!=wnd)
      ObjectCreate(0,name,OBJ_LABEL,wnd,0,0,0,0);
   ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);
   ObjectSetInteger(0,name,OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
   ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_LEFT_LOWER);
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_LEFT_LOWER);
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,size);
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//---
   ObjectSetString(0,name,OBJPROP_FONT,font);
   ObjectSetString(0,name,OBJPROP_TEXT,text);
   ObjectSetString(0,name,OBJPROP_TOOLTIP,"\n");
  }
//+------------------------------------------------------------------+

La couleur passée à la fonction définit la couleur du marqueur de texte. Et tout fonctionne...

 
Artyom Trishkin:

Nous prenons l'indicateur dans lequel le graphique est affiché et nous l'examinons :

Un tableau de couleurs est déclaré et initialisé avec les couleurs spécifiées par l'utilisateur dans les paramètres de l'indicateur.

Ensuite, la valeur de la couleur du tableau est transmise à la fonction de sortie de l'étiquette de texte.

Tout est standard dans la fonction de sortie des étiquettes de texte :

La couleur passée à la fonction définit la couleur de l'étiquette de texte. Et tout fonctionne...

J'ai envisagé l'option du tableau... Il n'est pas clair comment il est connecté avec le tampon... ? La question portait sur UN seul mouvement de changement de couleur... pour le tampon et l'étiquette (ligne).

Ou je ne comprends pas ?))))

Merci pour l'exemple))))


PS

Je me suis dit que je pourrais peut-être tirer (comparer) la couleur du tampon... Je pense que c'est une absurdité...

 

Salutations. Pouvez-vous me dire comment écrire un indicateur qui fonctionnerait uniquement sur le prix de vente ?

RSI = NormalizeDouble((iRSI(NULL,0,14,0,0)),Digits()) ;

 
Anatolij Anufriev:

Salutations. Pouvez-vous me dire comment écrire un indicateur qui fonctionnerait uniquement sur le prix de vente ?

RSI = NormalizeDouble((iRSI(NULL,0,14,0,0)),Digits()) ;

dans les barres MT4 - OHLC sont construits par Bid, en fait, les prix Ask ne sont pas disponibles dans l'historique. comme une option, recueillir Ask en ticks et utiliser iRSIOnArray()

 

Quelle est la meilleure solution/la plus confortable pour utiliser des bases de données avec MQL4/5 ?

Il y a beaucoup d'articles, c'est difficile d'en choisir un.

 
Igor Makanu:

dans les barres MT4 - les OHLC sont construits par le Bid, en fait les prix Ask ne sont pas disponibles dans l'historique, alternativement collecter dans les ticks Ask et utiliser iRSIOnArray()

Merci.

 
Sergey Likho:

Quelle est la meilleure solution/la plus confortable pour utiliser des bases de données avec MQL4/5 ?

Il y a beaucoup d'articles, il est difficile d'en choisir un.

Si vous n'avez pas d'article, cherchez "Articles" sur le forum. Vous pouvez trouver toutes les informations dans la section "Forum". Il y a beaucoup de choses qui ont été combinées avec MT4, SQL et des applications comme MathLab ou R... Cherchez ce que vous voulez, la recherche est assez bonne sur ce forum.

https://www.mql5.com/ru/search#!keyword=sql&module=mql5_module_articles

Поиск - MQL5.community
Поиск - MQL5.community
  • www.mql5.com
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
 

Pour une raison quelconque, je n'arrive pas à attraper une barre dans la boucle, qui commence à 15 heures.

Si j'écris if(i<24) comme condition, le journal affiche l'heure de chaque barre de la journée, mais la condition requise n'est pas remplie :


   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      
      if( TimeHour(iTime(NULL,PERIOD_H1,i)==15)  )
      //if(i<24)
      Print("TimeHour = ", TimeHour(iTime(NULL,PERIOD_H1,i)));
      
      CrossDown[i]=High[i]+250*Point;
   
      i--;                          // Расчёт индекса следующего бара
     }
Raison: