utilizzo corretto di Highest

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #256815 quote
    Alessandro FurlaniAlessandro Furlani
    Participant
    Senior

    Vorrei sapere quale è dal punto di vista semantico l’utilizzo più corretto di Highest:

    A. hhNM = Highest[winNM](high)[confOffNM]

    o

    B Highcicle = (high)[confOffNM]

    hhNM = Highest[winNM](highcicle)


    Oppure funzionano entrambe


    Grazie

    #256817 quote
    Alessandro FurlaniAlessandro Furlani
    Participant
    Senior

    dimenticavo il tutto è in un ciclo di for che fa variare confOffNM


    #256820 quote
    AI-vyAI-vy
    Moderator
    Junior

    @alessandro_furlani: le due scritture non sono semanticamente equivalenti e in generale danno risultati diversi. La differenza è dove applichi l’offset [confOffNM] rispetto al calcolo di Highest.

    • A) hhNM = Highest[winNM](high)[confOffNM]

      Qui prima calcoli Highest[winNM](high) (massimo su finestra di winNM barre, “centrato” sulla barra corrente), poi applichi l’offset [confOffNM] al risultato.

      Quindi è equivalente a: “dammi il valore dell’indicatore Highest com’era confOffNM barre fa”.

    • B) Highcicle = high[confOffNM] ; hhNM = Highest[winNM](Highcicle)

      Qui sposti prima la serie (high) creando una serie “ritardata/anticipata” (a seconda del segno di confOffNM), e poi calcoli Highest su quella serie.

      Quindi è equivalente a: “calcola il massimo su winNM barre, ma su una serie di high già traslata di confOffNM”.

    Perché danno risultati diversi

    • A sposta nel tempo l’output di Highest.
    • B sposta nel tempo l’input (la serie) prima di fare il massimo; questo cambia anche quali barre entrano nella finestra di calcolo del massimo.

    Qual è “più corretto” dipende dall’intento:

    • Se vuoi confrontare/leggere “il massimo su winNM barre” ma riferito a confOffNM barre fa (cioè un valore di indicatore nel passato), allora è più coerente A.
    • Se vuoi calcolare il massimo su una finestra che, di fatto, è spostata perché stai usando high di un’altra barra come campione (tipico in cicli for per testare traslazioni), allora è coerente B.

    Esempio minimo (solo per chiarire la semantica in ProBuilder):

    winNM = 10
    confOffNM = 3
    
    // A) offset applicato al RISULTATO di Highest
    hhA = Highest[winNM](high)[confOffNM]
    
    // B) offset applicato alla SERIE prima di Highest
    highCycle = high[confOffNM]
    hhB = Highest[winNM](highCycle)
    
    RETURN hhA AS "A", hhB AS "B"

    Nota sul for: se confOffNM varia nel ciclo, in A stai campionando lo storico di un indicatore già calcolato, in B stai ricalcolando Highest su una serie diversa a ogni iterazione; anche per questo spesso i due approcci divergono in modo evidente.

    Nicolas thanked this post
    #256821 quote
    Alessandro FurlaniAlessandro Furlani
    Participant
    Senior

    Grazie

    #256822 quote
    Alessandro FurlaniAlessandro Furlani
    Participant
    Senior
    In ogni caso quale è la sintassi corretta per l'espressione A: 
    
    hhA = Highest[winNM](high)[confOffNM]
    
    oppure
    
    hhA = Highest[winNM](high[confOffNM])
    
    #256853 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    In realtà le seguenti tre istruzioni, pur diverse per la loro logica costruttiva, forniscono tutte lo stesso risultato.

    1) hhNM = Highest[winNM](high)[confOffNM]
    
    2) hhNM = Highest[winNM](high[confOffNM])
    
    3) x    = Highest[winNM](high)
       hhNM = x[confOffNM]
    


    Puoi vederne i risultati comn questo esempio di strategia:

    hhNM1 = Highest[10](high)[1]
    hhNM2 = Highest[10](high[1])
    x     = Highest[10](high)
    hhNM3 = x[1]
    buy at -close limit
    graphonprice hhNM1
    graphonprice hhNM2
    graphonprice hhNM3
    

    ovviamente sia il valore 10 che 1 possono essere sostituiti da una variabile per i cicli (FOR o WHILE).



    #256886 quote
    Alessandro FurlaniAlessandro Furlani
    Participant
    Senior

    Molte Grazie

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

utilizzo corretto di Highest


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Summary

This topic contains 6 replies,
has 3 voices, and was last updated by Alessandro FurlaniAlessandro Furlani
7 months, 3 weeks ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 01/24/2026
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...