Testa e Spalle

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #197086 quote
    sivispacem
    Participant
    Junior

    Buongiorno a tutti.

    Esiste uno screener che metta in evidenza un Testa e Spalle?

    Grazie in anticipo

    #197111 quote
    robertogozzi
    Moderator
    Master

    Non mi pare ci sia niente. Con un pò di pazienza posso provare a farti qualcosa.

    #197143 quote
    sivispacem
    Participant
    Junior

    Grazie mille.

    #197178 quote
    robertogozzi
    Moderator
    Master

    Eccolo, è un codice molto basilare, ma tanto per dare un’idea:

    // Head & Shoulders
    //
    //ONCE LookBack     = 30
    //ONCE MaxInBetween = 30
    //
    ONCE SwingHI    = 0
    ONCE SwingHI1   = 0
    ONCE SwingHI2   = 0
    ONCE SwingHI3   = 0
    ONCE SwingLO    = 0
    ONCE SwingLO1   = 0
    ONCE SwingLO2   = 0
    ONCE SwingLO3   = 0
    //
    IF SwingHI3 > 0 THEN
    SwingHI1 = 0
    SwingHI2 = 0
    SwingHI3 = 0
    ENDIF
    IF SwingLO3 > 0 THEN
    SwingLO1 = 0
    SwingLO2 = 0
    SwingLO3 = 0
    ENDIF
    //
    Offset   = average[LookBack](range)
    Bullish  = close > open
    Bearish  = close < open
    TopHI    = max(high,high[1]) = highest[LookBack](high)
    BottomLO = min(low,low[1])   = lowest[LookBack](low)
    //
    SwingX   = Bearish AND Bullish[1] AND TopHI
    SwingHI  = 0
    IF SwingX THEN
    SwingHI = max(high,high[1])
    BarHI   = BarIndex - (high < high[1])
    ENDIF
    //
    SwingY   = Bullish AND Bearish[1] AND BottomLO
    SwingLO  = 0
    IF SwingY THEN
    SwingLO = min(low,low[1])
    BarLO   = BarIndex - (low > low[1])
    ENDIF
    //
    // detect anyone of the three SwingHIs that make a (bearish) Head & Shoulder
    IF SwingHI > 0 THEN
    IF SwingHI1 = 0 THEN
    SwingHI1 = SwingHI
    BarHI1   = BarHI
    SwingHI2 = 0
    SwingHI3 = 0
    ELSE
    IF SwingHI2 = 0 THEN
    SwingHI2 = SwingHI
    BarHI2   = BarHI
    SwingHI3 = 0
    IF ((BarHI2 - BarHI1) > MaxInBetween) OR (SwingHI2 <= SwingHI1)  THEN
    SwingHI1 = SwingHI2
    BarHI1   = BarHI2
    SwingHI2 = 0
    SwingHI3 = 0
    ENDIF
    ELSE
    IF SwingHI3 = 0 THEN
    SwingHI3 = SwingHI
    BarHI3   = BarHI
    IF ((BarHI3 - BarHI2) > MaxInBetween) OR (SwingHI3 >= SwingHI2)  THEN
    SwingHI1 = SwingHI3
    BarHI1   = BarHI3
    SwingHI2 = 0
    SwingHI3 = 0
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    IF SwingHI3 > 0 AND ((SwingHI2 <= SwingHI1) OR (SwingHI2 <= SwingHI3)) THEN
    SwingHI1 = SwingHI3
    BarHI1   = BarHI3
    SwingHI2 = 0
    SwingHI3 = 0
    ENDIF
    ENDIF
    //
    // detect anyone of the three SwingLOs that make a (bullish) Head & Shoulder
    IF SwingLO > 0 THEN
    IF SwingLO1 = 0 THEN
    SwingLO1 = SwingLO
    BarLO1   = BarLO
    SwingLO2 = 0
    SwingLO3 = 0
    ELSE
    IF SwingLO2 = 0 THEN
    SwingLO2 = SwingLO
    BarLO2   = BarLO
    SwingLO3 = 0
    IF ((BarLO2 - BarLO1) > MaxInBetween) OR (SwingLO2 >= SwingLO1)  THEN
    SwingLO1 = SwingLO2
    BarLO1   = BarLO2
    SwingLO2 = 0
    ENDIF
    ELSE
    IF SwingLO3 = 0 THEN
    SwingLO3 = SwingLO
    BarLO3   = BarLO
    IF ((BarLO3 - BarLO2) > MaxInBetween) OR (SwingLO3 <= SwingLO2)  THEN
    SwingLO1 = SwingLO3
    BarLO1   = BarLO3
    SwingLO2 = 0
    SwingLO1 = 0
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    IF SwingLO3 > 0 AND ((SwingLO2 >= SwingLO1) OR (SwingLO2 >= SwingLO3)) THEN
    SwingLO1 = SwingLO3
    BarLO1   = BarLO3
    SwingLO2 = 0
    SwingLO3 = 0
    ENDIF
    ENDIF
    //
    // plot ARROWS over/below H & S
    //
    IF SwingHI3 > 0 THEN
    SwingLO1 = 0
    SwingLO2 = 0
    SwingLO3 = 0
    HItemp   = max(SwingHI1,max(SwingHI2,SwingHI3))
    DrawArrowDown(BarHI3,HItemp + Offset*3) coloured(255,0,0,155)     //RED
    DrawTriangle(BarHI1-1,HItemp+Offset,BarHi1,HItemp+Offset*2,BarHI1+1,HItemp+Offset) COLOURED(255,0,0,255) BORDERCOLOR(255,0,0,255)
    DrawTriangle(BarHI2-1,HItemp+Offset,BarHI2,HItemp+Offset*2,BarHI2+1,HItemp+Offset) COLOURED(255,0,0,255) BORDERCOLOR(255,0,0,255)
    DrawTriangle(BarHI3-1,HItemp+Offset,BarHI3,HItemp+Offset*2,BarHI3+1,HItemp+Offset) COLOURED(255,0,0,255) BORDERCOLOR(255,0,0,255)
    ELSIF SwingLO3 > 0 THEN
    SwingHI1 = 0
    SwingHI2 = 0
    SwingHI3 = 0
    LOtemp   = min(SwingLO1,min(SwingLO2,SwingLO3))
    DrawArrowUp(BarLO3,LOtemp - Offset*3) coloured(0,128,0,155)       //GREEN
    DrawTriangle(BarLO1-1,LOtemp-Offset,BarLO1,LOtemp-Offset*2,BarLO1+1,LOtemp-Offset) COLOURED(0,128,0,155) BORDERCOLOR(0,128,0,155)
    DrawTriangle(BarLO2-1,LOtemp-Offset,BarLO2,LOtemp-Offset*2,BarLO2+1,LOtemp-Offset) COLOURED(0,128,0,155) BORDERCOLOR(0,128,0,155)
    DrawTriangle(BarLO3-1,LOtemp-Offset,BarLO3,LOtemp-Offset*2,BarLO3+1,LOtemp-Offset) COLOURED(0,128,0,155) BORDERCOLOR(0,128,0,155)
    ENDIF
    RETURN
    #197181 quote
    robertogozzi
    Moderator
    Master

    Scusami, quello di sopra è l’indicatore, ecco lo screeener:

    // Head & Shoulders
    //
    ONCE LookBack     = 15
    ONCE MaxInBetween = 50
    //
    ONCE SwingHI    = 0
    ONCE SwingHI1   = 0
    ONCE SwingHI2   = 0
    ONCE SwingHI3   = 0
    ONCE SwingLO    = 0
    ONCE SwingLO1   = 0
    ONCE SwingLO2   = 0
    ONCE SwingLO3   = 0
    //
    IF SwingHI3 > 0 THEN
    SwingHI1 = 0
    SwingHI2 = 0
    SwingHI3 = 0
    ENDIF
    IF SwingLO3 > 0 THEN
    SwingLO1 = 0
    SwingLO2 = 0
    SwingLO3 = 0
    ENDIF
    //
    //Offset   = average[LookBack](range)
    Bullish  = close > open
    Bearish  = close < open
    TopHI    = max(high,high[1]) = highest[LookBack](high)
    BottomLO = min(low,low[1])   = lowest[LookBack](low)
    //
    SwingX   = Bearish AND Bullish[1] AND TopHI
    SwingHI  = 0
    IF SwingX THEN
    SwingHI = max(high,high[1])
    BarHI   = BarIndex - (high < high[1])
    ENDIF
    //
    SwingY   = Bullish AND Bearish[1] AND BottomLO
    SwingLO  = 0
    IF SwingY THEN
    SwingLO = min(low,low[1])
    BarLO   = BarIndex - (low > low[1])
    ENDIF
    //
    // detect anyone of the three SwingHIs that make a (bearish) Head & Shoulder
    IF SwingHI > 0 THEN
    IF SwingHI1 = 0 THEN
    SwingHI1 = SwingHI
    BarHI1   = BarHI
    SwingHI2 = 0
    SwingHI3 = 0
    ELSE
    IF SwingHI2 = 0 THEN
    SwingHI2 = SwingHI
    BarHI2   = BarHI
    SwingHI3 = 0
    IF ((BarHI2 - BarHI1) > MaxInBetween) OR (SwingHI2 <= SwingHI1)  THEN
    SwingHI1 = SwingHI2
    BarHI1   = BarHI2
    SwingHI2 = 0
    SwingHI3 = 0
    ENDIF
    ELSE
    IF SwingHI3 = 0 THEN
    SwingHI3 = SwingHI
    BarHI3   = BarHI
    IF ((BarHI3 - BarHI2) > MaxInBetween) OR (SwingHI3 >= SwingHI2)  THEN
    SwingHI1 = SwingHI3
    BarHI1   = BarHI3
    SwingHI2 = 0
    SwingHI3 = 0
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    IF SwingHI3 > 0 AND ((SwingHI2 <= SwingHI1) OR (SwingHI2 <= SwingHI3)) THEN
    SwingHI1 = SwingHI3
    BarHI1   = BarHI3
    SwingHI2 = 0
    SwingHI3 = 0
    ENDIF
    ENDIF
    //
    // detect anyone of the three SwingLOs that make a (bullish) Head & Shoulder
    IF SwingLO > 0 THEN
    IF SwingLO1 = 0 THEN
    SwingLO1 = SwingLO
    BarLO1   = BarLO
    SwingLO2 = 0
    SwingLO3 = 0
    ELSE
    IF SwingLO2 = 0 THEN
    SwingLO2 = SwingLO
    BarLO2   = BarLO
    SwingLO3 = 0
    IF ((BarLO2 - BarLO1) > MaxInBetween) OR (SwingLO2 >= SwingLO1)  THEN
    SwingLO1 = SwingLO2
    BarLO1   = BarLO2
    SwingLO2 = 0
    ENDIF
    ELSE
    IF SwingLO3 = 0 THEN
    SwingLO3 = SwingLO
    BarLO3   = BarLO
    IF ((BarLO3 - BarLO2) > MaxInBetween) OR (SwingLO3 <= SwingLO2)  THEN
    SwingLO1 = SwingLO3
    BarLO1   = BarLO3
    SwingLO2 = 0
    SwingLO1 = 0
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    IF SwingLO3 > 0 AND ((SwingLO2 >= SwingLO1) OR (SwingLO2 >= SwingLO3)) THEN
    SwingLO1 = SwingLO3
    BarLO1   = BarLO3
    SwingLO2 = 0
    SwingLO3 = 0
    ENDIF
    ENDIF
    //
    // plot ARROWS over/below H & S
    //
    IF SwingHI3 > 0 THEN
    SwingLO1 = 0
    SwingLO2 = 0
    SwingLO3 = 0
    //HItemp   = max(SwingHI1,max(SwingHI2,SwingHI3))
    //DrawArrowDown(BarHI3,HItemp + Offset*3) coloured(255,0,0,155)     //RED
    //DrawTriangle(BarHI1-1,HItemp+Offset,BarHi1,HItemp+Offset*2,BarHI1+1,HItemp+Offset) COLOURED(255,0,0,255) BORDERCOLOR(255,0,0,255)
    //DrawTriangle(BarHI2-1,HItemp+Offset,BarHI2,HItemp+Offset*2,BarHI2+1,HItemp+Offset) COLOURED(255,0,0,255) BORDERCOLOR(255,0,0,255)
    //DrawTriangle(BarHI3-1,HItemp+Offset,BarHI3,HItemp+Offset*2,BarHI3+1,HItemp+Offset) COLOURED(255,0,0,255) BORDERCOLOR(255,0,0,255)
    ELSIF SwingLO3 > 0 THEN
    SwingHI1 = 0
    SwingHI2 = 0
    SwingHI3 = 0
    //LOtemp   = min(SwingLO1,min(SwingLO2,SwingLO3))
    //DrawArrowUp(BarLO3,LOtemp - Offset*3) coloured(0,128,0,155)       //GREEN
    //DrawTriangle(BarLO1-1,LOtemp-Offset,BarLO1,LOtemp-Offset*2,BarLO1+1,LOtemp-Offset) COLOURED(0,128,0,155) BORDERCOLOR(0,128,0,155)
    //DrawTriangle(BarLO2-1,LOtemp-Offset,BarLO2,LOtemp-Offset*2,BarLO2+1,LOtemp-Offset) COLOURED(0,128,0,155) BORDERCOLOR(0,128,0,155)
    //DrawTriangle(BarLO3-1,LOtemp-Offset,BarLO3,LOtemp-Offset*2,BarLO3+1,LOtemp-Offset) COLOURED(0,128,0,155) BORDERCOLOR(0,128,0,155)
    ENDIF
    //RETURN
    Cond = 0
    IF SwingHI3 > 0 THEN
    Cond = 2
    ELSIF SwingLO3 > 0 THEN
    Cond = 1
    ENDIF
    SCREENER[Cond](Cond AS "1=↑, 2=↓")
    #197352 quote
    sivispacem
    Participant
    Junior

    Ciao Roberto.

    Grazie, provo a tararlo (se riesco).

    Grazie ancora.

    F

    #201129 quote
    Msport71
    Participant
    Junior

    Roberto,

     

    buongiorno.

    Una cortesia:  sto guardando anche io l’indicatore testa spalla che hai preparato e sto cercando di capire la logica delle sue indicazioni, che essendo neofita mi sfuggono.

    Nel grafico che hai postato del Nikkey a 1  giorno, l’indicatore evidenzia sul grafico del prezzo dei triangoli (di maggiore e minore lunghezza) e delle frecce, solitamente all’apparire del terzo triangolo.

    I triangoli a loro volta possono essere o ben separati tra  loro oppure vicini , quasi sovrapposti .

    Non riesco a interpretare bene graficamente tutti i segnali.

    Puoi aiutarmi a interpretare meglio quanto l’indicatore mostra?

    Grazie

    #201211 quote
    robertogozzi
    Moderator
    Master

    Dammi ancora un pò di tempo. Grazie 🙂

    #201231 quote
    Msport71
    Participant
    Junior

    Certo, ci mancherebbe…..

    Grazie

    #201802 quote
    robertogozzi
    Moderator
    Master

    Scusami per il ritardo, ma ho avuto molti impegni.

    Ancora un paio di giorni e ti risponderò.

    #201809 quote
    Msport71
    Participant
    Junior

    Roberto,

     

    figurati.

    Grazie

    #201881 quote
    robertogozzi
    Moderator
    Master

    Come puoi vedere nella foto (Nikkei, Daily), tra l’1/7/2022 e l’1/9/2022 (c0n impostazioni 10,15), ci sono due segnali, uno Long ed uno Short.

    I triangoli sono posti in corrispondenza delle spalle e della testa, la freccia è visualizzata sopra (o sotto)  l’ultimo triangolo del pattern, quello che lo conferma.

    I triangoli e le frecce sono sempre della stessa dimensione, possono variare solo se vari lo zoom del grafico.

    Il numero di segnali varia con il variare delle impostazioni. Il primo parametro (LookBack) è il numero di periodi su cui sono calcolati i Minimi e Massimi di riferimento, il secondo (MaxInBetween) è il numero massimo di barre che può esserci tra una spalla e la testa o tra la testa e l’altra spalla (cioè tra i triangoli).

    #201890 quote
    Msport71
    Participant
    Junior

    Tutto chiarissimo, grazie e mille!

    #203432 quote
    brunoasoliveira
    Participant
    New

    Hi Roberto, screener is amazing. Thank you very much. Regarding the indicator, i’ve already imported but it doesn’t show anything. I find the stock in the screener but in the graph, i don’t see anything. Thanks a lot for your job

    Ciao Roberto, lo screener è fantastico. Grazie mille. Per quanto riguarda l’indicatore, ho già importato ma non mostra nulla. Trovo il titolo nello screener ma nel grafico non vedo nulla. Grazie mille per il tuo lavoro

    #203441 quote
    robertogozzi
    Moderator
    Master

    Per favore pubblica solo nella lingua del forum in cui stai postando. Ad esempio solo l’inglese nei forum di lingua inglese e il francese solo nei forum di lingua francese.

    Grazie 🙂

    Hai messo l’indicatore sul grafico?

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

Testa e Spalle


Supporto ProScreener

New Reply
Author
author-avatar
sivispacem @sivispacem Participant
Summary

This topic contains 15 replies,
has 5 voices, and was last updated by ShockWave Trading
1 year, 3 months ago.

Topic Details
Forum: Supporto ProScreener
Language: Italian
Started: 07/10/2022
Status: Active
Attachments: 4 files
Logo Logo
Loading...