Erreurs, bugs, questions - page 298

 
Urain:

La classe standard CChart est défaillante.

Exécutez le script et voilà, le graphique est emporté par le vent :o)

Le graphique est supprimé sans aucun message d'erreur.

Je peux recommander qu'avant que le script ne se termine, vous appeliez

eur.Detach() ;

Dans ce cas, le graphique ne sera pas supprimé.

 
uncleVic:

Je peux vous recommander, avant que le script ne se termine, d'appeler

eur.Detach() ;

Dans ce cas, le graphique ne sera pas supprimé.

Oui, oui merci, j'ai déjà compris d'après le post de Rashid que je dois me détacher avant de sortir.
 
Veuillez me dire si plusieurs graphiques (indicateurs) sont considérés dans un seul code. Comment peut-on les afficher dans plusieurs fenêtres différentes (indicateurs) à partir du même code (dans des fenêtres séparées sous le graphique en chandelier) ?
 
-Alexey-:

Veuillez me dire s'il y a plusieurs graphiques (indicateurs) dans un seul code. Comment les sortir de ce code unique vers plusieurs fenêtres différentes (indicateurs) (dans des fenêtres séparées sous un graphique en chandelier) ?

Si "un code calcule plusieurs graphiques (indicateurs)", alors, très probablement, les tampons des indicateurs pour chacun de ces indicateurs sont calculés dans le même code. Pour afficher les valeurs des tampons d'indicateurs dans "plusieurs fenêtres différentes (dans des fenêtres séparées sous le graphique en chandelier)", il suffit de créer des indicateurs MQL5 en fonction du nombre de fenêtres nécessaires, et de copier les tampons d'indicateurs nécessaires du code principal dans chacune d'elles.

 
Yedelkin:

Si "un code calcule plusieurs graphiques (indicateurs)", alors, très probablement, les tampons des indicateurs pour chacun de ces indicateurs sont calculés dans un seul code. Pour sortir les valeurs des tampons d'indicateurs dans "plusieurs fenêtres différentes (dans des fenêtres séparées sous le graphique en chandelier)", il suffit de créer des indicateurs MQL5 en fonction du nombre de fenêtres nécessaires, et de copier les tampons d'indicateurs nécessaires du code principal dans chacun de ces indicateurs.

Cher Yedelkin, je vous remercie de votre réponse. C'est vrai, j'ai quelques indicateurs tampons dans mon code (je les ai activés ou désactivés, pour dessiner un ou l'autre graphique séparément). Pourriez-vous me dire comment copier un tampon d'indicateur existant, qui se trouve dans le code principal, vers un autre indicateur ?
 

-Alexey-:
 подскажите пожалуйста, как копировать имеющийся индикаторный буфер, который находится в основном коде, в другой индикатор?

J'ai donc inséré un lien vers"copier dans chacun de ces indicateurs" dans la réponse. Voici le lien vers la documentation elle-même :https://www.mql5.com/ru/docs/series/copybuffer Si quelque chose n'est pas clair sur ce lien, demandez-le.
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyBuffer
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyBuffer - Документация по MQL5
 
Yedelkin:
J'ai donc inséré un lien vers"copier dans chacun de ces indicateurs" dans la réponse. Voici le lien vers la documentation elle-même :https://www.mql5.com/ru/docs/series/copybuffer Si quelque chose n'est pas clair sur ce lien, veuillez demander.
Merci. Je vais essayer de trouver une solution.
 
-Alexey-:
Merci. Je vais essayer de trouver une solution.
Il n'y a rien de compliqué. Chacun de vos tampons indicateurs est pré-numéroté dans le code source. Vous créez un nouvel indicateur et des tampons d'indicateur pour celui-ci, puis vous demandez le tampon d'indicateur à partir du code source à l'aide de la fonction CopyBuffer et vous copiez les valeurs requises de celui-ci vers le tampon d'indicateur du nouvel indicateur.
 
Yedelkin:
Il n'y a rien de compliqué. Chacun de vos tampons indicateurs est pré-numéroté dans le code source. Vous créez un nouvel indicateur et des tampons d'indicateur pour celui-ci, puis vous demandez le tampon d'indicateur du code source à l'aide de la fonction CopyBuffer et copiez les valeurs nécessaires à partir de celui-ci.
Tout semble être clair. Tout d'abord, vous devez utiliser la fonction ICustom, car son résultat Handle est requis par la fonction CopyBuffer, puis vous devez utiliser la fonction CopyBuffer avec le paramètre Handle obtenu précédemment. Ai-je bien compris que le code pour le calcul des tampons ne doit pas être placé dans le graphique, mais seulement dans les indicateurs qui copient les tampons du graphique et les affichent ?
 

-Alexey-:
Кажется, все понятно. Вначале необходимо использовать функцию ICustom, т.к. ее результат Handle нужен функции CopyBuffer, потом использовать функцию CopyBuffer с полученным ранее параметром Handle.

C'est vrai. Je n'ai pas parlé de l'iCustom.

-Alexey:
Ai-je bien compris que le code de calcul des tampons ne doit pas être placé sur le graphique, mais seulement sur les indicateurs qui en copient les tampons et les affichent ?
En tout cas, je le fais de cette façon et ça marche. ...Essayez d'appliquer ce schéma à au moins un tampon indicateur du code source à une sous-fenêtre et tout fonctionnera comme "par magie".