Fonction ICustom

 

Bonjour

Tout d'abord, je dois dire qu'il y a vraiment beaucoup d'informations utiles sur le forum ici, c'est génial :D

Ma question suivante

comment puis-je obtenir le résultat de l'indicateur (ou autre variable) comme valeur de retour si je l'appelle avec icustom ?

J'ai essayé d'analyser le code de quelques autres indicateurs pour cette partie mais... il n'y a aucune différence (ou je l'ai manqué).

alors comment cela fonctionne-t-il ?

salutations homi :)

 
 

Bonjour et désolé

tj pour avoir répondu :)

oh tu m'as mal compris

c'est mon mauvais anglais ...désolé !

Normalement je sais comment appeler un indicateur avec icustom(),

mais quand j'essaie d'appeler le LSMA trendindicator alors il me renvoie la valeur "1" tout le temps ,peu importe ce que la tendance est vraiment maintenant il renvoie toujours une valeur.... "1".

J'ai donc pensé que le 1 qu'il renvoie est une sorte de contrôle d'erreur qui renvoie vrai ou faux.

Mais j'ai besoin de savoir quelle est la tendance et je dois ajouter du code à l'indicateur qui me renvoie la valeur de la tendance et non la valeur du contrôle d'erreur.

et ma question ci-dessus signifie : quel code ajouter à l'indicateur pour obtenir la trendvalue au lieu de la valeur errorcheck quand je l'appelle avec icustom().

salutations homi

 

Utilisation de iCustom pour obtenir la valeur de LSMA.

homicida:
tj pour la réponse :)

oh vous m'avez mal compris

c'est mon mauvais anglais ...désolé !

Normalement je sais comment appeler un indicateur avec icustom(),

mais quand j'essaie d'appeler l'indicateur de tendance LSMA, il me renvoie toujours la valeur "1", quelle que soit la tendance réelle, il renvoie toujours une valeur..... "1".

J'ai donc pensé que le 1 qu'il renvoie est une sorte de contrôle d'erreur qui renvoie vrai ou faux.

Mais j'ai besoin de savoir quelle est la tendance et je dois ajouter du code à l'indicateur qui me renvoie la valeur de la tendance et non la valeur du contrôle d'erreur.

et ma question ci-dessus signifie : quel code ajouter à l'indicateur pour récupérer la trendvalue au lieu de la valeur errorcheck quand je l'appelle avec icustom().

salue homi

Bonjour homi,

Je ne vous ai pas mal compris. Je vous ai donné un exemple de fonctionnement de iCustom.

Quoi qu'il en soit, voici une ligne de code qui permet d'obtenir la valeur du LSMA en utilisant iCustom.

Note : J'ai utilisé LSMA en couleur ()

