Erreurs, bugs, questions - page 1219

 
sanyooooook:

Je l'ai vérifié, ça ne marche pas.

Et le bar est plus informatif. J'aime à penser qu'il s'agit d'un bug corrigeable et non d'une autre innovation.

 
Silent:

Je l'ai vérifié, ça ne marche pas.

Et le bar est plus informatif. J'aime à penser qu'il s'agit d'un bug corrigeable et non d'une autre innovation.

Oui, ça ne serait pas pratique sans ça.
 

Bon après-midi. Pouvez-vous me dire si l'indicateur peut dessiner les choses suivantes : il y a une ligne, elle est dessinée, par exemple, en fonction des prix des maximums des chandeliers. Puis, vient le moment où cette ligne n'est plus tracée (valeurs EMPTY_VALUE). Puis vient le moment où la ligne doit être tracée à nouveau. Ce serait bien, mais la fin de la ligne précédente est reliée au début de la ligne actuelle. Question : existe-t-il un moyen d'éviter cela, c'est-à-dire d'empêcher les lignes de se rejoindre ? Et que dois-je faire/utiliser pour cela ?

P.S. D'après ce que je comprends, chaque style de dessin relie des valeurs non vides. Ensuite, les écarts sont toujours connectés. Mais peut-être ai-je manqué quelque chose...?

 
Tapochun:

Bon après-midi. Pouvez-vous me dire si l'indicateur peut dessiner les choses suivantes : il y a une ligne, elle est dessinée, par exemple, en fonction des prix des maximums des chandeliers. Puis, vient le moment où cette ligne n'est plus tracée (valeurs EMPTY_VALUE). Puis vient le moment où la ligne doit être tracée à nouveau. Ce serait bien, mais la fin de la ligne précédente est reliée au début de la ligne actuelle. Question : existe-t-il un moyen d'éviter cela, c'est-à-dire d'empêcher les lignes de se rejoindre ? Et que dois-je faire/utiliser pour cela ?

P.S. D'après ce que je comprends, chaque style de dessin relie des valeurs non vides. Ensuite, les écarts sont toujours connectés. Mais peut-être ai-je manqué quelque chose...?

Vous pouvez utiliser plus d'un tampon pour une ligne - vous pouvez changer le numéro du tampon à la transition suivante.

Selon la situation, vous pouvez avoir besoin de 2 à 3 tampons au total. 3 lorsqu'un segment peut être composé de 2 bougies.

(voici un très bon article - qui pourrait vous être utile)

Pour réduire le nombre de tampons, j'ai personnellement opté pour les objets graphiques - en sauvegardant les valeurs des lignes dans un tampon commun non indicateur.

Mais avec cette approche, vous devez vous rappeler de supprimer les objets avant même de commencer, car lorsque vous enregistrez le modèle, tous les objets du graphique sont également enregistrés.

Конструктор трейдера: Украшение индикаторов - Статьи по MQL4
  • www.mql5.com
Конструктор трейдера: Украшение индикаторов - Статьи по MQL4: особенности автоматических торговых стратегий
 
Tapochun:

Bon après-midi. Pouvez-vous me dire si l'indicateur peut dessiner les choses suivantes : il y a une ligne, elle est dessinée, par exemple, en fonction des prix des maximums des chandeliers. Puis, vient le moment où cette ligne n'est plus tracée (valeurs EMPTY_VALUE). Puis vient le moment où la ligne doit être tracée à nouveau. Ce serait bien, mais la fin de la ligne précédente est reliée au début de la ligne actuelle. Question : Existe-t-il un moyen d'éviter cela, c'est-à-dire d'empêcher les lignes de se rejoindre ? Et que dois-je faire/utiliser pour cela ?

P.S. D'après ce que je comprends, chaque style de dessin relie des valeurs non vides. Ensuite, les écarts sont toujours connectés. Mais peut-être ai-je manqué quelque chose...?

Dossiers :
nb8dma.mq5  4 kb
 
ALXIMIKS:

il est possible d'utiliser plus d'un tampon pour une ligne - changez le numéro du tampon au prochain croisement.

Selon la situation, un total de 2 à 3 tampons peut être nécessaire. 3 lorsqu'un segment peut être composé de 2 bougies.

