Aide pour comprendre 1 indicateur d’ Ivan Gonzalez

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #239771 quote
    4801
    Participant
    Junior

    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 quote
    Iván González
    Moderator
    Master

    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 :

    if trend > 0 and smin < smin[1] then
        smin = smin[1]
    endif
    
      • 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 :

    elsif trend < 0 and smax > smax[1] then
        smax = smax[1]
    endif
    
    • 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.

    plbourse thanked this post
    #239824 quote
    4801
    Participant
    Junior

    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)
  • You must be logged in to reply to this topic.

Aide pour comprendre 1 indicateur d’ Ivan Gonzalez


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
4801 @4801 Participant
Summary

This topic contains 2 replies,
has 2 voices, and was last updated by 4801
1 year, 4 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 10/30/2024
Status: Active
Attachments: No files
Logo Logo
Loading...