Questions des débutants MQL5 MT5 MetaTrader 5 - page 1130

 
The_Sheikh:

Comme ceci


C'est juste mon cas.

Voici un extrait de l'exemple pour DRAW_COLOR_HISTOGRAM2 dans le manuel :

Ici, plot_colors = 8, cols[] - tableau avec différentes couleurs. Mais le terminal n'accepte aucune couleur sauf la première.

Attribuez-vous un histogramme à la première ? Et le tampon de couleur va après le second. Il devrait aller après le premier.

 
Artyom Trishkin:

Attribuez-vous un histogramme à la première ? Et le tampon de couleur va après le second. Il devrait aller après le premier.

Lequel est le premier ? Quelle seconde ? Lequel en premier ? De quoi s'agit-il ?

Donnez-moi un exemple pour que je n'aie pas à tourner autour du pot.

 
The_Sheikh:
Quel est le premier ? Quel deuxième ? Lequel en premier ? De quoi s'agit-il ?

Donnez un exemple, pour ne pas tourner autour du pot.

Formulez votre objectif. Décrivez ce que vous voulez obtenir de l'indicateur.

 
Vladimir Karputov:

Indiquez votre objectif. Décrivez ce que vous voulez que l'indicateur fasse.

Tu t'en moques ?

https://www.mql5.com/ru/forum/6343/page1129#comment_13439765

 
The_Sheikh:

Tu te moques de moi ?

https://www.mql5.com/ru/forum/6343/page1129#comment_13439765

Ce n'est pas bon. Vous donnez des fragments de phrases. Dans ce cas, la réponse universelle est :Documentation.


Quand vous arrêterez de faire la moue et de vous offenser, formulez ce que je demande :

Donc, maintenant, ce que vous faites n'est pas du tout clair, et surtout, vous ne savez pas pourquoi. L'objectif final n'est pas clair - et personne ne peut donc le deviner.
 
The_Sheikh:

Comme ceci


C'est exactement mon cas.

Voici un extrait de l'exemple pour DRAW_COLOR_HISTOGRAM2 dans le manuel :

Ici, plot_colors = 8, cols[] est un tableau avec différentes couleurs. Mais le terminal ne perçoit pas d'autres couleurs que la première.

C'est exactement le contraire. Cela remplit le tableau des couleurs à attribuer dans cette ligne de code tirée de la documentation

ColorHistogram_2Colors[i]=day; 
 
Vladimir Karputov:

Ce n'est pas bon. Vous donnez des fragments de phrases. Dans ce cas, la réponse universelle est :Documentation.

Quand vous arrêterez de faire la moue et d'être offensé, formulez ce que je vous demande de faire :

En d'autres termes, ce que vous faites n'est pas clair et, surtout, vous ne savez pas pourquoi vous le faites. L'objectif final n'est pas clair - et personne ne peut donc le deviner.

J'ai posé une question, souligné le problème, donné un exemple qui peut même être compilé. Si cela ne fonctionne pas pour vous, alors vous n'avez aucune idée de ce dont vous parlez et ne connaissez donc pas la réponse. Dans ce cas, la réponse universelle est d'apprendre à lire.

Lorsque vous cesserez de faire le malin et apprendrez à lire et à formuler vos propres questions, le sujet vous apparaîtra clairement.

Le but ultime : dessiner un histogramme avec chacune des couleurs données.


Alexey Viktorov:

C'est exactement ce que ce n'est pas. Il remplit un tableau de couleurs à attribuer dans cette ligne de code tirée de la documentation

C'est vrai, elle se remplit d'un éventail de couleurs. Et comme je l'ai déjà écrit, de la manière suivante (à partir de l'exemple) les couleurs sont remplies et spécifiées correctement :

#property indicator_color2 GreenC,RedC

...

Arr23[i]=0.0 ; //Vert

Arr23[i]=1.0 ; //Rouge


Et avec cette méthode :

PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC ;)
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC) ;
...

Arr23[i]=0.0 ; //Vert

Arr23[i]=1.0 ; // Au lieu du rouge, nous obtenons du noir (c'est-à-dire qu'aucune couleur n'est spécifiée).

 
The_Sheikh:
A qui d'abord ? Quelle seconde ? Lequel en premier ? De quoi s'agit-il ?

Donnez-moi un exemple pour que je n'aie pas à tourner autour du pot.

#property indicator_chart_window
//#property indicator_separate_window
#property indicator_buffers 4
#property indicator_plots 2

#define  GreenC 0x00FF00
#define  RedC 0x0000FF
#property indicator_type1 DRAW_NONE
#property indicator_type2 DRAW_COLOR_HISTOGRAM2
//#property indicator_color2 GreenC,RedC

double
Arr11[],
Arr21[],
Arr22[],
Arr23[];

void OnInit()
{
SetIndexBuffer(0,Arr11,INDICATOR_CALCULATIONS);
SetIndexBuffer(1,Arr21,INDICATOR_DATA);
SetIndexBuffer(2,Arr22,INDICATOR_DATA);
SetIndexBuffer(3,Arr23,INDICATOR_COLOR_INDEX);
IndicatorSetInteger(INDICATOR_DIGITS,Digits());
PlotIndexSetInteger(1,PLOT_LINE_WIDTH,4);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC);
//PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0.0);

Un. Deuxièmement. Trois.

Vous définissez le premier tampon comme l'histogramme des couleurs. A quoi sert le second ? Et pourquoi le tampon de couleur va-t-il après le deuxième tampon alors qu'il devrait aller après le premier. Votre tampon de couleur est de 3. Il devrait être de 2.

 
Artyom Trishkin:

Un. Deuxièmement. Troisièmement.

Vous définissez le premier tampon sur le type d'histogramme de couleur. Pourquoi avez-vous besoin du second ? Et pourquoi le tampon de couleur s'attaque-t-il au second alors qu'il devrait s'attaquer au premier. Votre tampon de couleur est de 3, alors qu'il devrait être de 2.

Artyom, vous n'avez pas remarqué que le type est DRAW_COLOR_HISTOGRAM2 et qu'il a deux tampons de données et un troisième tampon de couleur.

 
The_Sheikh:

J'ai posé une question, souligné le problème, donné un exemple qui peut même être compilé. Si elle ne vous convient pas, c'est que vous n'avez aucune idée de ce dont il s'agit et que vous ne connaissez donc pas la réponse. Dans ce cas, la réponse universelle est d'apprendre à lire.

Lorsque vous cesserez de faire le malin et apprendrez à lire et à formuler vos propres questions, le sujet vous apparaîtra clairement.

Le but ultime : dessiner un histogramme avec chacune des couleurs données.


C'est ça, il remplit le tableau des couleurs. Et comme je l'ai déjà écrit, la méthode suivante (de l'exemple) remplit les couleurs et les spécifie correctement :

#property indicator_color2 GreenC,RedC

...

Arr23[i]=0.0 ; //Vert

Arr23[i]=1.0 ; //Rouge


Et avec cette méthode :

PlotIndexSetInteger(1,PLOT_LINE_COLOR,0,GreenC) ;
PlotIndexSetInteger(1,PLOT_LINE_COLOR,1,RedC) ;
...

Arr23[i]=0.0 ; //Vert

Arr23[i]=1.0 ; //Nous obtenons du noir au lieu du rouge (c'est-à-dire que la couleur n'est pas spécifiée)

Et pourquoi cette ligne est-elle commentée ?

//#property indicator_color2 GreenC,RedC
Bien que d'autres couleurs doivent y être incluses. Ou au moins un, mais il doit y avoir une déclaration.