Une question pour les connaisseurs de MQL - page 2

 
Rita:

Enlevez la tique et vous obtenez quelque chose comme ceci :


 

Merci. Le faisceau fonctionne.

Mais l'indicateur https://www.mql5.com/ru/code/8752 ne fonctionne toujours pas. J'ai dessiné une ligne verticale, le nom de la paire EURUSD+ et une section "historique".

Une fenêtre d'indicateur vide s'ouvre, mais le graphique d'équité de la section spécifiée n'est pas affiché.

 
Rita:

Merci. Le faisceau fonctionne.

Mais l'indicateur https://www.mql5.com/ru/code/8752 ne fonctionne toujours pas. J'ai défini la ligne verticale, le nom de la paire et le segment "historique".

Une fenêtre d'indicateur vide s'ouvre mais le graphique d'équité du segment spécifié n'est pas affiché.

1. Essayez de régler la couleur de la ligne sur Bleu ou Rouge.

2. Essayez de relire les instructions de l'indicateur.

3. Il n'y a pas de cotation le week-end, alors essayez de faire une "mise à jour" du PMP sur le graphique pour que le tampon de l'indicateur se remplisse avec les valeurs calculées de l'indicateur.

4. Si rien n'aide.... Alors je ne sais pas quoi faire. Demandez de l'aide au développeur.

 
Ok. Je vais essayer.
 

Oui, - merci encore. La ligne bleue semble commencer à fonctionner.

 

Il y a un autre problème dans mt4.

Au démarrage (constamment), et aussi à l'ouverture de la fenêtre MT4 réduite (dans 80 % des cas), on ne comprend pas pourquoi toutes les lignes d'options de menu de MT4 sont réorganisées - "les unes sous les autres", ce qui réduit la hauteur du graphique.

C'est très ennuyeux parfois. Je dois constamment faire glisser ces règles "vers l'arrière".

Pourquoi cela se produit-il et comment puis-je éliminer ce problème ? Veuillez me conseiller, qui sait.

 
Rita:

Au démarrage (en permanence) et également lors de l'ouverture de la fenêtre MT4 réduite.

Au démarrage, cela se produit si vous essayez de démarrer un terminal qui est déjà en cours d'exécution. La souris n'est-elle pas une radio ? Essayez de vérifier avec le clavier, mettez en évidence le raccourci, puis exécutez-le avec le lanceur.

Je ne l'ai pas rencontré lorsqu'il était déplié.

 

Non, la souris n'est pas une radio. On a constaté que cela se produit généralement lorsque le processeur est surchargé.

Je vais maintenant poursuivre avec une question à https://www.mql5.com/ru/forum/116261/page15.

 

Bon après-midi.

J'ai passé une demi-journée et je n'arrive pas à comprendre.

J'ai besoin que les noms des instruments analysés et les couleurs de leurs lignes respectives soient affichés dans le coin droit de la fenêtre de l'indicateur inférieur, comme ceci :

Je ne peux pas l'atteindre de quelque manière que ce soit ! C'est-à-dire qu'à la compilation initiale, ces marques de texte apparaissent sur le côté droit.

Après le rechargement de MT4 ou après l'installation du nouvel indicateur sur le graphique, le texte disparaît, voir ci-dessous. :

Je ne comprends pas pourquoi c'est comme ça.

J'ai écrit une fonction pour afficher ces lignes :

void object(string name, string _text, int fontsize, color color_, int value) {
 ObjectCreate(name+ WindowExpertName(), OBJ_LABEL, WindowFind(WindowExpertName()), 0, 0);
 ObjectSetText(name+ WindowExpertName(), _text, fontsize, "Times New Roman", color_);
 ObjectSet(name+ WindowExpertName(), OBJPROP_CORNER, 1);
 ObjectSet(name+ WindowExpertName(), OBJPROP_XDISTANCE, 4);
 ObjectSet(name+ WindowExpertName(), OBJPROP_YDISTANCE, value); 
                                     }

J'appelle cette fonction dans la fonction START pour chaque symbole respectivement :

 int start() {
     int limit;  int counted_bars=IndicatorCounted();
  //---- проверка на возможные ошибки
     if(counted_bars<0) return(-1);
  //---- последний посчитанный бар будет пересчитан
     if(counted_bars>0) counted_bars-=10;
     limit=Bars-counted_bars;
  //---- основной цикл
     for(int i=0; i<limit; i++)
       {
       Symbol1[i]=.....  ;
       Symbol2[i]= ..... ;
       Symbol3[i]= ..... ; 
       Symbol4[i]= ......;       
       SymbolE[i]= ..... ;      
      
      object("B1", Symbol_1, 10, Color_1, 5);
      object("B2", Symbol_2, 10, Color_2, 15);
      object("B3", Symbol_3, 10, Color_3, 25);
      object("B4", Symbol_4, 10, Color_4, 35);
      object("B5", Symbol_E, 10, Color_5, 45);
     
   }
   return (0);
}
     

Veuillez me dire quelle peut être l'erreur ici ? Peut-être dans une fonction INIT?

Parce que dans le journal, il y a une apparition constante de :

 

La fonction init est implémentée comme suit :

int init() {
    IndicatorShortName("CC-STOKS ");
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2, Color_1);
   SetIndexBuffer(0, Symbol1);
   SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2, Color_2);
   SetIndexBuffer(1, Symbol2);
   SetIndexStyle(2, DRAW_LINE, STYLE_SOLID, 2, Color_3);
   SetIndexBuffer(2, Symbol3);
   SetIndexStyle(3, DRAW_LINE, STYLE_SOLID, 2, Color_4);
   SetIndexBuffer(3, Symbol4);
   SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 2, Color_5);
   SetIndexBuffer(4, SymbolE);
   
   return (0);
}