123 ross hook

Viewing 5 posts - 16 through 20 (of 20 total)
  • Author
    Posts
  • #217718 quote
    aquilasvolazzante
    Participant
    New

    ciao roberto che ne pensi del post precedente? lo puoi fare?

    #217722 quote
    robertogozzi
    Moderator
    Master

    Scusami per il ritardo. Eccolo:

    // 1-2-3 Ross
    //
    // ONCE Periodi = 20
    ONCE HH = 0
    ONCE H1 = 0
    ONCE H2 = 0
    ONCE H3 = 0
    ONCE LL = 0
    ONCE L1 = 0
    ONCE L2 = 0
    ONCE L3 = 0
    //
    Periodi = max(1,min(999,Periodi))
    //
    Rialzo  = close > open
    Ribasso = close <open
    //
    IF RossH THEN
    H1      = 0
    H2      = 0
    H3      = 0
    RossH   = 0
    ENDIF
    IF RossL THEN
    L1      = 0
    L2      = 0
    L3      = 0
    RossL   = 0
    ENDIF
    //
    // 1-2-3 High
    HH      = highest[Periodi](high)
    IF HH <> HH[1] THEN
    BarraH1 = BarIndex
    H1      = high
    H2      = 0
    H3      = 0
    RossH   = 0
    ENDIF
    IF H1 = high[1] THEN
    IF not (Rialzo[1] AND Ribasso) THEN
    H1      = 0
    H2      = 0
    H3      = 0
    RossH   = 0
    ENDIF
    ENDIF
    IF H1 AND not H3 THEN
    p = max(1,BarIndex - BarraH1)
    IF (low[1] = lowest[p](low)) AND Ribasso[1] AND Rialzo THEN
    H2      = low[1]
    BarraH2 = BarIndex[1]
    ENDIF
    ENDIF
    IF H1 AND H2[1] AND not H3 THEN
    p = max(1,BarIndex - BarraH2)
    IF (high[1] = highest[p](high)) AND Rialzo[1] AND Ribasso THEN
    H3      = high[1]
    BarraH3 = BarIndex[1]
    ENDIF
    ENDIF
    IF H1 AND H2 AND H3 THEN
    RossH  = 1
    Offset = average[100,0](range)
    DrawText("1",BarraH1,H1 + Offset,Dialog,Bold,14) coloured("Blue",255)
    DrawText("2",BarraH2,H2 - Offset,Dialog,Bold,14) coloured("Blue",255)
    DrawText("3",BarraH3,H3 + Offset,Dialog,Bold,14) coloured("Blue",255)
    ENDIF
    //
    // 1-2-3 Low
    LL      = lowest[Periodi](low)
    IF LL <> LL[1] THEN
    BarraL1 = BarIndex
    L1      = low
    L2      = 0
    L3      = 0
    RossL   = 0
    ENDIF
    IF L1 = low[1] THEN
    IF not (Ribasso[1] AND Rialzo) THEN
    L1      = 0
    L2      = 0
    L3      = 0
    RossL   = 0
    ENDIF
    ENDIF
    IF L1 AND not L3 THEN
    p = max(1,BarIndex - BarraL1)
    IF (high[1] = highest[p](high)) AND Rialzo[1] AND Ribasso THEN
    L2      = high[1]
    BarraL2 = BarIndex[1]
    ENDIF
    ENDIF
    IF L1 AND L2[1] AND not L3 THEN
    p = max(1,BarIndex - BarraL2)
    IF (low[1] = lowest[p](low)) AND Ribasso[1] AND Rialzo THEN
    L3      = low[1]
    BarraL3 = BarIndex[1]
    ENDIF
    ENDIF
    IF L1 AND L2 AND L3 THEN
    RossL  = 1
    Offset = average[100,0](range)
    DrawText("1",BarraL1,L1 - Offset,Dialog,Bold,14) coloured("Red",255)
    DrawText("2",BarraL2,L2 + Offset,Dialog,Bold,14) coloured("Red",255)
    DrawText("3",BarraL3,L3 - Offset,Dialog,Bold,14) coloured("Red",255)
    ENDIF
    //
    RETURN
    x-6.jpg x-6.jpg 1-2-3-Ross.itf
    #217755 quote
    aquilasvolazzante
    Participant
    New

    Sei un grande e ti ringrazio non ti devi scusare affatto,

    solo un accorgimento se puoi, ho testato il tuo indicatore su diversi time frame, a volte è corretto a volte no, nel senso che l ‘indicatore segnala l’ 123 anche quando il minimo della candela 3 non è inferiore al quello della candela due. Nello specifico, per convalidare il segnale la candela 3 deve avere sempre un minimo inferiore alla candela 2 nel caso del 123 long, e al contrario nel caso dell’123 short la candela 3 deve avere sempre un massimo superiore alla candela 2 ( fermo restando che la candela 3 non deve avere massimi o minimi superiori o inferiori alla candela 1, ma questo è ok, lo segna correttamente). Ti giro jpg del 123 errato appena descritto.

    Grazie mille grande Roberto!

    123-errato.jpg 123-errato.jpg
    #217802 quote
    robertogozzi
    Moderator
    Master

    Eccolo (ovviamente riduce di molto i segnali):

    // 1-2-3 Ross
    //
    // ONCE Periodi = 20
    ONCE HH = 0
    ONCE H1 = 0
    ONCE H2 = 0
    ONCE H3 = 0
    ONCE LL = 0
    ONCE L1 = 0
    ONCE L2 = 0
    ONCE L3 = 0
    //
    Periodi = max(1,min(999,Periodi))
    //
    Rialzo  = close > open
    Ribasso = close <open
    //
    IF RossH THEN
    H1      = 0
    H2      = 0
    H3      = 0
    RossH   = 0
    ENDIF
    IF RossL THEN
    L1      = 0
    L2      = 0
    L3      = 0
    RossL   = 0
    ENDIF
    //
    // 1-2-3 High
    HH      = highest[Periodi](high)
    IF HH <> HH[1] THEN
    BarraH1 = BarIndex
    H1      = high
    H2      = 0
    H3      = 0
    RossH   = 0
    ENDIF
    IF H1 = high[1] THEN
    IF not (Rialzo[1] AND Ribasso) THEN
    H1      = 0
    H2      = 0
    H3      = 0
    RossH   = 0
    ENDIF
    ENDIF
    IF H1 AND not H3 THEN
    p = max(1,BarIndex - BarraH1)
    IF (low[1] = lowest[p](low)) AND Ribasso[1] AND Rialzo THEN
    H2      = low[1]
    BarraH2 = BarIndex[1]
    ENDIF
    ENDIF
    IF H1 AND H2[1] AND not H3 THEN
    p = max(1,BarIndex - BarraH2)
    IF (high[1] = highest[p](high)) AND Rialzo[1] AND Ribasso AND (low[1] < H2) THEN
    H3      = high[1]
    BarraH3 = BarIndex[1]
    ENDIF
    ENDIF
    IF H1 AND H2 AND H3 THEN
    RossH  = 1
    Offset = average[100,0](range)
    DrawText("1",BarraH1,H1 + Offset,Dialog,Bold,14) coloured("Blue",255)
    DrawText("2",BarraH2,H2 - Offset,Dialog,Bold,14) coloured("Blue",255)
    DrawText("3",BarraH3,H3 + Offset,Dialog,Bold,14) coloured("Blue",255)
    ENDIF
    //
    // 1-2-3 Low
    LL      = lowest[Periodi](low)
    IF LL <> LL[1] THEN
    BarraL1 = BarIndex
    L1      = low
    L2      = 0
    L3      = 0
    RossL   = 0
    ENDIF
    IF L1 = low[1] THEN
    IF not (Ribasso[1] AND Rialzo) THEN
    L1      = 0
    L2      = 0
    L3      = 0
    RossL   = 0
    ENDIF
    ENDIF
    IF L1 AND not L3 THEN
    p = max(1,BarIndex - BarraL1)
    IF (high[1] = highest[p](high)) AND Rialzo[1] AND Ribasso THEN
    L2      = high[1]
    BarraL2 = BarIndex[1]
    ENDIF
    ENDIF
    IF L1 AND L2[1] AND not L3 THEN
    p = max(1,BarIndex - BarraL2)
    IF (low[1] = lowest[p](low)) AND Ribasso[1] AND Rialzo AND (high[1] > L2) THEN
    L3      = low[1]
    BarraL3 = BarIndex[1]
    ENDIF
    ENDIF
    IF L1 AND L2 AND L3 THEN
    RossL  = 1
    Offset = average[100,0](range)
    DrawText("1",BarraL1,L1 - Offset,Dialog,Bold,14) coloured("Red",255)
    DrawText("2",BarraL2,L2 + Offset,Dialog,Bold,14) coloured("Red",255)
    DrawText("3",BarraL3,L3 - Offset,Dialog,Bold,14) coloured("Red",255)
    ENDIF
    //
    RETURN
    1-2-3-Ross-1.itf
    #217865 quote
    aquilasvolazzante
    Participant
    New

    Grazie Roberto, sei un ottimo programmatore e anche disponibilissimo, un grazie molto grande 🙂

    a presto, ho in mente un altra cosina…….ahahahaha scherzo……..ciao mitico

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

123 ross hook


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Summary

This topic contains 19 replies,
has 2 voices, and was last updated by aquilasvolazzante
2 years, 8 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 06/14/2023
Status: Active
Attachments: 10 files
Logo Logo
Loading...