Aide au codage - page 58

 

style de peinture mtf

Salut les gars,

Je me demande si vous pouvez réparer ce problème pour que la peinture continue à ressembler à ce qu'elle est lorsque vous la chargez pour la première fois sur un graphique, avec un lev plat pour chaque barre htf ?

Au lieu de devenir tout ondulé après son chargement.

c'est à dire chaque niveau à la clôture de la barre ou un rafraîchissement par une division temporelle du htf ?

Cet indicateur vient de TSD mais je ne connais pas le terme pour rechercher cette façon de peindre les htf si cela a déjà été fait.

merci et bon trading

Dossiers :
 

Utilisez celui-ci. Vous n'aurez aucun de ces problèmes avec elle.

Passez un bon week-end

zigflip:
Salut les gars,

pouvez-vous corriger cela pour qu'il continue à peindre comme il le fait lorsque vous le chargez pour la première fois sur un graphique, avec un lev plat pour chaque barre htf ?

au lieu de devenir tout ondulé après son chargement.

c'est à dire chaque niveau à la clôture de la barre ou un rafraîchissement par une division temporelle du htf ?

Je ne suis pas sûr que ce soit un bon indicateur, mais je ne connais pas le terme à utiliser pour rechercher cette façon de peindre les mtf si cela a déjà été fait.

merci et bon trading
Dossiers :
 
mladen:
Utilisez celui-ci. Vous n'aurez aucun de ces problèmes avec elle. Bon week-end

tu es le meilleur !

 

Merci. Est-ce un EA ou un indicateur ?

 
zigflip:
Vous êtes le meilleur !

Bonjour Zigflip - J'ai deux indicateurs que j'aimerais programmer dans un EA, pouvez-vous m'aider ? Merci d'avance.

 

indicateur personnalisé

Bonjour les amis,

j'ai essayé de faire mon propre indicateur personnalisé, mais je n'arrive pas à le compiler. l'indicateur est censé dessiner les niveaux de support et de résistance h8 dans n'importe quel graphique inférieur à 8 heures. je prévoyais de l'utiliser sur l'échelle de temps 1m car je suis fatigué de le faire manuellement et aussi je voulais en faire une ea. j'ai gagné beaucoup de pips sans perte donc je pense que ce sera un bon outil. s'il vous plaît dites-moi ce que je fais mal et réparez-le si vous voulez.

Merci

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

//| res1 8 hr.mq4 |

//| Copyright 2012, MetaQuotes Software Corp. |

//| Cway |

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

#property copyright "Copyright 2012, MetaQuotes Software Corp."

#property link"Cway"

#property indicator_chart_window

#property indicator_buffers 7

#property indicator_color1 MediumBlue //---- couleur de l'indicateur

#property indicator_color2 DarkGreen //---- couleur de l'indicateur

#property indicator_color3 FireBrick //---- couleur de l'indicateur

#property indicator_color4 DarkGreen //---- couleur de l'indicateur

#property indicator_color5 FireBrick //---- couleur de l'indicateur

#property indicator_color6 DarkGreen //---- couleur de l'indicateur

#property indicator_color7 FireBrick //---- couleur de l'indicateur

double Buf_0[],Buf_1[],Buf_2[],Buf_3[],Buf_4[],Buf_5[],Buf_6[] ; //---- ligne d'indicateur déclarée

//----

int init()

{

SetIndexBuffer (0,Buf_0);//---- ligne d'indicateurs assignée

SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);//---- style de ligne des indicateurs

SetIndexBuffer (1,Buf_1);//---- indicateurs d'affectation de ligne

SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (2,Buf_2);//---- ligne d'indicateurs assignés

