Aide au codage - page 140

 

Cher Mladen / Mrtools

L'indicateur ci-joint est une version 'Line' mais est-il possible de le modifier en tant qu'indicateur 'Volty Channel Stop' comme indiqué sur l'image ?

Ce serait génial si les deux indicateurs ( Line & Volty ) changeaient leur signal en même temps(lignes verticales dans l'image) !

Merci pour toute aide

secretcode

Dossiers :
 
secretcode:
Cher Mladen / Mrtools

L'indicateur ci-joint est une version 'Line' mais est-il possible de le modifier en indicateur 'Volty Channel Stop' comme indiqué sur l'image ?

Ce serait génial si les deux indicateurs ( Ligne et Volty ) changeaient leur signal en même temps (lignes verticales sur l'image) !

Merci pour toute aide

code secret

secretcode

Si vous voulez dire que les indicateurs peuvent donner des signaux aux mêmes endroits, peut-être qu'ils le peuvent en utilisant des paramètres spéciaux, mais les mathématiques derrière les deux sont différentes et je ne pense pas qu'il soit possible d'avoir tous les signaux aux mêmes endroits indépendamment des paramètres que vous utilisez pour les deux.

 

Salut mladen,

on a écrit il y a un moment sur mon problème. On ne l'a pas encore résolu.

Mais j'ai une autre question. J'ai essayé d'importer l'indicateur avec la fonction iCustom()-function.

N'est-il pas possible de copier le code de l'indicateur dans l'ea et de supprimer toutes les alertes et autres fonctions, mais la condition pourrait être vérifiée ?

 
mladen:
secretcode Si vous voulez dire que les deux peuvent donner des signaux aux mêmes endroits, peut-être que c'est possible en utilisant des paramètres spéciaux, mais les mathématiques derrière les deux sont différentes et je ne pense pas qu'il soit possible d'avoir tous les signaux aux mêmes endroits indépendamment des paramètres que vous utilisez pour les deux.

Merci Mladen pour sa réponse et ses explications

Meilleures salutations

secretcode

 
arroganzmaschine:
Hé mladen,

nous avons écrit il y a un moment sur mon problème. On ne l'a pas encore résolu.

Mais j'ai une autre question. J'ai essayé d'importer l'indicateur avec la fonction iCustom()-function.

N'est-il pas possible de copier le code de l'indicateur dans l'ea et de supprimer toutes les alertes et autres fonctions, mais la condition pourrait être vérifiée ?

arroganzmaschine

La façon la plus propre et la plus simple de le faire est d'utiliser iCustom(). Toutes les autres méthodes sont très compliquées par rapport à l'utilisation d'un indicateur normal et ensuite l'appeler en utilisant iCustom() et dans certains cas, il n'est même pas possible de le faire comme cela devrait être fait.

 

Dois-je importer tous les paramètres externes avec la fonction iCustom()-fonction qui sont dans l'indicateur ? Et comment les tampons sont-ils déclarés ?

L'indicateur dit : double Long[] ; est un tampon. Ai-je raison ?

 
arroganzmaschine:
Dois-je importer tous les paramètres externes avec la fonction iCustom() qui sont dans l'indicateur ? Et comment sont déclarés les tampons ? L'indicateur dit : double Long[] ; est un tampon. Ai-je raison ?

arroganzmaschine

Le double Long[] n'est pas un tampon mais un tableau. Il ne devient un tampon que si vous le déclarez comme tel avec la fonction SetIndexBuffer(). Mais dans l'EA, vous ne pouvez pas déclarer un tampon avec SetIndexBuffer(). Cela ne fera rien dans l'EA (ainsi que beaucoup de fonctions spécifiques aux indicateurs qui ne feront rien si elles sont utilisées dans un EA).

Si vous n'êtes pas familier avec les tableaux et la façon de travailler avec les tableaux, je vous recommande sincèrement d'utiliser un indicateur normal et des appels iCustom() car cela vous prendra beaucoup de temps avant d'apprendre tout ce qui est nécessaire pour simuler le travail d'un indicateur à partir du code de l'EA sans avoir réellement un indicateur externe.

 

Comment puis-je obtenir les deux valeurs différentes d'un buffer[] ou d'un tableau dans ce cas. Comme Long[1] = HIGH et Long[2] = LOW avec la fonction iCustom ?

Merci !

 
arroganzmaschine:
Comment puis-je obtenir les deux valeurs différentes d'un buffer[] ou d'un tableau dans ce cas. Comme Long[1] = HIGH et Long[2] = LOW avec la fonction iCustom ? Merci !

Vous ne pouvez pas obtenir la valeur d'un tableau, d'une variable ou de choses similaires à partir d'un code externe.

Vous pouvez obtenir la valeur d'un indicateur tampon avec un appel à iCustom().

Jetez un coup d'oeil à ce fil de discussion : https://www.mql5.com/en/forum/173108 et je pense que tout ce qu'il faut savoir sur les appels à iiCustom() et ce qu'ils font (y compris comment accéder aux différents éléments d'un tampon) est décrit ici.

 

Mais cela ne m'aide pas. Les deux tampons sont 4 et 5. Mais les tampons étaient des tableaux avant.

Voici le code : SetIndexBuffer(4, Long) ;

SetIndexBuffer(5, Short) ;

Dans l'indicateur, ces tampons sont d'abord déclarés avec "double Long[]". Ce tampon a deux valeurs. Long[1] et Long[2]. Comment puis-je obtenir ces valeurs dans le conseiller expert ?

Raison: