Linear Regression Channel

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #249799 quote
    finplus
    Participant
    Master

    Bonjour,

    j’utilise l’indicateur Linear regression Channel dont le code est copié ci dessous (je n’ai pu faire autrement).

    //Parameters :
    Len = 150

    z1 = linearregression[Len](high)
    z2 = linearregression[Len](low)
    z2s = -std[len](low)+z2
    z1s = std[len](high)+z1
    M = (z2s + z1s) / 2

    RETURN z1 as “LRHigh”, z2 as “LRLow”, z1s as “high LR dev”, z2s as “low LR dev”, M as “Middle LR”

    Je souhaiterais filtrer mes entrées lorsque la distance entre z2s et z1s est la plus petite possible et lorsque cette distance est définie tracer une ligne horizontale pour la visualiser.

    je joint une capture écran effectuée ce jour sur le Crypto Index 10 en UT 5 minutes où j’ai tracé manuellement la ligne haute et basse me paraissant correspondre visuellement à ce que je souhaiterai avoir en automatique.

    Je vous remercie pour votre aide.

    #249801 quote
    finplus
    Participant
    Master

    une précision ; les deux lignes horizontales que j’ai tracées manuellement sont aux deux niveaux suivants : 320 et – 320.

    #249825 quote
    robertogozzi
    Moderator
    Master

    Postez votre nouveau sujet dans le forum correct :
    _ support ProRealTime: uniquement les problèmes liés à la plateforme.
    _ ProOrder: uniquement les sujets sur les stratégies.
    _ ProBuilder: uniquement les sujets sur les indicateurs.
    _ ProScreener: uniquement les sujets sur les screeners.
    _ Discussions générales: tous les autres sujets.
    _ Bienvenue aux nouveaux membres: pour que les nouveaux membres du forum se présentent.

    Je l’ai déplacé depuis le support ProOrder.
    Merci 🙂

    Voici le code et je joins une image des deux lignes noires imprimées correspondant à l’écart minimum :

    DEFPARAM DrawOnLastBarOnly = True
    //Parameters :
    Len = 150
    
    z1 = linearregression[Len](high)
    z2 = linearregression[Len](low)
    z2s = -std[len](low)+z2
    z1s = std[len](high)+z1
    M = (z2s + z1s) / 2
    
    ecart = abs(z1 - z2)
    ecartmin = lowest[Len](ecart)
    ecartBAR = 0
    FOR i = 0 TO (Len - 1)
       IF ecart[i] = ecartmin THEN
          ecartBAR = i
          break
       ENDIF
    NEXT
    highMIN  = z1[ecartBAR]
    lowMAX   = z2[ecartBAR]
    DrawSegment(BarIndex[ecartBAR],highMIN,BarIndex+1,highMIN) style(line,2) coloured("Black",255)
    DrawSegment(BarIndex[ecartBAR],lowMAX, BarIndex+1,lowMAX)  style(line,2) coloured("Black",255)
    
    RETURN z1 as "LRHigh", z2 as "LRLow", z1s as "high LR dev", z2s as "low LR dev", M as "Middle LR"
    finplus thanked this post
    #249830 quote
    finplus
    Participant
    Master

    Bonjour Roberto,

    merci pour le retour et désolé pour avoir posté ma demande dans le mauvais forum.

    Bon dimanche.

    Philippe.

    #249831 quote
    finplus
    Participant
    Master

    Bonjour Roberto,

    je reviens vers vous concernant la solution apportée à ma demande.

    le code fait apparaître l’écart le plus bas en mettant en évidence le moment où cela se produit.

    Est-il possible de faire apparaître uniquement l’écart donc la différence entre z2s et z1s sur un graphique différent et l’identifier comme indiqué sur mon premier post (graphique du bas avec les histogrammes) ?

    mais peu-être que ma demande n’est pas suffisamment claire ?

    merci.

    #249848 quote
    robertogozzi
    Moderator
    Master

    Cette version va EN DESSOUS du graphique et vous ne verrez que l’histogramme de l’écart (voir capture d’écran X):

    DEFPARAM DrawOnLastBarOnly = True
    //Parameters :
    Len = 150
     
    z1 = linearregression[Len](high)
    z2 = linearregression[Len](low)
    z2s = -std[len](low)+z2
    z1s = std[len](high)+z1
    M = (z2s + z1s) / 2
     
    ecart = abs(z1 - z2)
    ecartmin = lowest[Len](ecart)
    ecartBAR = 0
    FOR i = 0 TO (Len - 1)
    IF ecart[i] = ecartmin THEN
    ecartBAR = i
    break
    ENDIF
    NEXT
    highMIN  = z1[ecartBAR]
    lowMAX   = z2[ecartBAR]
    
    //DrawHline(highMIN) style(line,2) coloured("Black")
    //DrawHline(lowMAX)  style(line,2) coloured("Black")
    
    RETURN ecart AS "Ecart" style(histogram,4) coloured("Gray")

    Si vous souhaitez également voir les deux lignes, supprimez les barres de commentaires initiales des lignes 23 et 24 (voir capture d’écran Y).
    Cependant, pour les voir, il faudra effectuer un zoom arrière jusqu’à ce qu’elles soient presque plates, car (dans mon cas avec le DAX) l’échelle de prix et l’échelle de spread sont trop différentes !

    En réalité, vous ne verrez qu’une seule ligne, elles sont donc presque au même niveau.

    Iván González and finplus thanked this post
    #249887 quote
    finplus
    Participant
    Master

    Roberto,

    merci.

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

Linear Regression Channel


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by finplus
5 months, 2 weeks ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 08/16/2025
Status: Active
Attachments: 4 files
Logo Logo
Loading...