Aide au codage - page 154

 

Re

Je veux essayer d'avoir un résultat pour 3 moyennes de lignes j'ai codé cela mais ça ne marche pas quelqu'un peut-il m'aider ? Merci pour votre réponse !

#property copyright ""

#property link ""

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Yellow

//---- paramètres d'entrée

extern int length = 14 ;

extern int length2 = 21 ;

extern int lenght3 =38 ;

double ExtMapBuffer1[] ;

int ExtCountedBars=0 ;

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

//| Fonction d'initialisation de l'indicateur personnalisé |

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

int init()

{

//---- indicateurs

SetIndexStyle(0,DRAW_LINE) ;

SetIndexBuffer(0,ExtMapBuffer1) ;

//----

return(0) ;

}

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

//| Fonction personnalisée de désinitialisation de l'indicateur |

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

int deinit()

{

//----

//----

return(0) ;

}

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

//| Fonction d'itération de l'indicateur personnalisée |

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

int start()

{

if(Bars<=1) return(0) ;

ExtCountedBars=IndicateurCounted() ;

//---- vérifier les erreurs éventuelles

if (ExtCountedBars<0) return(-1) ;

//---- dernière barre comptée sera recomptée

if (ExtCountedBars>0) ExtCountedBars-- ;

int pos=Bars-1 ;

si(ExtCountedBars>1) pos=Bars-ExtCountedBars-1 ;

//---- boucle de calcul principale

while(pos>=0)

{

double median = (iCustom(NULL,0, "indicateur1",length,0,pos)+

iCustom(NULL,0, "indicateur2",longueur2,0,pos)+

iCustom(NULL,0, "indicator3",length3,0,pos))/3.0 ;

}

return(median) ;

}

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

 
bixwin:
Je veux essayer d'avoir le résultat pour des moyennes de 3 lignes j'ai codé cela mais ça ne marche pas quelqu'un peut-il m'aider ?

#property copyright ""

#property link ""

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Yellow

//---- paramètres d'entrée

extern int length = 14 ;

extern int length2 = 21 ;

extern int lenght3 =38 ;

double ExtMapBuffer1[] ;

int ExtCountedBars=0 ;

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

//| Fonction d'initialisation de l'indicateur personnalisé |

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

int init()

{

//---- indicateurs

SetIndexStyle(0,DRAW_LINE) ;

SetIndexBuffer(0,ExtMapBuffer1) ;

//----

return(0) ;

}

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

//| Fonction personnalisée de désinitialisation de l'indicateur |

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

int deinit()

{

//----

//----

return(0) ;

}

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

//| Fonction d'itération de l'indicateur personnalisée |

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

int start()

{

if(Bars<=1) return(0) ;

ExtCountedBars=IndicateurCounted() ;

//---- vérifier les erreurs éventuelles

if (ExtCountedBars<0) return(-1) ;

//---- dernière barre comptée sera recomptée

if (ExtCountedBars>0) ExtCountedBars-- ;

int pos=Bars-1 ;

si(ExtCountedBars>1) pos=Bars-ExtCountedBars-1 ;

//---- boucle de calcul principale

while(pos>=0)

{

double median = (iCustom(NULL,0, "indicateur1",length,0,pos)+

iCustom(NULL,0, "indicateur2",longueur,,0,pos)+

iCustom(NULL,0, "indicator3",length,0,pos))/3.0 ;

}

return(median) ;

}

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

bixwin

J'ai déjà posté une question : quels sont les noms exacts des indicateurs personnalisés que vous souhaitez utiliser dans le calcul (je veux dire, ils ne s'appellent pas "indicateur1", "indicateur2" et "indicateur3", n'est-ce pas) ?

Vous devez remplacer ces noms par les noms exacts des indicateurs que vous souhaitez utiliser dans un appel à iCustom(), sinon cela ne fera rien. Aussi, votre fonction de démarrage devrait ressembler à ceci (encore une fois, vous devez remplacer les noms par des noms réels) :

int start()

{

if(Bars<=1) return(0);

int ExtCountedBars=IndicatorCounted();

if (ExtCountedBars<0) return(-1);

if (ExtCountedBars>0) ExtCountedBars--;

int pos=Bars-1;

if(ExtCountedBars>1) pos=Bars-ExtCountedBars-1;

while(pos>=0)

{

ExtMapBuffer1[pos] = (iCustom(NULL,0,"indicator1",length,0,pos)+

iCustom(NULL,0,"indicator2",length,0,pos)+

iCustom(NULL,0,"indicator3",length,0,pos))/3.0;

}

return(0);

}
 

Merci Mladen, Le nom exact est "indicateur1" pour le premier indicateur, "indicateur2" pour le second et enfin "indicateur3" pour le dernier. C'est ce que vous voulez ?

 
bixwin:
Merci Mladen, le nom exact est "indicateur1" pour le premier indicateur, "indicateur2" pour le second et enfin "indicateur3" pour le dernier. C'est ce que vous voulez ?

bixwin

S'il vous plaît voir le code pour la fonction de démarrage dans le post précédent de la mienne

 

Merci Mladen pour votre réponse rapide,

mais ça ne marche pas,

Je pense que la fonction de démarrage n'est pas bonne.

Pouvez-vous poster un exemple de 3 indicateurs personnalisés?

 
bixwin:
Merci Mladen pour votre réponse rapide,

ça ne marche pas,

Je pense que la fonction de démarrage n'est pas bonne.

Pouvez-vous poster un exemple de 3 indicateurs personnalisés ?

bixwind,

Je ne sais pas ce que font les indicateurs "indicator1", "indicator2" et "indicator3". J'ai créé ces indicateurs qui ne calculent qu'une moyenne mobile et je les ai utilisés dans l'indicateur _test (qui fait le calcul de la médiane à partir duquel vous avez commencé) et cela fonctionne bien (voir comment cela se présente sur le terminal). Donc, si les paramètres de vos indicateurs personnalisés sont corrects, cela devrait fonctionner correctement, puisque l'indicateur de test fonctionne également correctement.

Dossiers :
_test.mq4  1 kb
test.gif  41 kb
 

Merci beaucoup Mladen, ça marche ! !!

 

Bonjour, je suis un peu nouveau dans le codage de mt4 et j'ai besoin d'aide.

Comment afficher la devise et l'étiquette de l'horizon temporel comme ceci dans le coin inférieur gauche ?

L'étiquette de la fenêtre temporelle changera également si je passe d'une autre fenêtre temporelle à une autre.

Dossiers :
eu1.png  64 kb
eu2.png  43 kb
 
cawat:
Bonjour, je suis un peu nouveau dans le codage de mt4 et j'ai besoin d'aide.

Comment afficher la devise et l'étiquette de l'horizon temporel comme celles-ci dans le coin inférieur gauche ?

L'étiquette de l'image temporelle change également si je passe d'une autre image temporelle à une autre.

cawat

Celui-ci le fera. Vous pouvez spécifier diverses propriétés de l'étiquette du symbole temporel en utilisant des paramètres.

Dossiers :
 
mladen:
Marco, en ce qui concerne la construction de l'EA - voir ces fils de discussion

: https://www.mql5.com/en/forum/173136 https://www.mql5.com/en/forum/173171

Cher MLaden,

Merci pour votre aide, restez en contact.

Salutations Marco