comparaison calcul indicateur regression lineaire avec screener

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #195102 quote
    FATBOY2016
    Participant
    New

    Hello ,

    j’utilise un code d’indicateur de NICOLAS , au bout duquel j’ai ajouté une condition pour pouvoir

    comparer les résultats de l’indicateur et ceux d’un Screener dans lequel je le fais tourner .

    En l’occurence , l’indicateur trace un canal autour d’une linear regression , et je souhaite effectuer des calculs

    basés sur la valeur des lignes Hautes et Basses dudit canal .

    L’indicateur fonctionne très bien , et l’étiquette indique la valeur exacte qui est tracée pour chacune des lignes .

    MAIS le même indic placé dans un SCREENER indique une valeur fausse , et qui plus est aléatoire .

    Et en découle un calcul FAUX pour C1 .

     

    Comment faire exécuter le bon calcul par le SCREENER ?

     

    (Par ailleurs , je rencontre le même problème en plus marqué avec d’autres indicateurs , toujours une

    fois intégrés dans un SCREENER)

    Ci-dessous ledit SCREENER avec le code de l’indicateur de NICOLAS et ma question au bout :

    Ici , le CRITERIA du SCREENER n’affiche pas la valeur juste de la Ligne Basse du canal , telle que

    le même indicateur la donne dans la fenêtre graphique

    /////////////////////////////////////////////////
    
    TIMEFRAME(Daily)
    
    REM Condition VOLUME minimum souhaité
    
    REM Capital échangé par UT Jour
    CapEchUT = Volume*Close // en €
    
    MM22BarCour15mnCapEchUT = ( (Average[22](CapEchUT)[0] * 0.61) / 34 ) // pour avoir la moyenne "barres courantes" en 15 minutes
    
    REM : Mini accepté : 10 000 € / 15 minutes )
    
    CondTRI = MM22BarCour15mnCapEchUT > 15000 // mini 10 000 € échangés par 15 mn
    
    ///////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////
    
    //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= 50 //channel period // 200 // 265 // 57 // 53 // 22 // 50
    
    ChannelType = 2 //1= Standard Deviation ; 2= Standard Erro // 1
    NbDeviation = 1.5 //Deviation multiplier // 1 // 1.5
    
    ///////colorRed = 255 // 255
    ///////colorGreen = 0 // 255
    ///////colorBlue = 0 // 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)STYLE(DottedLine,4)
    
    //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)STYLE(DottedLine,4)
    ///////drawsegment(barindex[lookback],(a+b*lookback)-dat,barindex,a+b*0-dat) coloured(colorRed,colorGreen,colorBlue)STYLE(DottedLine,4)
    
    ///////return
    
    REM : Affichage des points d'arrivée des Lignes Hautes et Basses du Canal
    //return (a+b*0+dat) AS "Arrivée Ligne Haute Canal" , (a+b*0-dat) AS "Arrivée Ligne Haute Canal"
    
    ///////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////
    
    // Ajouts perso
    
    REM : Calcul du Point d'Arrivée de la Ligne Haute du Canal
    ArrivLignHteCan = a+b*0+dat
    
    REM : Calcul du Point d'Arrivée de la Ligne Basse du Canal
    ArrivLignBasCan = a+b*0-dat
    
    REM : Calcul de la Hauteur du Canal en Euro
    HtCanEuro = ArrivLignHteCan - ArrivLignBasCan
    
    REM : Cours compris entre Ligne Basse du Canal et les 20 % de la Hauteur du Canal au-dessus
    C1 = (Close > ArrivLignBasCan) AND ( Close < (ArrivLignBasCan + (HtCanEuro * 0.2) ) )
    
    IF C1=1 THEN
    CRITERIA = ArrivLignBasCan // permet de comparer avec les résultats et tracés de l'indicateur
    ENDIF
    
    ///////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////
    
    ///////////////////////////////////////////////////////////////////////////
    
    SCREENER[C1 AND CondTri](CRITERIA AS "LignBsCan")
    #195188 quote
    Nicolas
    Keymaster
    Master

    Merci de créer un sujet spécifique pour chaque demande et de ne pas poster à la file dans des sujets hors contextes. J’ai scindé ta demande dans un nouveau sujet.

    Pour le canal de regression linéaire, tu te compliques la tâche.

    Le code pour obtenir la valeur du canal sur la période courante se résume à :

    canalhaut = linearregression[lookback]+std[lookback]*NbDeviation
    canalbas = linearregression[lookback]-std[lookback]*NbDeviation
    #195252 quote
    FATBOY2016
    Participant
    New

    Bonjour Nicolas ,

    merci pour ta réponse , mais , j’ai mal formulé ma question :

    Le problème que je rencontre est que le SCREENER ne trouve pas le même résultat que l’indicateur

    quand on parle du dernier point connu des lignes du Canal :

    exemple : aujourd’hui , en journalier , sur DASSAULT SYSTEMES , l’indicateur donne 34.104 comme valeur du dernier

    point connu de la Ligne Basse du Canal ( ce qui est juste et correspond au tracé de l’indicateur ) , alors que le SCREENER ,

    à travers  CRITERIA , affiche 33.086 .

    Et de là , fait des calculs de position de la valeur par rapport au canal qui sont faux dans la même proportion .

    L’écart avec la VRAIE VALEUR pouvant selon les valeurs aller jusqu’à 30 % …

    Vois-tu une solution ?

    Merci encore

    #195258 quote
    Nicolas
    Keymaster
    Master

    Avec ces codes, j’obtiens les mêmes valeurs, tu pourras ajouter tes conditions dans le screener si tu le souhaites (bien sûr, il faut un abonnement avec données temps réel).

    lookback = 50
    ChannelType = 2 //1= Standard Deviation ; 2= Standard Erro // 1
    NbDeviation = 1.5 //Deviation multiplier // 1 // 1.5
    canalhaut = linearregression[lookback]+ste[lookback]*NbDeviation
    canalbas = linearregression[lookback]-ste[lookback]*NbDeviation
    
    return canalhaut,canalbas
    lookback = 50
    NbDeviation = 1.5 //Deviation multiplier // 1 // 1.5
    //canalhaut = linearregression[lookback]+ste[lookback]*NbDeviation
    canalbas = linearregression[lookback]-ste[lookback]*NbDeviation
    
    screener(canalbas)
    valeur-canal-regression-lineaire.png valeur-canal-regression-lineaire.png
    #195263 quote
    FATBOY2016
    Participant
    New

    Encore une fois merci pour ta réactivité ,

    mais …

    Les valeurs affichées par l’indicateur et le screener diffèrent .

    Je ne comprends pas pourquoi chez toi ça afficherait correctement et pas chez moi .

    As-tu une idée d’où pourrait provenir l’erreur du screener ?

    #195332 quote
    Nicolas
    Keymaster
    Master

    Compte gratuit fin de journée ? Ou liste sans abonnement aux flux temps réel ?

    #195359 quote
    FATBOY2016
    Participant
    New

    Bonsoir ,

    je te remercie vivement de t’intéresser à mon problème , car vraiment je cale .

    Je suis abonné en flux temps réels , pour env 110 € / mois …

    #195379 quote
    Nicolas
    Keymaster
    Master

    As-tu essayé mes codes ou non stp ?

    #195382 quote
    FATBOY2016
    Participant
    New

    Bonjour , j’ai bien sûr essayé tes codes , mais le problème reste le même .

    de ton côté , avec tes codes , tu obtiens les 2 mêmes résultats ?

    #195384 quote
    Nicolas
    Keymaster
    Master

    Oui, il y a toujours un petit arrondi à 3 chiffres après la virgule, ici sur la liste Euronext, flux temps réel.

    linear-regression-calculation.png linear-regression-calculation.png
    #195422 quote
    FATBOY2016
    Participant
    New

    Je n’y comprends rien , moi je te parle , sur mes écrans , de différences allant jusqu’à 30 % , qui me faussent tous mes calculs ultérieurs

    #195441 quote
    Nicolas
    Keymaster
    Master

    Donne moi le titre d’une action qui compose Euronext pour qu’on compare tous les deux avec le même code.

    #195447 quote
    FATBOY2016
    Participant
    New

    Bonsoir ,

    je te dis ça ce WE , jusqu’à dimanche je suis surbook .

    merci encore .

    a +

    #196000 quote
    FATBOY2016
    Participant
    New

    Bonjour NICOLAS ,

    je te retourne 2 Captures d’écran concernant ( exemple ) HERMES :

    avec tes codes , on obtient , pour la ligne basse du canal :

    Indicateur : 516.85

    Screener : 519.47

    l’écart est incompréhensible , et le phénomène est encore accentué avec d’autres codes perso ,

    qui eux aussi fonctionnent à la perfection en tant qu’indicateurs , mais qui une fois transposés en screeners

    présentent des résultats encore plus éloignés de ceux calculés par les indicateurs .

    Merci pour ton aide

    Screener-HERMES-519.47.png Screener-HERMES-519.47.png Indicateur-HERMES-516.85.png Indicateur-HERMES-516.85.png
Viewing 14 posts - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.

comparaison calcul indicateur regression lineaire avec screener


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
FATBOY2016 @fatboy2016 Participant
Summary

This topic contains 13 replies,
has 2 voices, and was last updated by FATBOY2016
3 years, 8 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 06/10/2022
Status: Active
Attachments: 4 files
Logo Logo
Loading...