Figura di inversione

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #198174 quote
    dollarieur
    Participant
    Senior

    Ciao,

    vorrei chiedere un ProScreener che cerchi i grafici in cui, ad un’ultima candela rialzista (o ribassista), ne segua una esattamente opposta.

    Per spiegare meglio i parametri da inserire, allego il file “Figura inversione.png”.

    Guardando questo file, vorrei che vi fossero le seguenti condizioni:

    1. le lunghezze AB e CD devono essere entrambe minori di BC
    2. le lunghezze EF e GH devono essere entrambe minori di FG
    3. la lunghezza FG deve corrispondere a BC +/- un 30% MAX di BC stessa.

    Per chiarire meglio il punto 3, faccio un esempio: ipotizziamo che BC sia lunghezza 10….FG (cioè il corpo della 2a candela) deve essere compreso tra 7 e 13, cioè togliendo ed aggiungendo a 10 il numero 3 (il suo 30%).

    Spero essere stato chiaro.

     

    Molte grazie, ciao!

    Andrea

    Figura-inversione.png Figura-inversione.png
    #198194 quote
    robertogozzi
    Moderator
    Master

    La frase “vorrei chiedere un ProScreener che cerchi i grafici in cui, ad un’ultima candela rialzista (o ribassista), ne segua una esattamente oppost.“, non è proprio corretta, in quanto l’ultima candela è quella più a destra, quindi sarebbe più corretto scrivere “vorrei chiedere un ProScreener che cerchi i grafici in cui un’ultima candela rialzista (o ribassista), sia preceduta da una esattamente opposta.”

    Ecco quanto richiesto:

    Rialzista  = close > open
    Ribassista = close < open
    OmbraSup   = high - max(open,close)
    OmbraInf   = min(open,close) - low
    Corpo      = abs(close - open)
    Rapporto1  = (OmbraSup < Corpo) AND (OmbraInf < Corpo)
    RapportoA  = Rapporto1 AND Rapporto1[1]
    RapportoB  = (Corpo >= (Corpo[1] * 0.7)) AND (Corpo <= (Corpo[1] * 1.3))
    Rapporti   = RapportoA AND RapportoB
    CondL      = Rialzista    AND Ribassista[1] AND Rapporti
    CondS      = Rialzista[1] AND Ribassista    AND Rapporti
    Cond       = 0
    IF CondL THEN
       Cond    = 1
    ELSIF CondS THEN
       Cond    = 2
    ENDIF
    SCREENER[Cond](Cond AS "1=↑, 2=↓")

    Dalla figura sembra che la candela più a destra debba avere un range più ampio della precedente, però non avendolo specificato non ho messo questa condizione, anche perché dalla foto sembra sia anche un Engulfing, con il corpo di destra più ampio di quello di sinistra, mentre te lo vuoi indipendentemente che sia minore o maggiore del 30% di quello precedente.

    #198212 quote
    dollarieur
    Participant
    Senior

    Dopo aver visto i titoli che questo ProScreener coglie, si vede essere necessario un piccolo ulteriore “filtro”…. questo ProScreener richiama infatti spesso figure similari a quella da me salvata con il nome “errore.png”, che chiaramente non sono figure di inversione.

    Ti chiedo allora di inserire un ulteriore filtro (vd. file “nuova regola.png”):

    considerando il segmento AB come la distanza tra il punto minimo ed il punto massimo di entrambe le ultime 2 candele, la somme dei 2 segmenti a e b (cioè gli spazi NON in comune tra le 2 candele, ndr) deve ricoprire AL MAX il 20% del segmento AB.

    Ti ringrazio.

    errore.png errore.png nuova-regola.png nuova-regola.png
    #198217 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    Rialzista  = close > open
    Ribassista = close < open
    OmbraSup   = high - max(open,close)
    OmbraInf   = min(open,close) - low
    Corpo      = abs(close - open)
    MaxHH      = max(high,high[1])
    MinLL      = min(low,low[1])
    AB         = MaxHH - MinLL
    abH        = MaxHH - high
    abL        = low - MinLL
    SpaziVuoti = (abH + abL) + (abH[1] + abL[1])
    Spazi      = SpaziVuoti <= (AB * 0.2)
    Rapporto1  = (OmbraSup < Corpo) AND (OmbraInf < Corpo)
    RapportoA  = Rapporto1 AND Rapporto1[1]
    RapportoB  = (Corpo >= (Corpo[1] * 0.7)) AND (Corpo <= (Corpo[1] * 1.3))
    Rapporti   = RapportoA AND RapportoB
    CondL      = Rialzista    AND Ribassista[1] AND Rapporti AND Spazi
    CondS      = Rialzista[1] AND Ribassista    AND Rapporti AND Spazi
    Cond       = 0
    IF CondL THEN
       Cond    = 1
    ELSIF CondS THEN
       Cond    = 2
    ENDIF
    SCREENER[Cond](Cond AS "1=↑, 2=↓")
    #198303 quote
    dollarieur
    Participant
    Senior

    Perfetto, grazie…decisamente migliorata.

    Ti chiedo però di immettere un ulteriore filtro in quanto, effettivamente, trova candele davvero “appaiate”…tuttavia spesso e volentieri sono candeline piccine assai che, 99 su 100…non vogliono dire granché.

    Ti  chiedo allora di AGGIUNGERE un ulteriore filtro al seguente PRT code.

    Rialzista  = close > open
    Ribassista = close < open
    OmbraSup   = high - max(open,close)
    OmbraInf   = min(open,close) - low
    Corpo      = abs(close - open)
    MaxHH      = max(high,high[1])
    MinLL      = min(low,low[1])
    AB         = MaxHH - MinLL
    abH        = MaxHH - high
    abL        = low - MinLL
    SpaziVuoti = (abH + abL) + (abH[1] + abL[1])
    Spazi      = SpaziVuoti <= (AB * 0.2)
    Rapporto1  = (OmbraSup < Corpo) AND (OmbraInf < Corpo)
    RapportoA  = Rapporto1 AND Rapporto1[1]
    RapportoB  = (Corpo >= (Corpo[1] * 0.7)) AND (Corpo <= (Corpo[1] * 1.3))
    Rapporti   = RapportoA AND RapportoB
    CondL      = Rialzista    AND Ribassista[1] AND Rapporti AND Spazi
    CondS      = Rialzista[1] AND Ribassista    AND Rapporti AND Spazi
    Cond       = 0
    IF CondL THEN
       Cond    = 1
    ELSIF CondS THEN
       Cond    = 2
    ENDIF
    SCREENER[Cond](Cond AS "1=↑, 2=↓")

    Il filtro da aggiungere è il seguente: considerando l’allegato “esempio.png”, ti chiedo che la distanza MAGGIORE tra AD ed EH (cioè la lunghezza TOTALE (corpo + ombre) della MAGGIORE tra le 2 ultime candele) debba essere >= alla LUNGHEZZA MEDIA delle 5 candele precedenti MOLTIPLICATA X 1,2.

    Esempio: ipotizziamo (vd. figura “esempio.png”) che EH (cioè il corpo + ombre di dimensioni maggiori tra le ultime 2 candele) sia di lunghezza 10, ed AD 9. La candela da prendere in considerazione tra le 2 più recenti sarà, quindi, EH. Deciso ciò, EH dovrà essere maggiore/uguale a ((a+b+c+d+e)/5) x 1,2).

    Grazie!

    ciao

    esempio.png esempio.png
    #198358 quote
    robertogozzi
    Moderator
    Master

    Ecco fatto:

    Rialzista  = close > open
    Ribassista = close < open
    OmbraSup   = high - max(open,close)
    OmbraInf   = min(open,close) - low
    Corpo      = abs(close - open)
    MaxHH      = max(high,high[1])
    MinLL      = min(low,low[1])
    AB         = MaxHH - MinLL
    abH        = MaxHH - high
    abL        = low - MinLL
    SpaziVuoti = (abH + abL) + (abH[1] + abL[1])
    Spazi      = SpaziVuoti <= (AB * 0.2)
    Rapporto1  = (OmbraSup < Corpo) AND (OmbraInf < Corpo)
    RapportoA  = Rapporto1 AND Rapporto1[1]
    RapportoB  = (Corpo >= (Corpo[1] * 0.7)) AND (Corpo <= (Corpo[1] * 1.3))
    Rapporti   = RapportoA AND RapportoB
    Grandezza  = max(range,range[1]) >= (average[5,0](range[2]) * 1.2)
    CondL      = Rialzista    AND Ribassista[1] AND Rapporti AND Spazi AND Grandezza
    CondS      = Rialzista[1] AND Ribassista    AND Rapporti AND Spazi AND Grandezza
    Cond       = 0
    IF CondL THEN
       Cond    = 1
    ELSIF CondS THEN
       Cond    = 2
    ENDIF
    SCREENER[Cond](Cond AS "1=↑, 2=↓")
    #213324 quote
    dollarieur
    Participant
    Senior

    Ciao buongiorno,

     

    ti chiedo una piccola aggiunta all’ultima regola scritta in data  -08/02/2022 at 3:26 PM, che qui aggiungo.

    Rialzista  = close > open
    Ribassista = close < open
    OmbraSup   = high - max(open,close)
    OmbraInf   = min(open,close) - low
    Corpo      = abs(close - open)
    MaxHH      = max(high,high[1])
    MinLL      = min(low,low[1])
    AB         = MaxHH - MinLL
    abH        = MaxHH - high
    abL        = low - MinLL
    SpaziVuoti = (abH + abL) + (abH[1] + abL[1])
    Spazi      = SpaziVuoti <= (AB * 0.2)
    Rapporto1  = (OmbraSup < Corpo) AND (OmbraInf < Corpo)
    RapportoA  = Rapporto1 AND Rapporto1[1]
    RapportoB  = (Corpo >= (Corpo[1] * 0.7)) AND (Corpo <= (Corpo[1] * 1.3))
    Rapporti   = RapportoA AND RapportoB
    Grandezza  = max(range,range[1]) >= (average[5,0](range[2]) * 1.2)
    CondL      = Rialzista    AND Ribassista[1] AND Rapporti AND Spazi AND Grandezza
    CondS      = Rialzista[1] AND Ribassista    AND Rapporti AND Spazi AND Grandezza
    Cond       = 0
    IF CondL THEN
       Cond    = 1
    ELSIF CondS THEN
       Cond    = 2
    ENDIF
    SCREENER[Cond](Cond AS "1=↑, 2=↓")

    Vorrei infatti aggiungere un piccolo ulteriore filtro. Visto essere io interessato soltanto a titoli ascendenti, ti chiedo di aggiungere il seguente filtro:

    le ultime 2 candele (quelle “protagoniste” della figura di inversione), si devono trovare emtrambe al di sotto della MM200.

    P.S. domanda: nel caso di titoli di breve durata, in cui ad es nel grafico mensile o settimanale ancora non si è sviluppata la MM200….questa regola funziona? Se, come credo, la risposta sia NO…ti chiedo allora di aggiungere il seguente “comando”: nel caso in cui la MM200 NON vi sia (causa grafico troppo “recente”, ndr), da considerare allora la MM100.

     

    Grazie ciao

    #213330 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    Rialzista  = close > open
    Ribassista = close < open
    OmbraSup   = high - max(open,close)
    OmbraInf   = min(open,close) - low
    Corpo      = abs(close - open)
    MaxHH      = max(high,high[1])
    MinLL      = min(low,low[1])
    AB         = MaxHH - MinLL
    abH        = MaxHH - high
    abL        = low - MinLL
    SpaziVuoti = (abH + abL) + (abH[1] + abL[1])
    Spazi      = SpaziVuoti <= (AB * 0.2)
    Rapporto1  = (OmbraSup < Corpo) AND (OmbraInf < Corpo)
    RapportoA  = Rapporto1 AND Rapporto1[1]
    RapportoB  = (Corpo >= (Corpo[1] * 0.7)) AND (Corpo <= (Corpo[1] * 1.3))
    Rapporti   = RapportoA AND RapportoB
    Grandezza  = max(range,range[1]) >= (average[5,0](range[2]) * 1.2)
    IF close[200] <> 0 THEN
      MM       = average[200,0](close)
    ELSE
      MM       = average[100,0](close)
    ENDIF
    CondMML    = (summation[2](close < MM) = 2)
    CondMMS    = (summation[2](close > MM) = 2)
    CondL      = Rialzista    AND Ribassista[1] AND Rapporti AND Spazi AND Grandezza AND CondMML
    CondS      = Rialzista[1] AND Ribassista    AND Rapporti AND Spazi AND Grandezza AND CondMMS
    Cond       = 0
    IF CondL THEN
       Cond    = 1
    ELSIF CondS THEN
       Cond    = 2
    ENDIF
    SCREENER[Cond](Cond AS "1=↑, 2=↓")
    #215719 quote
    dollarieur
    Participant
    Senior

    Ciao, ti chiedo un’ultima aggiunta alla regola che mi hai inviato il

    il prezzo, oltre ad essere minore della MM200 (regola già inserita, ndr) , deve però essere minore anche della MM20.

     

    Grazie!

    Ciao

    #215742 quote
    robertogozzi
    Moderator
    Master

    Ecco fatto:

    Rialzista  = close > open
    Ribassista = close < open
    OmbraSup   = high - max(open,close)
    OmbraInf   = min(open,close) - low
    Corpo      = abs(close - open)
    MaxHH      = max(high,high[1])
    MinLL      = min(low,low[1])
    AB         = MaxHH - MinLL
    abH        = MaxHH - high
    abL        = low - MinLL
    SpaziVuoti = (abH + abL) + (abH[1] + abL[1])
    Spazi      = SpaziVuoti <= (AB * 0.2)
    Rapporto1  = (OmbraSup < Corpo) AND (OmbraInf < Corpo)
    RapportoA  = Rapporto1 AND Rapporto1[1]
    RapportoB  = (Corpo >= (Corpo[1] * 0.7)) AND (Corpo <= (Corpo[1] * 1.3))
    Rapporti   = RapportoA AND RapportoB
    Grandezza  = max(range,range[1]) >= (average[5,0](range[2]) * 1.2)
    MM20       = average[20,0](close)
    IF close[200] <> 0 THEN
       MM       = average[200,0](close)
    ELSE
       MM       = average[100,0](close)
    ENDIF
    CondMML    = (summation[2](close < MM AND close < MM20) = 2)
    CondMMS    = (summation[2](close > MM AND close > MM20) = 2)
    CondL      = Rialzista    AND Ribassista[1] AND Rapporti AND Spazi AND Grandezza AND CondMML
    CondS      = Rialzista[1] AND Ribassista    AND Rapporti AND Spazi AND Grandezza AND CondMMS
    Cond       = 0
    IF CondL THEN
       Cond    = 1
    ELSIF CondS THEN
       Cond    = 2
    ENDIF
    SCREENER[Cond](Cond AS "1=↑, 2=↓")
Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.

Figura di inversione


ProScreener: Scansione Mercati & Screener

New Reply
Author
author-avatar
dollarieur @dollarieur Participant
Summary

This topic contains 9 replies,
has 2 voices, and was last updated by robertogozzi
2 years, 9 months ago.

Topic Details
Forum: ProScreener: Scansione Mercati & Screener
Language: Italian
Started: 07/31/2022
Status: Active
Attachments: 4 files
Logo Logo
Loading...