Aide pour comprendre 1 indicateur d’ Ivan Gonzalez

Forums ProRealTime forum Français Support ProBuilder Aide pour comprendre 1 indicateur d’ Ivan Gonzalez

  • This topic has 2 replies, 2 voices, and was last updated 4 days ago by avatar4801.
Viewing 3 posts - 1 through 3 (of 3 total)
  • #239771

    Bonjour à tous,

    Ivan Gonzalez que je remercie a écrit le code qui suit et je ne comprends pas les lignes qui suivent. Pouvez vous m’ aider, quelque chose m’ échappe. Merci.

    //————————————————-

    if trend>0 and smin < smin[1] then              La moyenne mobile smin décroit, sa valeur diminue
    smin=smin[1]                                                        Comment peut on alors avoir :  smin=smin[1]  
    elsif trend<0 and smax > smax[1] then       Même chose pour smax qui est croissante, sa valeur augmente
    smax=smax[1]                                                        Comment peut on alors avoir :  smax=smax[1] 

    //PRC_TrendEnvelopes
    //version = 0
    //19.06.2024
    //Iván González @ http://www.prorealcode.com
    //Sharing ProRealTime knowledge
    //—–Inputs——————————————————-//
    period=21
    type=1
    colorcandles=1
    //—–Moving averages———————————————-//
    smax=average[period,type](high)
    smin=average[period,type](low)
    //—–Trend calculation——————————————–//
    once trend=undefined
    if close > smax[1] then
    trend=1
    elsif close < smin[1] then
    trend=-1
    endif
    //—–Trail calculation——————————————–//
    once mytrail=undefined

    if trend>0 and smin < smin[1] then
    smin=smin[1]
    elsif trend<0 and smax > smax[1] then
    smax=smax[1]
    endif

    if trend=1 then
    mytrail=smin
    r=0
    g=255
    b=0
    if trend[1]<>1 then
    drawpoint(barindex,mytrail,2)coloured(“blue”)
    endif
    elsif trend=-1 then
    mytrail=smax
    r=255
    g=0
    b=0
    if trend[1]<>-1 then
    drawpoint(barindex,mytrail,2)coloured(“blue”)
    endif
    endif
    //—–Color Candles————————————————//
    //if colorcandles then
    //drawcandle(open,high,low,close)coloured(r,g,b)
    //endif
    return mytrail coloured(r,g,b)style(line,2)

    #239799

    Bonjour,

    Je vais vous expliquer les lignes de code qui vous posent des questions afin de vous aider à comprendre la logique derrière elles.

    Explication du code

    1.Première condition if pour smin :

      • Cette instruction vérifie si la tendance est positive (trend > 0) et si la valeur actuelle de smin est inférieure à celle de la période précédente (smin < smin[1]).
      • Si ces deux conditions sont vraies, smin prend la valeur de smin[1], c’est-à-dire la valeur de la période précédente.
      • Pourquoi faire cela ? : Ce mécanisme permet de maintenir smin constant dans des situations de tendance haussière lorsque la moyenne mobile commence à diminuer. Cela empêche smin de prendre des valeurs plus basses, permettant ainsi à la ligne de tendance de rester inchangée dans ce contexte de tendance positive.

    2. Deuxième condition elsif pour smax :

    • Cette instruction vérifie si la tendance est négative (trend < 0) et si la valeur actuelle de smax est supérieure à celle de la période précédente (smax > smax[1]).
    • Si ces deux conditions sont vraies, smax prend la valeur de smax[1], c’est-à-dire la moyenne mobile de la période précédente.
    • Pourquoi faire cela ? : De manière similaire à smin, cette logique assure que smax ne monte pas dans un contexte de tendance baissière. Ainsi, dans une tendance descendante, si smax commence à augmenter, le code force smax à rester au niveau précédent.

    Conclusion

    Cette logique est un moyen de “lissage” qui garantit que, dans une tendance spécifique (haussière ou baissière), smin ou smax ne prennent pas des valeurs qui contrediraient la direction de la tendance actuelle.

    1 user thanked author for this post.
    #239824

    Un grand merci à Yvan dont le code fonctionne très bien pour moi sur le Dow Jones, time frame de 4 ou 6 heures.

    Je ne connaissais pas cette technique de lissage. Bonne journée à toute la communauté.

Viewing 3 posts - 1 through 3 (of 3 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login