Linear Regression Channel

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #249799 quote
    finplusfinplus
    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.

    Capture-decran-2025-08-16-a-14.02.48.jpg Capture-decran-2025-08-16-a-14.02.48.jpg
    #249801 quote
    finplusfinplus
    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
    robertogozzirobertogozzi
    Moderator
    Legend

    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
    x-4.jpg x-4.jpg
    #249830 quote
    finplusfinplus
    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
    finplusfinplus
    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
    robertogozzirobertogozzi
    Moderator
    Legend

    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
    x-5.jpg x-5.jpg y.jpg y.jpg
    #249887 quote
    finplusfinplus
    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.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

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 finplusfinplus
1 year ago.

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