Alert(iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

parmeter 1: le symbole - NULLpour le symbole actuel.

parmeter 2: time frame - 0 pour le time frame actuel.

parmeter 3: nom de l'indicateur - ici c'est"LSMA in Color".

parmeter 4: c'est un paramètre pour le LSMA - Rperiod= 14.

parmeter 5: c'est un paramètre pour le LSMA - Draw4HowLongg= 1500.

parmeter 6: le numéro de ligne (plage de 0 à 7) - habituellement utilisé 0.

parmeter 7: la barre de travail - 0 pour la barre actuelle.

Veuillez essayer cette ligne de code et me dire .

 

Bonjour

j'ai testé ,votre code fonctionne bien.....

mais cela ne résout pas le problème^^

J'ai obtenu la valeur de retour comme vous l'avez dit mais c'est toujours la même valeur, quelle que soit la tendance réelle, c'est toujours 214783647.

J'ai cherché la valeur dans le code de l'indicateur, il y a 3 tampons et le tampon qui contient le 214783647 est la tendance et non la valeur qui y est stockée.

comme

si le buffer1 contient le 214783647, cela signifie que la tendance est à la hausse, les 2 autres buffers contiennent quelque chose comme 174....

si le tampon 2 contient le 214783647, la tendance est à la baisse, les 2 autres tampons contiennent quelque chose comme 174...

Est-ce que cela pourrait causer le problème ?

salutations homi

 

214783647 signifie qu'il y a une erreur !

homicida:
Bonjour

je l'ai testé ,votre code fonctionne bien.....

mais cela ne résout pas le problème^^

J'ai obtenu la valeur de retour comme vous l'avez dit mais c'est toujours la même valeur, peu importe la tendance, c'est toujours 214783647.

J'ai cherché la valeur dans le code de l'indicateur, il y a 3 tampons et le tampon qui contient le 214783647 est la tendance et non la valeur qui y est stockée.

comme

si le buffer1 contient le 214783647, cela signifie que la tendance est à la hausse, les 2 autres buffers contiennent quelque chose comme 174....

si le tampon 2 contient le 214783647, la tendance est à la baisse, les 2 autres tampons contiennent quelque chose comme 174...

Est-ce que cela pourrait causer le problème ?

salue homi

Bonjour homi,

Je pense qu'il y a une erreur dans votre appel iCustom.

Quoi qu'il en soit, voici le code qui appellera iCustom du LSMA pour retourner la valeur de ses 3 lignes.

Note 1: Les valeurs des 3 lignes sont les mêmes car le LSMA est un indicateur de couleur (si vous voulez en savoir plus demandez moi)

Note 2: 214783647 est une erreur. J'ai inclus dans l'exemple de démonstration quelques lignes de code qui retourneront la même erreur pour que ce soit plus clair pour vous.

//+------------------------------------------------------------------+

//| iCustom_Demo.mq4 |

//| Coders' Guru. |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int counted_bars=IndicatorCounted();

//----

Alert("Line3 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,2,0));

Alert("Line1 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,0,0));

Alert("Line2 on LSMA is: " + iCustom(NULL,0,"LSMA in Color",14,1500,1,0));

//Some mis-typed iCustom calls which will return:

//Wrong LSMA parameter

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",0,1500,0,0));

//Wrong line number

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",14,1500,3,0));

//Wrong Bar number

Alert("This is an error " + iCustom(NULL,0,"LSMA in Color",14,1500,3,counted_bars));

//----

return(0);

}

//+------------------------------------------------------------------+
Dossiers :
 

Encore une fois, bonjour :D

OK, je suis vaincu par l'indicateur lol :)

je n'arrive pas à le faire fonctionner comme je le veux

Vous dites que c'est un indicateur de couleur, qu'est-ce que cela signifie ?

et la chose la plus importante est comment puis-je obtenir l'état actuel de celui-ci ?

je n'obtiens toujours qu'un nombre filaire qui ressemble à une version arrondie du prix de clôture sur les trois lignes, même avec votre démo non modifiée (indicateur et démo).

Qu'est-ce qui me manque ?

comment puis-je convertir la sortie en une simple chaîne "verte" "rouge" "jaune" ?

salutations

homi stressé

 

Aidez-moi s'il vous plaît !

homicida:
ok je suis vaincu par l'indicateur lol :)

Je n'arrive pas à le faire fonctionner comme je le voudrais

Vous dites que c'est un indicateur de couleur, qu'est-ce que cela signifie ?

et la chose la plus importante est comment puis-je obtenir l'état actuel de celui-ci ?

je n'obtiens toujours qu'un nombre filaire qui ressemble à une version arrondie du prix de clôture sur les trois lignes, même avec votre démo non modifiée (indicateur et démo).

Qu'est-ce qui me manque ?

comment puis-je convertir la sortie en une simple chaîne "verte" "rouge" "jaune" ?

salutations

homi stressé

Salut homi stressé

Avez-vous essayé la démo et obtenez toujours des chiffres erronés ?

Pourriez-vous me dire les alertes que vous avez ? c'est ce que j'ai (il y a 2 minutes)

Dossiers :
icustom.jpg  29 kb
 

ressemble exactement aux résultats que j'ai obtenus.

mais quelles sont ces valeurs ?

salutations homi

p.s

est-ce que quelqu'un d'autre a le brplem que strategybuilder ne met pas à jour les graphiques ?

 
homicida:
ressemble exactement aux résultats que j'ai obtenus.

mais quelles sont ces valeurs ?

salue homi

homi,

Alerte ligne 1 : est la valeur du premier tampon ou LSMA(ExtMapBuffer1)

Alerte ligne 2 : est la valeur du deuxième tampon ou LSMA(ExtMapBuffer2)

Ligne 3 Alerte : est la valeur du troisième tampon ou LSMA(ExtMapBuffer3)

Ensuite, j'ai écrit trois appels d'iCustoms avec des paramètres intentionnellement faux pour vous montrer ce qui est probablement faux dans votre appel d'iCustom.

Pourriez-vous me dire exactement ce que vous voulez faire ? Je peux peut-être vous aider !

 

oh la seule chose que je veux c'est l'appeler et récupérer la tendance actuelle.

Comme "1" pour la hausse, "2" pour la baisse et "3" pour le côté.

C'est ce que j'essaie de faire.

Parce que votre code fonctionne bien.

Je sais que mon principal problème est le manque de connaissance de l'indicateur.

donc je ne peux pas interpréter les valeurs de retour de la bonne manière.

Mais je n'arrive pas à trouver d'informations à ce sujet.

salutations homi