123 ross hook

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

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

    #217722 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    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
    aquilasvolazzanteaquilasvolazzante
    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
    robertogozzirobertogozzi
    Moderator
    Legend

    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
    aquilasvolazzanteaquilasvolazzante
    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.
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

123 ross hook


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Summary

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

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