ProsSreener candele rialziste / ribassiste come le HAMMER, o le SPIKE
Forums › ProRealTime forum Italiano › Supporto ProScreener › ProsSreener candele rialziste / ribassiste come le HAMMER, o le SPIKE
- This topic has 60 replies, 2 voices, and was last updated 1 year ago by robertogozzi.
-
-
12/24/2017 at 3:52 PM #56507
Perfetto, Grazie..Auguri! 🙂
12/27/2017 at 3:39 PM #56647L’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.
12/27/2017 at 10:20 PM #56707Ciao 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:
- 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.
La figura deve essere composta ANCHE da una seconda candela (B) che risponda ai seguenti parametri:
- 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)
- 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!
12/27/2017 at 11:08 PM #56714Riproviamo con questo:
12345678910111213141516171819202122232425Corpo = abs(open - close) //grandezza del corpoOmbraSuperiore = high - max(open,close) //grandezza ombra superioreOmbraInferiore = min(open,close) - low //grandezza ombra inferioreTotaleOmbre = OmbraSuperiore + OmbraInferioreAmpiezza = range //ampiezza della candela (high - low)// Candela AIF close[1] > open[1] THEN //---Candela RIALZISTACandelaA = (OmbraInferiore[1] >= (Ampiezza[1] * 0.60)) AND (OmbraInferiore[1] <= (Ampiezza[1] * 0.80)) //Ombra inf. tra 0.60 e 0.80CandelaA = CandelaB AND (OmbraSuperiore[1] >= (Ampiezza[1] * 0.05)) AND (OmbraSuperiore[1] <= (Ampiezza[1] * 0.20)) //Ombra sup. tra 0.05 e 0.20ELSE //---Candela RIBASSISTACandelaA = (OmbraSuperiore[1] >= (Ampiezza[1] * 0.60)) AND (OmbraSuperiore[1] <= (Ampiezza[1] * 0.80)) //Ombra sup. tra 0.60 e 0.80CandelaA = CandelaA AND (OmbraInferiore[1] >= (Ampiezza[1] * 0.05)) AND (OmbraInferiore[1] <= (Ampiezza[1] * 0.20)) //Ombra sup. tra 0.05 e 0.20ENDIFCandelaA = CandelaA AND (Corpo[1] >= (Ampiezza[1] * 0.05)) AND (Corpo[1] <= (Ampiezza[1] * 0.25)) //Corpo tra 0.05 e 0.25// Candela BIF close[1] > open[1] THEN //Se la Candela A era RIALZISTA...CandelaB = close > open[1] //...BULLish, chiusura > apertura Candela AELSE //Se la Candela A era RIBASSISTA...CandelaB = close < open[1] //...BEARish, chiusura < apertura Candela AENDIFCandelaB = CandelaB AND (Corpo >= (Ampiezza * 0.35)) AND (Corpo <= Ampiezza) //Corpo tra 0.35 e 1.00CandelaB = CandelaB AND (TotaleOmbre >= 0) AND (TotaleOmbre <= (Ampiezza * 0.40)) //Totale ombre tra 0 e 0.40// RisultatoRisultato = CandelaA AND CandelaBSCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")La Candela A è quella precedente (a sinistra nella tua foto, la Pin Bar), mentre quella corrente è quella a destra.
01/04/2018 at 9:53 PM #57303Molte 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:
1234567891011121314151617181920212223Corpo = abs(open - close) //grandezza del corpoOmbraSuperiore = high - max(open,close) //grandezza ombra superioreOmbraInferiore = min(open,close) - low //grandezza ombra inferioreTotaleOmbre = OmbraSuperiore + OmbraInferioreAmpiezza = range //ampiezza della candela (high - low)// Regola 1Regola1 = (TotaleOmbre <= (Ampiezza * 0.4)) AND (Corpo >= (Ampiezza * 0.35))// Regola 2Rialzo = (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 = 0IF Rialzo THENRegola2 = 1 //restituisce 1 per i pattern al RIALZOELSIF Ribasso THENRegola2 = 2 //restituisce 2 per i pattern al RIBASSOENDIF// RisultatoRisultato = Regola1 * Regola2SCREENER [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!
01/06/2018 at 12:01 AM #57472Ok, ma devo rimandare il tutto all’inizio della prossima settimana.
01/06/2018 at 12:13 PM #5749601/09/2018 at 5:08 PM #58694Questa 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):
1234567891011121314151617181920212223242526Corpo = abs(open - close) //grandezza del corpoOmbraSuperiore = high - max(open,close) //grandezza ombra superioreOmbraInferiore = min(open,close) - low //grandezza ombra inferioreTotaleOmbre = OmbraSuperiore + OmbraInferioreAmpiezza = range //ampiezza della candela (high - low)// Regola 1Regola1 = (TotaleOmbre <= (Ampiezza * 0.4)) AND (Corpo >= (Ampiezza * 0.35))IF Regola1 AND (close < open) THENRegola1 = 2ENDIF// Regola 2Rialzo = (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 > openRibasso = Ribasso AND (Corpo[1] >= (Ampiezza[1] * 0.05)) AND (Corpo[1] <= (Ampiezza[1] * 0.20)) AND close < openRegola2 = 0IF Rialzo THENRegola2 = 1ELSIF Ribasso THENRegola2 = 2ENDIF// RisultatoRisultato = Regola1 * Regola2 //1=pattern RIALZISTA, 4=pattern RIBASSISTASCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")01/09/2018 at 8:13 PM #58734Direi perfetto, Roberto…ho guardato un pò al volo ma, a prima vista, sembra proprio fare ciò che ti avevo chiesto! 🙂
Molte grazie! 🙂
04/09/2018 at 10:00 PM #67776Ciao 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.
12345678910111213141516171819202122232425262728//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 candelaCorpo = abs(open - close) //grandezza del corpoOmbraSuperiore = high - max(open,close) //grandezza ombra superioreOmbraInferiore = min(open,close) - low //grandezza ombra inferioreAmpiezza = 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 = 0IF Rialzo THENRisultato = 1 //restituisce 1 per i pattern al RIALZOELSIF Ribasso THENRisultato = 2 //restituisce 2 per i pattern al RIBASSOENDIFSCREENER [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:
- le candele rialziste / ribassiste (rispondenti entrambe ai parametri di cui alla regola sopra, ndr) devono essere 2 consecutive.
- 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
04/10/2018 at 1:01 AM #67784Regola 1/a (per distimguerla dalla vecchia regola 1):
12345678910111213141516171819202122232425262728//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 candelaCorpo = abs(open - close) //grandezza del corpoOmbraSuperiore = high - max(open,close) //grandezza ombra superioreOmbraInferiore = min(open,close) - low //grandezza ombra inferioreAmpiezza = 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 = 0IF summation[2](Rialzo) = 2 THENRisultato = 1 //restituisce 1 per i pattern al RIALZOELSIF summation[2](Ribasso) = 2 THENRisultato = 2 //restituisce 2 per i pattern al RIBASSOENDIFSCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")04/10/2018 at 1:02 AM #67785Regola 2/a:
12345678910111213141516171819202122232425262728//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 candelaCorpo = abs(open - close) //grandezza del corpoOmbraSuperiore = high - max(open,close) //grandezza ombra superioreOmbraInferiore = min(open,close) - low //grandezza ombra inferioreAmpiezza = 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 = 0IF summation[2](Rialzo[1]) = 2 THENRisultato = 1 //restituisce 1 per i pattern al RIALZOELSIF summation[2](Ribasso[1]) = 2 THENRisultato = 2 //restituisce 2 per i pattern al RIBASSOENDIFSCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")04/10/2018 at 7:25 PM #67950Ciao, 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!
04/11/2018 at 8:58 AM #68001Perché un prezzo sia, contemporaneamente, < Ema100 e > Ema200… si, il prezzo deve essere abbastanza congestionato!
04/18/2018 at 5:04 PM #68700Grazie 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
12345678910111213141516171819202122232425262728//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 candelaCorpo = abs(open - close) //grandezza del corpoOmbraSuperiore = high - max(open,close) //grandezza ombra superioreOmbraInferiore = min(open,close) - low //grandezza ombra inferioreAmpiezza = 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 = 0IF Rialzo THENRisultato = 1 //restituisce 1 per i pattern al RIALZOELSIF Ribasso THENRisultato = 2 //restituisce 2 per i pattern al RIBASSOENDIFSCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")..ti chiedo se puoi creare 2 regole:
- che evidenzi i titoli nei quali ENTRAMBE LE ULTIME 2 CANDELE rispettano i parametri di cui alla regola appena inserita precedentemente.
- 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
-
AuthorPosts
Find exclusive trading pro-tools on