(voici un très bon article - qui pourrait être utile)

Pour réduire le nombre de tampons, j'ai personnellement opté pour les objets graphiques - en sauvegardant les valeurs des lignes dans un tampon commun non indicateur.

Mais avec cette approche, vous devez vous rappeler de supprimer les objets avant même de commencer, car lorsque vous enregistrez le modèle, tous les objets du graphique sont également enregistrés.

ALXIMIKS, merci pour la réponse. Pas vraiment adapté aux options que vous avez suggérées, voici pourquoi :

1. À mon avis, avoir 2 ou 3 tampons pour dessiner une ligne n'est pas une bonne idée. Même si vous placez les données d'une ligne dans un tampon et celles de la deuxième dans le deuxième tampon, vous serez confronté à une situation où vous devrez utiliser à nouveau le premier tampon et les lignes seront toujours reliées de la première à la troisième (si vous définissez EMPTY_VALUE pour une valeur vide, comme je l'ai fait) ;

2. J'ai lu l'article que vous avez suggéré. Les idées qui y sont suggérées sont mises en œuvre de manière beaucoup plus efficace maintenant (après la mise à jour de MQL4/5), grâce aux nouvelles fonctionnalités du langage ;

3. À propos de l'utilisation des objets graphiques. L'utilisation des tampons indicateurs est plus pratique que la sauvegarde des valeurs dans le tampon non indicateur. À mon avis, il sera également plus facile d'utiliser les lignes de l'Expert Advisor.

4. Le post deMigVRN ci-dessous est la meilleure option, je pense.

 
MigVRN:

Merci, c'est exactement ce dont j'ai besoin ! Il est dommage que l'aide ne dise pas que l'initialisation avec zéro élimine les colles (avec le style DRAW_LINE).
 
Tapochun:
Merci, c'est ce dont j'ai besoin ! Il est dommage que l'aide ne dise pas, que l'initialisation zéro élimine les colles (pour le style DRAW_LINE).

Dans l'aide, il est question du style DRAW_FILLING. Je pensais juste que c'était la même chose dans le style DRAW_LINE. Regardez plutôt dans l'aide à propos de DRAW_FILLING- il ne doit pas être initialisé avec zéro. J'entends par là toute valeur qui est prédéfinie comme vide.

   #define  INDICATOR_EMPTY_VALUE -1.0
   ...
//--- значение INDICATOR_EMPTY_VALUE (пустое значение) не будет участвовать в расчете
   PlotIndexSetDouble(индекс_построения_DRAW_FILLING,PLOT_EMPTY_VALUE,INDICATOR_EMPTY_VALUE);
 
MigVRN:

Dans l'aide, il est question du style DRAW_FILLING. Je pensais juste que c'était la même chose dans le style DRAW_LINE. Regardez plutôt dans l'aide à propos de DRAW_FILLING- il ne doit pas être initialisé avec zéro. J'ai compris qu'il s'agissait de toute valeur qui est prédéfinie comme vide.

Je ne connaissais pas DRAW_FILLING, car seuls DRAW_LINE et DRAW_SECTION me conviennent logiquement. Mais, dans ces styles, lorsque l'on définit une valeur vide

PlotIndexSetDouble( 0, PLOT_EMPTY_VALUE, EMPTY_VALUE );

seules les valeurs vides de deux lignes adjacentes sont reliées, ce qui n'est pas nécessaire. Cependant, si vous le faites de la manière que vous suggérez :

PlotIndexSetDouble( 0, PLOT_EMPTY_VALUE, 0 );

Le style DRAW_LINE fait ce que vous voulez, et le style DRAW_SECTION ne le fait pas, mais l'aide de DRAW_SECTION indique que deux valeurs non vides sont jointes ! Toute autre valeur dans DRAW_LINE au lieu de 0 entraînera un collage. Dans DRAW_SECTION, n'importe quelle valeur à la place d'une valeur vide entraînera toujours le collage. Apparemment, DRAW_FILLING est construit sur un principe différent.

 

Erreur dans la description ou la mise en œuvre de "\n".

void OnStart()
{
        ushort ch = '\n';
        Print( int(ch) );
}

Résultat : 10 et la description dit 13

https://www.mql5.com/ru/docs/basis/types/integer/symbolconstants