ProsSreener candele rialziste / ribassiste come le HAMMER, o le SPIKE

Viewing 15 posts - 31 through 45 (of 61 total)
  • Author
    Posts
  • #56507 quote
    dollarieur
    Participant
    Senior

    Perfetto, Grazie..Auguri! 🙂

    #56647 quote
    robertogozzi
    Moderator
    Master

    L’ultimo codice da te riportato nel post ha due regole, mentre da quanto hai scritto sembra tu adesso ne voglia una sola.

    Per favore, dimentica quanto già scritto e dimmi, dettagliatamente, cosa vuoi ottenere, in tal modo posso ripartire da zero.

    #56707 quote
    dollarieur
    Participant
    Senior

    Ciao Roberto, Và benissimo…partiamo da zero..forse meglio! 🙂

    _________________________________________________________________________

    Mi servirebbe una regola in grado di riconoscere una figura composta da 2 candele (vedi allegato come esempio).

    La figura deve essere composta da una prima candela (A) che risponda ai seguenti parametri:

    1. l’ombra inferiore (nel caso di candela rialzista) o superiore (nel caso di candela ribassista) deve essere compresa tra il 60 e l’80% dell’intera lunghezza della candela.
    2. il corpo della candela deve essere compreso tra il 5 ed il 25% dell’intera lunghezza della candela.
    3. l’ombra superiore (nel caso di candela rialzista) o inferiore (nel caso di candela ribassista) deve essere compresa tra il 5 ed il 20% dell’intera lunghezza della candela.

    La figura deve essere composta ANCHE da una seconda candela (B) che risponda ai seguenti parametri:

    1. le 2 ombre devono essere comprese tra lo 0% ed il 40% dell’intera candela, mentre il corpo deve essere compreso tra il 35% ed il 100% dell’intera candela)
    2. il prezzo di chiusura deve essere maggiore del prezzo di apertura della candela precedente (se quest’ultima ha avuto prezzo di chiusura > di p apertura) OPPURE, AL CONTRARIO…. il prezzo di chiusura deve essere minore del prezzo di apertura della candela precedente (se quest’ultima ha avuto prezzo di chiusura < di p apertura).

    Molte grazie!

    Ciao!

    Immagine-3.png Immagine-3.png
    #56714 quote
    robertogozzi
    Moderator
    Master

    Riproviamo con questo:

    Corpo          = abs(open - close)                                                                                          //grandezza del corpo
    OmbraSuperiore = high - max(open,close)                                                                                     //grandezza ombra superiore
    OmbraInferiore = min(open,close) - low                                                                                      //grandezza ombra inferiore
    TotaleOmbre    = OmbraSuperiore + OmbraInferiore
    Ampiezza       = range                                                                                                      //ampiezza della candela (high - low)
    // Candela A
    IF close[1] > open[1] THEN                                                                                                  //---Candela RIALZISTA
       CandelaA    =              (OmbraInferiore[1] >= (Ampiezza[1] * 0.60)) AND (OmbraInferiore[1] <= (Ampiezza[1] * 0.80))   //Ombra inf. tra 0.60 e 0.80
       CandelaA    = CandelaB AND (OmbraSuperiore[1] >= (Ampiezza[1] * 0.05)) AND (OmbraSuperiore[1] <= (Ampiezza[1] * 0.20))   //Ombra sup. tra 0.05 e 0.20
    ELSE                                                                                                                        //---Candela RIBASSISTA
       CandelaA    =              (OmbraSuperiore[1] >= (Ampiezza[1] * 0.60)) AND (OmbraSuperiore[1] <= (Ampiezza[1] * 0.80))   //Ombra sup. tra 0.60 e 0.80
       CandelaA    = CandelaA AND (OmbraInferiore[1] >= (Ampiezza[1] * 0.05)) AND (OmbraInferiore[1] <= (Ampiezza[1] * 0.20))   //Ombra sup. tra 0.05 e 0.20
    ENDIF
    CandelaA       = CandelaA AND (Corpo[1] >= (Ampiezza[1] * 0.05)) AND (Corpo[1] <= (Ampiezza[1] * 0.25))                     //Corpo tra 0.05 e 0.25
    // Candela B
    IF close[1] > open[1] THEN                                                                                                  //Se la Candela A era RIALZISTA...
       CandelaB = close > open[1]                                                                                               //...BULLish, chiusura > apertura Candela A
    ELSE                                                                                                                        //Se la Candela A era RIBASSISTA...
       CandelaB = close < open[1]                                                                                               //...BEARish, chiusura < apertura Candela A
    ENDIF
    CandelaB       = CandelaB AND (Corpo >= (Ampiezza * 0.35)) AND (Corpo <= Ampiezza)                                          //Corpo tra 0.35 e 1.00
    CandelaB       = CandelaB AND (TotaleOmbre >= 0) AND (TotaleOmbre <= (Ampiezza * 0.40))                                     //Totale ombre tra 0 e 0.40
    // Risultato
    Risultato = CandelaA AND CandelaB
    SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")

    La Candela A è quella precedente (a sinistra nella tua foto, la Pin Bar), mentre quella corrente è quella a destra.

    #57303 quote
    dollarieur
    Participant
    Senior

    Molte grazie della risposta…tuttavia, non capisco perché..ma la regola non fà ciò che io vorrei.

    Per farmi capire meglio, ti allego una regola da te precedentemente inviatami, la seguente:

    Corpo = abs(open - close) //grandezza del corpo
    OmbraSuperiore = high - max(open,close) //grandezza ombra superiore
    OmbraInferiore = min(open,close) - low //grandezza ombra inferiore
    TotaleOmbre = OmbraSuperiore + OmbraInferiore
    Ampiezza = range //ampiezza della candela (high - low)
    // Regola 1
    Regola1 = (TotaleOmbre <= (Ampiezza * 0.4)) AND (Corpo >= (Ampiezza * 0.35))
    // Regola 2
    Rialzo = (OmbraInferiore[1] >= (Ampiezza[1] * 0.60) AND OmbraInferiore[1] <= (Ampiezza[1] * 0.80))
    Ribasso = (OmbraSuperiore[1] >= (Ampiezza[1] * 0.60) AND OmbraSuperiore[1] <= (Ampiezza[1] * 0.80))
    Rialzo = Rialzo AND (OmbraSuperiore[1] >= (Ampiezza[1] * 0.00)) AND (OmbraSuperiore[1] <= (Ampiezza[1] * 0.25))
    Ribasso = Ribasso AND (OmbraInferiore[1] >= (Ampiezza[1] * 0.00)) AND (OmbraInferiore[1] <= (Ampiezza[1] * 0.25))
    Rialzo = Rialzo AND (Corpo[1] >= (Ampiezza[1] * 0.05)) AND (Corpo[1] <= (Ampiezza[1] * 0.20))
    Ribasso = Ribasso AND (Corpo[1] >= (Ampiezza[1] * 0.05)) AND (Corpo[1] <= (Ampiezza[1] * 0.20))
    Regola2 = 0
    IF Rialzo THEN
    Regola2 = 1 //restituisce 1 per i pattern al RIALZO
    ELSIF Ribasso THEN
    Regola2 = 2 //restituisce 2 per i pattern al RIBASSO
    ENDIF
    // Risultato
    Risultato = Regola1 * Regola2
    SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")

    La regola di cui sopra, risponde QUASI perfettamente a ciò che io vorrei: l’unico aspetto negativo è il seguente (ed è per questo che sto attendendo, appunto, un “perfezionamento”, ndr): NON “VEDE” QUANDO ENTRAMBE LE CANDELE DEL PATTERN SIANO RIBASSISTE O RIALZISTE…ma, al contrario, per avvisarmi è sufficiente ci sia una pin bar seguita da una candela Marubozu (o, al max, con “poche” ombre), A PRESCINDERE, PERO’, LA DIREZIONE DI ENTRAMBE SIA UGUALE O OPPOSTA!

    A me, basterebbe “perfezionare” la regola di cui sopra.

    P.S. Al contrario di cercare di “dimenticare” le regole vecchie, come volevamo fare, in questo caso mi riferisco ad una regola vecchia in quanto, usandola, mi trova (ad es stasera) figure giuste come per ENEL o DEUTSCHE BANK (FTSE MIB) che, la regola nuova NON trova (vd. allegati).

    Spero averti fornito info sufficienti!

    Grazie!

    #57472 quote
    robertogozzi
    Moderator
    Master

    Ok, ma devo rimandare il tutto all’inizio della prossima settimana.

    #57496 quote
    dollarieur
    Participant
    Senior

    Và benissimo…! 🙂

    #58694 quote
    robertogozzi
    Moderator
    Master

    Questa versione modificata del tuo post del 4 Gennaio dovrebbe fare ciò che chiedi, le candele devono avere lo stesso segno, o entrambe RIBASSISTE o entrambe RIALZISTE (viene restituito1=rialziste e 4=RIBASSISTE):

    Corpo          = abs(open - close)                 //grandezza del corpo
    OmbraSuperiore = high - max(open,close)            //grandezza ombra superiore
    OmbraInferiore = min(open,close) - low             //grandezza ombra inferiore
    TotaleOmbre    = OmbraSuperiore + OmbraInferiore
    Ampiezza       = range                             //ampiezza della candela (high - low)
    // Regola 1
    Regola1        = (TotaleOmbre <= (Ampiezza * 0.4)) AND (Corpo >= (Ampiezza * 0.35))
    IF Regola1 AND (close < open) THEN
       Regola1 = 2
    ENDIF
    // Regola 2
    Rialzo         = (OmbraInferiore[1] >= (Ampiezza[1] * 0.60) AND OmbraInferiore[1] <= (Ampiezza[1] * 0.80))
    Ribasso        = (OmbraSuperiore[1] >= (Ampiezza[1] * 0.60) AND OmbraSuperiore[1] <= (Ampiezza[1] * 0.80))
    Rialzo         = Rialzo AND (OmbraSuperiore[1] >= (Ampiezza[1] * 0.00)) AND (OmbraSuperiore[1] <= (Ampiezza[1] * 0.25))
    Ribasso        = Ribasso AND (OmbraInferiore[1] >= (Ampiezza[1] * 0.00)) AND (OmbraInferiore[1] <= (Ampiezza[1] * 0.25))
    Rialzo         = Rialzo AND (Corpo[1] >= (Ampiezza[1] * 0.05)) AND (Corpo[1] <= (Ampiezza[1] * 0.20))  AND close > open
    Ribasso        = Ribasso AND (Corpo[1] >= (Ampiezza[1] * 0.05)) AND (Corpo[1] <= (Ampiezza[1] * 0.20)) AND close < open
    Regola2        = 0
    IF Rialzo THEN
       Regola2     = 1
    ELSIF Ribasso THEN
       Regola2     = 2
    ENDIF
    // Risultato
    Risultato = Regola1 * Regola2                       //1=pattern RIALZISTA,  4=pattern RIBASSISTA
    SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")
    #58734 quote
    dollarieur
    Participant
    Senior

    Direi perfetto, Roberto…ho guardato un pò al volo ma, a prima vista, sembra proprio fare ciò che ti avevo chiesto! 🙂

    Molte grazie! 🙂

    #67776 quote
    dollarieur
    Participant
    Senior

    Ciao Roberto, come và?

    Ti vorrei chiedere 2 regole, se puoi!

    PRIMA REGOLA

    Una regola (spero, ndr)  piuttosto “semplice” per te, visto che si basa cmq sulla seguente regola,  da te già precedentemente creata.

    //le candele devono avere le seguenti dimensioni:
    
    // l’ombra inferiore (nel caso di candela rialzista) o superiore (nel caso di candela ribassista) deve essere compresa tra il 60 e l’80% dell’intera lunghezza della candela
    // il corpo della candela deve essere compreso tra il 5 ed il 25% dell’intera lunghezza della candela
    // l’ombra superiore (nel caso di candela rialzista) o inferiore (nel caso di candela ribassista) deve essere compresa tra il 5 ed il 20% dell’intera lunghezza della candela
    
    Corpo          = abs(open - close)       //grandezza del corpo
    OmbraSuperiore = high - max(open,close)  //grandezza ombra superiore
    OmbraInferiore = min(open,close) - low   //grandezza ombra inferiore
    Ampiezza       = range                   //ampiezza della candela (high - low)
    
    Rialzo         = (OmbraInferiore >= (Ampiezza  * 0.60) AND OmbraInferiore <= (Ampiezza * 0.80))
    Ribasso        = (OmbraSuperiore >= (Ampiezza  * 0.60) AND OmbraSuperiore <= (Ampiezza * 0.80))
    
    Rialzo         = Rialzo  AND (OmbraSuperiore >= (Ampiezza  * 0.00) AND OmbraSuperiore <= (Ampiezza * 0.25))
    Ribasso        = Ribasso AND (OmbraInferiore >= (Ampiezza  * 0.00) AND OmbraInferiore <= (Ampiezza * 0.25))
    
    Rialzo         = Rialzo  AND (Corpo >= (Ampiezza * 0.05)) AND (Corpo <= (Ampiezza * 0.20))
    Ribasso        = Ribasso AND (Corpo >= (Ampiezza * 0.05)) AND (Corpo <= (Ampiezza * 0.20))
    
    Risultato      = 0
    IF Rialzo THEN
    Risultato = 1                                      //restituisce 1 per i pattern al RIALZO
    ELSIF Ribasso THEN
    Risultato = 2                                      //restituisce 2 per i pattern al RIBASSO
    ENDIF
    
    SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")
    

    Con tale regola, come avrai potuto vedere, si può trovare la classica candela rialzista / ribassista tipo Hammer, con determinate proporzioni.

    Ciò che ti chiedo di aggiungere alla suddetta regola è questo:

    1. le candele rialziste / ribassiste (rispondenti entrambe ai parametri di cui alla regola sopra, ndr) devono essere 2 consecutive.
    2. il prezzo di chiusura di ENTRAMBE le candele deve essere: <= MME100 e, contemporaneamente >= MME200 (nel caso di 2 candele entrambe rialziste) e , al contrario,  deve essere >= MME100 e, contemporaneamente <= MME200 (nel caso di 2 candele entrambe ribassiste).

     

    SECONDA REGOLA

    La seconda regola che ti chiedo è uguale al 99% alla prima. L’unica cosa che ti chiedo è la seguente. Immagina io stia cercando le condizioni di cui alla prima regola in un GRAFICO SETTIMANALE..ma stasera è, ad es, lunedì. Come potrai capre, nel grafico settimanale, l’ultima candela che compare è inerente solo lunedì e quindi ha, finora, ben poco valore. Vorrei quindi creare una regola esattamente UGUALE ALLA REGOLA 1 ma che cerchi, quindi, il pattern di cui alla REGOLA 1 NON nelle ultime 2 candele, bensì nella penultima e terz’ultima candela, evitando quindi l’ultima di scarso valore.

    Mi sono fatto comprendere??

    Molte grazie ancora !!

    Ciao!

    Andrea

    #67784 quote
    robertogozzi
    Moderator
    Master

    Regola 1/a (per distimguerla dalla vecchia regola 1):

    //le candele devono avere le seguenti dimensioni:
     
    // l’ombra inferiore (nel caso di candela rialzista) o superiore (nel caso di candela ribassista) deve essere compresa tra il 60 e l’80% dell’intera lunghezza della candela
    // il corpo della candela deve essere compreso tra il 5 ed il 25% dell’intera lunghezza della candela
    // l’ombra superiore (nel caso di candela rialzista) o inferiore (nel caso di candela ribassista) deve essere compresa tra il 5 ed il 20% dell’intera lunghezza della candela
     
    Corpo          = abs(open - close)       //grandezza del corpo
    OmbraSuperiore = high - max(open,close)  //grandezza ombra superiore
    OmbraInferiore = min(open,close) - low   //grandezza ombra inferiore
    Ampiezza       = range                   //ampiezza della candela (high - low)
     
    Rialzo         = (OmbraInferiore >= (Ampiezza  * 0.60) AND OmbraInferiore <= (Ampiezza * 0.80))
    Ribasso        = (OmbraSuperiore >= (Ampiezza  * 0.60) AND OmbraSuperiore <= (Ampiezza * 0.80))
     
    Rialzo         = Rialzo  AND (OmbraSuperiore >= (Ampiezza  * 0.00) AND OmbraSuperiore <= (Ampiezza * 0.25))
    Ribasso        = Ribasso AND (OmbraInferiore >= (Ampiezza  * 0.00) AND OmbraInferiore <= (Ampiezza * 0.25))
     
    Rialzo         = Rialzo  AND (Corpo >= (Ampiezza * 0.05)) AND (Corpo <= (Ampiezza * 0.20)) AND (close <= Average[100,1](close)) AND (close >= Average[200,1](close))
    Ribasso        = Ribasso AND (Corpo >= (Ampiezza * 0.05)) AND (Corpo <= (Ampiezza * 0.20)) AND (close >= Average[100,1](close)) AND (close <= Average[200,1](close))
     
    Risultato      = 0
    IF summation[2](Rialzo) = 2 THEN
       Risultato = 1                                      //restituisce 1 per i pattern al RIALZO
    ELSIF summation[2](Ribasso) = 2 THEN
       Risultato = 2                                      //restituisce 2 per i pattern al RIBASSO
    ENDIF
     
    SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")
    #67785 quote
    robertogozzi
    Moderator
    Master

    Regola 2/a:

    //le candele devono avere le seguenti dimensioni:
     
    // l’ombra inferiore (nel caso di candela rialzista) o superiore (nel caso di candela ribassista) deve essere compresa tra il 60 e l’80% dell’intera lunghezza della candela
    // il corpo della candela deve essere compreso tra il 5 ed il 25% dell’intera lunghezza della candela
    // l’ombra superiore (nel caso di candela rialzista) o inferiore (nel caso di candela ribassista) deve essere compresa tra il 5 ed il 20% dell’intera lunghezza della candela
     
    Corpo          = abs(open - close)       //grandezza del corpo
    OmbraSuperiore = high - max(open,close)  //grandezza ombra superiore
    OmbraInferiore = min(open,close) - low   //grandezza ombra inferiore
    Ampiezza       = range                   //ampiezza della candela (high - low)
     
    Rialzo         = (OmbraInferiore >= (Ampiezza  * 0.60) AND OmbraInferiore <= (Ampiezza * 0.80))
    Ribasso        = (OmbraSuperiore >= (Ampiezza  * 0.60) AND OmbraSuperiore <= (Ampiezza * 0.80))
     
    Rialzo         = Rialzo  AND (OmbraSuperiore >= (Ampiezza  * 0.00) AND OmbraSuperiore <= (Ampiezza * 0.25))
    Ribasso        = Ribasso AND (OmbraInferiore >= (Ampiezza  * 0.00) AND OmbraInferiore <= (Ampiezza * 0.25))
     
    Rialzo         = Rialzo  AND (Corpo >= (Ampiezza * 0.05)) AND (Corpo <= (Ampiezza * 0.20)) AND (close <= Average[100,1](close)) AND (close >= Average[200,1](close))
    Ribasso        = Ribasso AND (Corpo >= (Ampiezza * 0.05)) AND (Corpo <= (Ampiezza * 0.20)) AND (close >= Average[100,1](close)) AND (close <= Average[200,1](close))
     
    Risultato      = 0
    IF summation[2](Rialzo[1]) = 2 THEN
       Risultato = 1                                      //restituisce 1 per i pattern al RIALZO
    ELSIF summation[2](Ribasso[1]) = 2 THEN
       Risultato = 2                                      //restituisce 2 per i pattern al RIBASSO
    ENDIF
     
    SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")
    #67950 quote
    dollarieur
    Participant
    Senior

    [attachment file=67951]

    Ciao, molte grazie della risposta.

    Tuttavia credo sinceramente vi sia qualche cosa che non vada in entrambe le formule.

    Facendo il ProScreener, sia giornaliero sia settimanale, NON ha trovato NULLA ….se non azioni con grafico…diciamo PIATTO (Vd. allegato), ad es con le ultime candele  in cui prezzo di apertura, chiusura, minimo e massimo coincidono.

    Vi è la possibilità di migliorare qualcosa? Molte grazie!

    ESCH-Settimanale.png ESCH-Settimanale.png
    #68001 quote
    robertogozzi
    Moderator
    Master

    Perché un prezzo sia, contemporaneamente, < Ema100 e > Ema200… si, il prezzo deve essere abbastanza congestionato!

    #68700 quote
    dollarieur
    Participant
    Senior

    Grazie della regola anche se, onestamente….mi SEMBRA (ripeto, SEMBRA, ndr..ammetto dovere controllare..quando trovo tempo.. 🙂 )non rispecchi in toto ciò che chiedevo..mi sembra alquanto strano non riesca a trovare tra MME 100 e 200 ..distanza che, spesso, è piuttosto ampia.

     

    Ti chiedo allora gentilmente se potresti SEMPLIFICARE ..

    Basandoti sempre sulla tua seguente regola

    //le candele devono avere le seguenti dimensioni:
    
    // l’ombra inferiore (nel caso di candela rialzista) o superiore (nel caso di candela ribassista) deve essere compresa tra il 60 e l’80% dell’intera lunghezza della candela
    // il corpo della candela deve essere compreso tra il 5 ed il 25% dell’intera lunghezza della candela
    // l’ombra superiore (nel caso di candela rialzista) o inferiore (nel caso di candela ribassista) deve essere compresa tra il 5 ed il 20% dell’intera lunghezza della candela
    
    Corpo          = abs(open - close)       //grandezza del corpo
    OmbraSuperiore = high - max(open,close)  //grandezza ombra superiore
    OmbraInferiore = min(open,close) - low   //grandezza ombra inferiore
    Ampiezza       = range                   //ampiezza della candela (high - low)
    
    Rialzo         = (OmbraInferiore >= (Ampiezza  * 0.60) AND OmbraInferiore <= (Ampiezza * 0.80))
    Ribasso        = (OmbraSuperiore >= (Ampiezza  * 0.60) AND OmbraSuperiore <= (Ampiezza * 0.80))
    
    Rialzo         = Rialzo  AND (OmbraSuperiore >= (Ampiezza  * 0.00) AND OmbraSuperiore <= (Ampiezza * 0.25))
    Ribasso        = Ribasso AND (OmbraInferiore >= (Ampiezza  * 0.00) AND OmbraInferiore <= (Ampiezza * 0.25))
    
    Rialzo         = Rialzo  AND (Corpo >= (Ampiezza * 0.05)) AND (Corpo <= (Ampiezza * 0.20))
    Ribasso        = Ribasso AND (Corpo >= (Ampiezza * 0.05)) AND (Corpo <= (Ampiezza * 0.20))
    
    Risultato      = 0
    IF Rialzo THEN
    Risultato = 1                                      //restituisce 1 per i pattern al RIALZO
    ELSIF Ribasso THEN
    Risultato = 2                                      //restituisce 2 per i pattern al RIBASSO
    ENDIF
    
    SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")

    ..ti chiedo se puoi creare 2 regole:

    1. che evidenzi i titoli nei quali ENTRAMBE LE ULTIME 2 CANDELE rispettano i parametri di cui alla regola appena inserita precedentemente.
    2. che evidenzi i titoli nei quali ENTRAMBE LA PENULTIMA E TERZ’ULTIMA CANDELA rispettano i parametri di cui alla regola appena inserita precedentemente.

    STOP.

    Vorrei quindi semplificare la regola, eliminando il parametro in base a cui il prezzo debba essere compreso tra le 2 MME.

    Molte grazie ciao

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

ProsSreener candele rialziste / ribassiste come le HAMMER, o le SPIKE


ProScreener: Scansione Mercati & Screener

New Reply
Author
author-avatar
dollarieur @dollarieur Participant
Summary

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

Topic Details
Forum: ProScreener: Scansione Mercati & Screener
Language: Italian
Started: 11/15/2017
Status: Active
Attachments: 20 files
Logo Logo
Loading...