SetIndexStyle (2,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (3,Buf_3);//---- ligne d'indicateurs assignée

SetIndexStyle (3,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (4,Buf_4);//---- ligne d'indicateurs assignés

SetIndexStyle (4,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (5,Buf_5);//---- ligne d'indicateurs assignée

SetIndexStyle (5,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (6,Buf_6);//---- ligne d'indicateurs assignée

SetIndexStyle (6,DRAW_LINE,STYLE_SOLID,1) ;

retour ;

//----

}

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

//| 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 (Period() > 480) return(0) ; //Chart ne peut pas être supérieur à H8

int counted_bars=IndicatorCounted() ;

si (counted_bars >0) counted_bars-- ;

int limit=Bars-counted_bars ;

for (int i = limite-1 ; i>=0 ; i--)

int period = MathCeil(480 / Period()) ; //Temps pour dessiner à partir de H8

double prevH=0, prevC=0, prevO=0,prevL=0

prevO = Open ;

prevC = Close ;

prevH = High ;

prevL = Low [Lowest (NULL, 0, MODE_LOW, period, i+1)] ;

{double X = (prevC < prevO -- prevH + (prevL*2) + prevC) ;

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

si X =( prevC > prevO -- ((prevH*2) + prevL + prevC)) ; {

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

if else X = (prevC = prevO -- ((prevH) + prevL + (prevC*2)) ;

Buf_3= X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

}

}

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

retour(0) ;

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

 

Shift bar pour indicateur personnalisé dans des fenêtres séparées

J'ai un problème quand j'ajoute l'option shift pour l'indicateur, il montre un nombre de valeur minime quand je mets la merde en valeur négative.

Comment coder l'indicateur pour qu'il se déplace avec la barre actuelle dans laquelle on peut définir à la fois un nombre plus et moins.

 

cway

A quoi servent des lignes comme celle-ci : double X = (prevC < prevO -- prevH + (prevL*2) + prevC)?

Pour commencer, vous devrez les réécrire pour vous conformer aux règles de codage mql.

cway:
Bonjour les amis,

j'ai essayé de faire mon propre indicateur personnalisé, mais je n'arrive pas à le compiler. l'indicateur est censé dessiner les niveaux de support et de résistance h8 dans n'importe quel graphique inférieur à 8 heures. je prévoyais de l'utiliser sur l'échelle de temps 1m car je suis fatigué de le faire manuellement et aussi je voulais en faire une ea. j'ai gagné beaucoup de pips sans perte donc je pense que ce sera un bon outil. s'il vous plaît dites-moi ce que je fais mal et corrigez-le si vous voulez.

Merci

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

//| res1 8 hr.mq4 |

//| Copyright 2012, MetaQuotes Software Corp. |

//| Cway |

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

#property copyright "Copyright 2012, MetaQuotes Software Corp."

#property link"Cway"

#property indicator_chart_window

#property indicator_buffers 7

#property indicator_color1 MediumBlue //---- couleur de l'indicateur

#property indicator_color2 DarkGreen //---- couleur de l'indicateur

#property indicator_color3 FireBrick //---- couleur de l'indicateur

#property indicator_color4 DarkGreen //---- couleur de l'indicateur

#property indicator_color5 FireBrick //---- couleur de l'indicateur

#property indicator_color6 DarkGreen //---- couleur de l'indicateur

#property indicator_color7 FireBrick //---- couleur de l'indicateur

double Buf_0[],Buf_1[],Buf_2[],Buf_3[],Buf_4[],Buf_5[],Buf_6[] ; //---- ligne d'indicateur déclarée

//----

int init()

{

SetIndexBuffer (0,Buf_0);//---- ligne d'indicateurs assignée

SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);//---- style de ligne des indicateurs

SetIndexBuffer (1,Buf_1);//---- indicateurs d'affectation de ligne

SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (2,Buf_2);//---- ligne d'indicateurs assignés

SetIndexStyle (2,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (3,Buf_3);//---- ligne d'indicateurs assignée

SetIndexStyle (3,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (4,Buf_4);//---- ligne d'indicateurs assignés

SetIndexStyle (4,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (5,Buf_5);//---- ligne d'indicateurs assignée

SetIndexStyle (5,DRAW_LINE,STYLE_SOLID,1) ;

SetIndexBuffer (6,Buf_6);//---- ligne d'indicateurs assignée

SetIndexStyle (6,DRAW_LINE,STYLE_SOLID,1) ;

retour ;

//----

}

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

//| 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 (Period() > 480) return(0) ; //Chart ne peut pas être supérieur à H8

int counted_bars=IndicatorCounted() ;

si (counted_bars >0) counted_bars-- ;

int limit=Bars-counted_bars ;

for (int i = limite-1 ; i>=0 ; i--)

int period = MathCeil(480 / Period()) ; //Temps pour dessiner à partir de H8

double prevH=0, prevC=0, prevO=0,prevL=0

prevO = Open ;

prevC = Close ;

prevH = High ;

prevL = Low [Lowest (NULL, 0, MODE_LOW, period, i+1)] ;

{double X = (prevC < prevO -- prevH + (prevL*2) + prevC) ;

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

si X =( prevC > prevO -- ((prevH*2) + prevL + prevC)) ; {

Buf_3 = X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

if else X = (prevC = prevO -- ((prevH) + prevL + (prevC*2)) ;

Buf_3= X /2 - prevL ;

Buf_2 = X /4 - prevL ;

Buf_1 = X /6 - prevL ;

Buf_0 = X /8 - prevL ;

Buf_4 = X /6 - prevH ;

Buf_5 = X /4 - prevH ;

Buf_6 = X /2 - prevH ;

}

}

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

return(0) ;

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

Préméus

C'est normal : en appliquant le shift négatif, vous déplacez tout dans le passé, et comme vous ne connaissez pas les valeurs futures, il doit rester un écart de valeurs non classées dans la partie la plus à droite de votre graphique.

Premeus:
J'ai un problème quand j'ajoute l'option shift pour l'indicateur, il montre un nombre de valeur minime quand j'ai mis la merde en valeur négative. Comment coder l'indicateur pour qu'il se décale avec la barre courante dans laquelle on peut mettre à la fois le nombre plus et le nombre moins.
 

Mon indicateur

Merci, mladen.

Comme dans l'image, y a-t-il une autre méthode pour entrer dans l'indicateur de changement de vitesse spécifique comme je le montre dans l'image.

Merci d'avance.

Dossiers :
shift_bars.png  10 kb
Raison: