[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 317

 
kon12 писал(а) >>

Les amis, un conseil à tous ceux qui savent. Disons que je dessine un indicateur personnalisé sur le graphique principal. Ensuite, j'utilise un autre indicateur personnalisé qui implique le premier indicateur via la fonction iCustom. Peut-on les connecter pour que le paramètre du premier indicateur dans le graphique soit automatiquement modifié dans le second indicateur personnalisé ?

Je ne comprends pas très bien la tâche, mais peut-être que ceci fera l'affaire :

Aide sur MT Analytics - Indicateurs techniques

- Par exemple, vous pouvez créer l'indicateur Moving Average à partir de Awesome Oscillator et ainsi obtenir une ligne de signal en plus de AO. Pour cela, vous devez d'abord dessiner l'indicateur AO, puis utiliser la technique du Drag'n'Drop pour imposer la MA à l'AO et sélectionner "Données de l'indicateur précédent" dans ses paramètres dans le champ "Appliquer à" (imposer l'indicateur aux données de l'indicateur précédent). Si vous choisissez "First Indicator Data", la MA sera créée sur la base des données du premier indicateur, qui ne sera pas nécessairement AO.

 
kon12 >> :

Les amis, un conseil à tous ceux qui savent. Disons que je dessine un indicateur personnalisé sur le graphique principal. Ensuite, j'utilise un autre indicateur personnalisé qui implique le premier indicateur via la fonction iCustom. Puis-je les connecter pour que le paramètre du premier indicateur dans le graphique soit automatiquement modifié dans le second indicateur personnalisé ?

Si vous appelez l'indicateur source à travers iCustom, vous le sauvegarderez quelque part, alors marquez-le comme un tampon d'indicateur et sortez l'indicateur source et l'indicateur converti comme deux tampons d'un indicateur, il sera plus facile de l'exécuter et de changer les paramètres. Si vous voulez faire des bêtises, vous pouvez utiliser des globolvariables.

 
Urain >> :

Il n'est pas nécessaire de le supprimer, il suffit de modifier les paramètres via ObjectSet.

ps Mais en général, votre cas doit être examiné au cas par cas.

Merci !

 
kon12 >> :

Les amis, un conseil à tous ceux qui savent. Disons que je dessine un indicateur personnalisé sur le graphique principal. Ensuite, j'utilise un autre indicateur personnalisé qui implique le premier indicateur via la fonction iCustom. Puis-je les lier de sorte que lorsque le paramètre du premier indicateur change sur le graphique, le paramètre du second indicateur personnalisé change automatiquement ?

Je comprends que vous voulez changer manuellement la valeur du paramètre d'entrée de l'indicateur dans le terminal et les autres indicateurs réagiront à ce changement ?

Alors la réponse est claire - l'utilisation de iCustom ne fonctionnera pas. Cette fonction fonctionne de la manière suivante - l'indicateur avec les paramètres que vous avez spécifiés est "créé" dans la mémoire du programme (pas sur le graphique) ("comme si", je veux dire, il n'est pas tracé), et au premier appel il est traité en utilisant les fonctions init() et start(), c'est-à-dire que s'il y a un cycle "standard" comme for(i=limit;i>=0;i--), toutes les barres nécessaires sont calculées. Ensuite, la prochaine fois que iCustom est appelé, le recalcul n'est pas effectué (s'il n'est pas explicitement spécifié dans le corps de l'indicateur). Il n'y a pas de tampons séparés affectés à de tels indicateurs dans MQL, donc si vous avez besoin de stocker les valeurs, il est raisonnable de les copier dans un tampon séparé. Il n'y a pas d'accès direct aux graphiques dans MQL également (mais cela serait utile IMHO).

 

Merci pour vos réponses, je n'ai peut-être pas formulé correctement ce que je veux. Je m'explique : j'utilise un indicateur ZigZag sur le graphique principal. En outre, j'utilise mon propre indicateur qui montre les longueurs d'onde indiquées par le zigzag. L'indicateur accède au zigzag via iCustom. Mais lors du changement des paramètres du zigzag, je dois entrer dans le deuxième indicateur et y définir les mêmes paramètres. Comment modifier le paramètre en zigzag seulement. Dans Metastocke, je superpose simplement le deuxième indicateur au premier et c'est tout.

 
Puisqu'il semble que j'ai bien compris la question, je vais y répondre à nouveau : utiliser Metatrader et MQL - pas question.
 
alsu >> :
Puisqu'il semble que j'ai bien compris la question, je réponds une fois de plus : avec Metatrader et MQL, pas question.

Non, pourquoi. Vous pouvez passer le paramètre par une variable globale, un objet graphique. Vous n'aurez besoin que d'une tique pour le redessiner, mais vous pouvez le faire vous-même.

Bien sûr, il serait préférable d'unifier les indices.

 
Svinozavr >> :

Non, pourquoi. Vous pouvez passer le paramètre par une variable globale, un objet graphique. Il faut juste un tic pour le redessiner, mais vous pouvez le faire, vous savez.

Bien sûr, il serait préférable d'unifier les indices.

Eh bien, pour faire "ça", ce n'est pas un niveau de débutant... De manière générale, je me suis longtemps demandé s'il n'existait pas un environnement universel permettant à chaque indicateur d'enregistrer ses tampons réels (enfin, ceux où sont "réellement" stockées les données) dans un espace d'adressage partagé ou, au pire, comme variables globales. Il serait alors possible d'appliquer aux graphiques directement à partir de MQL au lieu de iCustom... Je ne l'ai toujours pas fait.

 
alsu >> :

et bien, pour faire "ça", c'est un peu au-delà du niveau débutant... En général, je me suis longtemps demandé s'il ne fallait pas faire un environnement universel, de sorte que chaque indicateur enregistre ses vrais tampons (vous savez, ceux où les "vraies" données sont stockées) dans un espace d'adressage partagé ou, au pire, sous la forme de variables globales. Il serait alors possible d'appliquer aux graphiques directement à partir de MQL au lieu de iCustom... Je ne l'ai toujours pas fait.

Ce serait cool. L'impossibilité de synchroniser normalement les indicateurs est très contraignante. Je dois soit les synchroniser comme j'ai écrit, soit les combiner.

Mais le problème du dessin ne peut pas être résolu par les moyens standards, sauf pour dessiner dans différentes sous-courbes à partir d'un indicateur. Et probablement, pas même avec des moyens internes. Si nous pouvions lier le tampon au numéro de la fenêtre comme un objet gr.ou même générer une telle fenêtre à partir de l'indicateur, alors... Eh bien, c'est juste hors-sujet.

===

Mais l'idée de l'environnement est très pratique. Avez-vous des idées à ce sujet ?

 
Peut-être un fil séparé ?