REGRESSION LINEAIRE + FIBONACCI

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #232803 quote
    supertiti
    Participant
    Master
    //PRC_Std and Ste LinRegChannel | indicator
    //Standard Deviation and Standard Error
    //Linear Regression Channel
    //12.03.2019
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    
    defparam drawonlastbaronly=true
    defparam calculateonlastbars=1000
    // --- settings
    //lookback= 200 //channel period
    //ChannelType = 1 //1= Standard Deviation ; 2= Standard Erro
    //NbDeviation = 1 //Deviation multiplier
    //colorRed = 255
    //colorGreen = 255
    //colorBlue = 0
    // --- end of settings
    
    sumx = 0
    sumy = 0
    sumxy = 0
    sumx2 = 0
    
    for cmpt = lookback downto 0 do
    tmpx = cmpt
    tmpy = close[cmpt]
    sumy = sumy+tmpy
    sumx = sumx+tmpx
    sumx2 = sumx2 + (tmpx*tmpx)
    sumxy = sumxy + (tmpy*tmpx)
    next
    
    n = lookback+1
    
    if (sumx2 = sumx * sumx) then // protection to avoid infinite values
    b = sumxy - sumx * sumy
    else
    b = (n * sumxy - sumx * sumy) / (n * sumx2 - sumx * sumx)
    endif
    a = (sumy - b * sumx) / n
    
    drawsegment(barindex[lookback],a+b*lookback,barindex,a+b*0) coloured(colorRed,colorGreen,colorBlue)
    /////////////////////////////////////////
    
    //channel
    if ChannelType = 1 then //Standard Deviation
    dat = std[lookback]*NbDeviation
    else
    dat = ste[lookback]*NbDeviation
    endif
    ///////////////////////////////////////////////////
    
    drawsegment(barindex[lookback],(a+b*lookback)+dat,barindex,a+b*0+dat) coloured(colorRed,colorGreen,colorBlue)
    drawsegment(barindex[lookback],(a+b*lookback)-dat,barindex,a+b*0-dat) coloured(colorRed,colorGreen,colorBlue)
    
    return customclose as "customclose"
    

    Bonjour à tous,

    Après recherche sur le site j’ai trouvé ce code crée par Nicolas sur un canal de régression linéaire, j’aimerai le transformer à partir de la ligne principale

    et y ajouter les ratios de Fibonacci au dessus et en dessous (23.6-50-61.8-76.4) en place des lignes existantes.

    Merci à qui voudra bien aider.

    Bonne journée

    Air-liquide.jpg Air-liquide.jpg
    #232817 quote
    Iván González
    Moderator
    Master

    Hola, tu réponds à cela ?

    defparam drawonlastbaronly=true
    defparam calculateonlastbars=1000
    // --- settings
    lookback= 200
    // --- end of settings
    x1=barindex[lookback]
    y1=lowest[lookback](low)
    x2=barindex
    y2=highest[lookback](high)
    drawsegment(x1,y1,x2,y1) coloured("black")
    drawsegment(x1,y2,x2,y2) coloured("black")
    //------------
    fibTotal=y2-y1
    lev236=y2-(fibTotal*0.236)
    lev382=y2-(fibTotal*0.382)
    lev50=y2-(fibTotal*0.500)
    lev618=y2-(fibTotal*0.618)
    //-------------
    drawsegment(x1,lev236,x2,lev236) coloured("black")style(dottedline2)
    drawsegment(x1,lev382,x2,lev382) coloured("black")style(dottedline2)
    drawsegment(x1,lev50,x2,lev50) coloured("blue")style(dottedline2)
    drawsegment(x1,lev618,x2,lev618) coloured("red")style(dottedline2)
    return
    #232833 quote
    supertiti
    Participant
    Master

    Bonsoir Ivan,

    Merci pour le code mais il ne correspond pas du tout à ce que je souhaite , j’aimerais avoir des lignes parallèles à la RL principale à 23.6%,38.2% etc au dessus et en dessous de cette Regression Linéaire principale.

    je joins une photo du code fourni

    hasta pronto amigo !

    IVAN-RL.jpg IVAN-RL.jpg
    #232846 quote
    Iván González
    Moderator
    Master

    D'accord. Donc, si nous pouvons faire le niveau 0% de la ligne supérieure du canal et le niveau 100% de la ligne inférieure, le code tendra à être le suivant :

    //PRC_Std and Ste LinRegChannel | indicator
    //Standard Deviation and Standard Error
    //Linear Regression Channel
    //12.03.2019
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    
    defparam drawonlastbaronly=true
    defparam calculateonlastbars=1000
    // --- settings
    lookback= 200 //channel period
    ChannelType = 1 //1= Standard Deviation ; 2= Standard Erro
    NbDeviation = 1 //Deviation multiplier
    colorRed = 255
    colorGreen = 255
    colorBlue = 0
    // --- end of settings
    
    sumx = 0
    sumy = 0
    sumxy = 0
    sumx2 = 0
    
    for cmpt = lookback downto 0 do
    tmpx = cmpt
    tmpy = close[cmpt]
    sumy = sumy+tmpy
    sumx = sumx+tmpx
    sumx2 = sumx2 + (tmpx*tmpx)
    sumxy = sumxy + (tmpy*tmpx)
    next
    
    n = lookback+1
    
    if (sumx2 = sumx * sumx) then // protection to avoid infinite values
    b = sumxy - sumx * sumy
    else
    b = (n * sumxy - sumx * sumy) / (n * sumx2 - sumx * sumx)
    endif
    a = (sumy - b * sumx) / n
    /////////////////////////////////////////
    
    //channel
    if ChannelType = 1 then //Standard Deviation
    dat = std[lookback]*NbDeviation
    else
    dat = ste[lookback]*NbDeviation
    endif
    ///////////////////////////////////////////////////
    drawsegment(barindex[lookback],(a+b*lookback)+dat,barindex,a+b*0+dat) coloured(colorRed,colorGreen,colorBlue)//0%
    drawsegment(barindex[lookback],(a+b*lookback)+0.528*dat,barindex,a+b*0+0.528*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("orange")//23.6%
    drawsegment(barindex[lookback],(a+b*lookback)+0.236*dat,barindex,a+b*0+0.236*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")//38.2%
    drawsegment(barindex[lookback],a+b*lookback,barindex,a+b*0) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("blue")//50%
    drawsegment(barindex[lookback],(a+b*lookback)-0.236*dat,barindex,a+b*0-0.236*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")//61.8%
    drawsegment(barindex[lookback],(a+b*lookback)-dat,barindex,a+b*0-dat) coloured(colorRed,colorGreen,colorBlue)//100%
    
    return customclose as "customclose"
    #232875 quote
    supertiti
    Participant
    Master

    Hola Ivan,

    Eso no es el codigo que quiero , lo siento.

    Je te joins l’image de ton dernier code et l’image de ce que je souhaite, j’ai du mal m’exprimer.

    Voyons cette fois çi

    merci pour ta patience.

    Te adjunto la imagen de tu último código y la imagen de lo que quiero, tengo problemas para expresarme. Veamos esta vez gracias por su paciencia.

    Code-2-Ivan.jpg Code-2-Ivan.jpg code-souhaite-DID.jpg code-souhaite-DID.jpg
    #233199 quote
    supertiti
    Participant
    Master

    Bonjour Ivan,

    Je crois que tu m’a oublié au milieu de ta masse de travail importante.

    J’ai vu que tu as créer récemment un code pour Gustavobp avec une moyenne et des Fibonacci au dessus et en dessous, c’est ce que je souhaiterais

    en partant d’une droite de régression linéaire, vu de ma fenêtre cela semble possible?

    merci de me dire si c’est jouable ou pas.

    je joins un graphe pour illustrer ma demande.

    bonne journée.

    code-souhaite-DID-1.jpg code-souhaite-DID-1.jpg
    #233208 quote
    Iván González
    Moderator
    Master

    Holà. Je ne m'en suis pas rendu compte… Simplement, je demande aux intentions de changer les multiplicateurs de suffire.

    drawsegment(barindex[lookback],(a+b*lookback)+dat,barindex,a+b*0+dat) coloured(colorRed,colorGreen,colorBlue)
    drawsegment(barindex[lookback],(a+b*lookback)+0.618*dat,barindex,a+b*0+0.618*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")
    drawsegment(barindex[lookback],(a+b*lookback)+0.5*dat,barindex,a+b*0+0.5*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")
    drawsegment(barindex[lookback],(a+b*lookback)+0.382*dat,barindex,a+b*0+0.382*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")
    drawsegment(barindex[lookback],(a+b*lookback)+0.382*dat,barindex,a+b*0+0.236*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")
    drawsegment(barindex[lookback],a+b*lookback,barindex,a+b*0) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("blue")
    drawsegment(barindex[lookback],(a+b*lookback)-0.236*dat,barindex,a+b*0-0.236*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")
    drawsegment(barindex[lookback],(a+b*lookback)-0.382*dat,barindex,a+b*0-0.382*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")
    drawsegment(barindex[lookback],(a+b*lookback)-0.5*dat,barindex,a+b*0-0.5*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")
    drawsegment(barindex[lookback],(a+b*lookback)-0.618*dat,barindex,a+b*0-0.618*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")
    drawsegment(barindex[lookback],(a+b*lookback)-dat,barindex,a+b*0-dat) coloured(colorRed,colorGreen,colorBlue)
    #233270 quote
    supertiti
    Participant
    Master

    Hola Ivan,

    Muchas gracias por el codigo, il y a une petite faute dans ton dernier post ligne 54 : on doit remplacer 0.382 par 0.236, sinon le code est top

    ce que je souhaitais, j’espère qu’ils profitera à la communauté.

    bonne journée à tous.

     

     

    //PRC_Std and Ste LinRegChannel  indicator
    //Standard Deviation and Standard Error
    //Linear Regression Channel //12.03.2019
    //Nicolas @ www.prorealcode.com //Sharing ProRealTime knowledge
    // Modifié par IVAN le 30.05.2024 (Fibo)
    
    
    defparam drawonlastbaronly=true
    defparam calculateonlastbars=1000
    // --- settings
    lookback= 200 //channel period
    ChannelType = 1 //1= Standard Deviation ; 2= Standard Erro
    NbDeviation = 1 //Deviation multiplier
    colorRed = 255
    colorGreen = 255
    colorBlue = 0
    // --- end of settings
     
    sumx = 0
    sumy = 0
    sumxy = 0
    sumx2 = 0
     
    for cmpt = lookback downto 0 do
    tmpx = cmpt
    tmpy = close[cmpt]
    sumy = sumy+tmpy
    sumx = sumx+tmpx
    sumx2 = sumx2 + (tmpx*tmpx)
    sumxy = sumxy + (tmpy*tmpx)
    next
     
    n = lookback+1
     
    if (sumx2 = sumx * sumx) then // protection to avoid infinite values
    b = sumxy - sumx * sumy
    else
    b = (n * sumxy - sumx * sumy) / (n * sumx2 - sumx * sumx)
    endif
    a = (sumy - b * sumx) / n
    /////////////////////////////////////////
     
    //channel
    if ChannelType = 1 then //Standard Deviation
    dat = std[lookback]*NbDeviation
    else
    dat = ste[lookback]*NbDeviation
    endif
    
    drawsegment(barindex[lookback],(a+b*lookback)+dat,barindex,a+b*0+dat) coloured(colorRed,colorGreen,colorBlue)
    drawsegment(barindex[lookback],(a+b*lookback)+0.618*dat,barindex,a+b*0+0.618*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")
    drawsegment(barindex[lookback],(a+b*lookback)+0.5*dat,barindex,a+b*0+0.5*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")
    drawsegment(barindex[lookback],(a+b*lookback)+0.382*dat,barindex,a+b*0+0.382*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")
    drawsegment(barindex[lookback],(a+b*lookback)+0.236*dat,barindex,a+b*0+0.236*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("green")
    drawsegment(barindex[lookback],a+b*lookback,barindex,a+b*0) coloured(colorRed,colorGreen,colorBlue)style(dottedline,5)coloured("blue")
    drawsegment(barindex[lookback],(a+b*lookback)-0.236*dat,barindex,a+b*0-0.236*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")
    drawsegment(barindex[lookback],(a+b*lookback)-0.382*dat,barindex,a+b*0-0.382*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")
    drawsegment(barindex[lookback],(a+b*lookback)-0.5*dat,barindex,a+b*0-0.5*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")
    drawsegment(barindex[lookback],(a+b*lookback)-0.618*dat,barindex,a+b*0-0.618*dat) coloured(colorRed,colorGreen,colorBlue)style(dottedline,2)coloured("red")
    drawsegment(barindex[lookback],(a+b*lookback)-dat,barindex,a+b*0-dat) coloured(colorRed,colorGreen,colorBlue)
    
    Return
    
    RLFIBO-ASML.jpg RLFIBO-ASML.jpg
    #233276 quote
    Iván González
    Moderator
    Master

    Perfect!!

    #233450 quote
    Msport71
    Participant
    Junior

    Merci a tous pour le code.
    Il serait possible visualizer aussi le coefficient de corrélation linéaire (r de Pearson) qui représente la force et la direction de la corrélation, avec des valeurs allant de -1 à 1.?

    Merci

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.

REGRESSION LINEAIRE + FIBONACCI


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
supertiti @supertiti Participant
Summary

This topic contains 9 replies,
has 3 voices, and was last updated by Msport71
1 year, 9 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 05/20/2024
Status: Active
Attachments: 6 files
Logo Logo
Loading...