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

 
Artyom Trishkin :
Examiner le code

Merci pour cette réponse rapide. Je ne veux pas être impoli, mais c'est proche mais pas tout à fait correct. Dans mon cas, on utilise DRAW_COLOR_HISTOGRAM2.

il a trois tampons, deux pour les valeurs de début et de fin de bougie et le troisième pour stocker la couleur de cette bougie.

L'exemple ci-dessus utilise DRAW_COLOR_HISTOGRAM , il a deux tampons (taille du chandelier et couleur) et construit les barres uniquement à partir de "0". Un tel histogramme ne peut pas être tracé à partir du niveau (par exemple 50).

Nous devons soustraire 50 de la plage de valeurs du tableau d'indicateurs pour déplacer la valeur de -50 à 50, au lieu de 0 à 100 comme dans la source originale. Au lieu du niveau 50, ce sera le niveau 0. Et

pour disposer les histogrammes au-dessus et au-dessous de 0, je devrai en utiliser deux, l'un "négatif", au-dessous de 0, l'autre "positif", au-dessus de 0. Je suppose :-))

Bien sûr, c'est aussi une option et c'est probablement plus facile à mettre en œuvre pour moi maintenant, mais je veux comprendre et trouver ERROR.


Qu'est-ce que je fais de mal ? Les valeurs sont calculées correctement (je les ai vérifiées dans le testeur, étape par étape), l'indice de couleur change correctement, mais l'indicateur lui-même n'a aucun effet, la couleur ne change pas, il n'y a aucun lien entre l'indice de couleur

SetIndexBuffer(6,ColorHistogram_2Colors,INDICATOR_COLOR_INDEX); 

et l'affichage. Merci quand même.

 

Effectuer des changements, ajouter des empreintes pour voir les changements sur chaque coche.

on peut voir que l'indice est égal à la valeur verte "32768", il doit l'être, car

ExtMainBuffer[i]>50

c'est-à-dire que la stochastique est au-dessus de 50. Mais les barres de l'histogramme sont toujours rouges.

J'ai ajouté le fichier avec l'impression.

Dossiers :
 

J'ai utilisé l'exemple de la référence MQL5 comme exemple pour moi-même

Guide de référence MQL5 / Indicateurs personnalisés / Styles d'indicateurs dans les exemples / DRAW_COLOR_HISTOGRAM2

J'ai tout vérifié deux fois, tout comme ils le font, et ça ne marche pas !!!!.
Qui sait, s'il vous plaît aviser où l'erreur, ce qui est faux ?

 
Seric29:

Je viens de qualifier figurativement le programme de compilateur, mais en général, dans quel cas serait-il meilleur ?

d'utiliser de nombreuses petites fonctions plutôt qu'un "gros morceau" de code - comme l'a conseillé@Ilyas

 
Sergey Voytsekhovsky:

J'ai utilisé l'exemple de la référence MQL5 comme exemple pour moi-même

Guide de référence MQL5 / Indicateurs personnalisés / Styles d'indicateurs dans les exemples / DRAW_COLOR_HISTOGRAM2

J'ai tout vérifié deux fois, tout comme ils le font, et ça ne marche pas !!!!.
Qui sait, s'il vous plaît aviser où l'erreur, ce qui est faux ?

Je vous ai donné un lien pour apprendre à travailler avec un tampon de couleur, pas avec un histogramme. Abandonnez l'histogramme et concentrez-vous sur la façon de travailler avec la couleur.

 
Sergey Voytsekhovsky:

Bonsoir. J'ai essayé pendant longtemps et en vain. L'histogramme se dessine correctement, mais la coloration en différentes couleurs (au-dessus et au-dessous du niveau 50) n'a pas gagné. S'il te plaît, dis-moi où j'ai merdé. Le texte ci-dessous, le fichier est lié


La première chose qui a attiré mon attention est la séquence de tampons.

//--- indicator buffers mapping
   SetIndexBuffer(0,ExtMainBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtSignalBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,ColorHistogram_2Buffer1,INDICATOR_DATA);
   SetIndexBuffer(3,ColorHistogram_2Buffer2,INDICATOR_DATA);
   SetIndexBuffer(4,ExtHighesBuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(5,ExtLowesBuffer,INDICATOR_CALCULATIONS);
   SetIn dexBuffer(6,ColorHistogram_2Colors,INDICATOR_COLOR_INDEX);

Les tampons doivent TOUJOURS être consécutifs. Par exemple, si les tampons de données sont les numéros 2 et 3, le tampon de couleur DOIT être le numéro 4.

Si ce n'est pas la seule erreur, nous examinerons la question plus en détail.

 

Je n'arrive pas à penser correctement.

Ça fait une demi-heure que je fouille partout et je n'arrive pas à comprendre.

Veuillez me dire comment connaître la valeur en roubles d'un point de prix, si la taille du tick et son prix sont différents dans la spécification de l'outil.

Par exemple, si j'ai une variable avec la valeur 10

il est clair que pour Uber c'est 10 roubles

rts 130 roubles

huile 60 roubles

Comment cela se présente-t-il dans le code ? Je suis confus, les points simples sont ok, mais l'huile rts est différente.

 
Konstantin Seredkin:

Je n'arrive pas à penser correctement.

Ça fait une demi-heure que je fouille partout et je n'arrive pas à comprendre.

Veuillez me dire comment connaître la valeur en roubles d'un point de prix, si la taille du tick et son prix sont différents dans la spécification de l'outil.

Par exemple, si j'ai une variable avec la valeur 10

il est clair que pour Uber c'est 10 roubles

rts 130 roubles

huile 60 roubles

Comment cela se présente-t-il dans le code ? Je suis confus, les points simples sont ok, mais l'huile rts est différente.

SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) * volume

MQL4

 
Alexandr Sokolov:

SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) * volume

MQL4

MQL5 est nécessaire

les contrats à terme ne sont pas négociés dans mt4


Voici ce dont vous avez besoin


 
Konstantin Seredkin:

MQL5 est nécessaire

les contrats à terme ne sont pas négociés dans mt4


Voici ce dont vous avez besoin


Donc c'est la même chose dans mql5. Il a même été un peu étendu. N'est-ce pas ce dont nous avons besoin ?

SYMBOLE_TRADE_TICK_VALUE

Valeur SYMBOL_TRADE_TICK_VALUE_PROFIT

double

SYMBOL_TRADE_TICK_VALUE_PROFIT

Valeur de tick calculée pour une position rentable

double

SYMBOLE_TRADE_TICK_VALUE_PERTE

Valeur calculée d'un tick pour une position perdante

double

SYMBOLE_TRADE_TICK_SIZE

Modification du prix minimum

double

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
Raison: