ProRealCode - Trading & Coding with ProRealTime™
In effetti PRT è una bella piattaforma, ma deve ancora crescere e fare molti passi in avanti per essere veramente soddisfacente!
Tuttavia… stento a capire una cosa: se traccio una retta su un grafico, clicco su tasto dx + inserimento allarme, il programma mi permette di inserire un allarme per eventuale intersezione del prezzo con la linea da me tracciata.. riconoscendo quindi le MIE linee. Stento quindi a capire perché, al contrario, il Pro Screener non sia in grado di fare la stessa cosa..!! Cosa che, quindi, il programma è in grado di fare… sbaglio?
ProRealTime è una piattaforma grafica e fa quello che hai detto. Poi ci sono altri 3 moduli (credo nati successivamente nel tempo):
Non tutte condividono le stesse funzionalità, l’interazione con alcuni oggetti sul grafico è caratteristica solo di ProRealTime, la possibilità di usare MTF (Multi Time Frame) è una funzionalità di ProScreener ma, ad esempio, non di ProOrder, ecc… Probabilmente con il tempo può darsi che, man mano che escono nuove versioni, certe funzionalità di un modulo possano essere adottate anche dagli altri, ma per questo possiamo solo aspettare.
Per qualcuno certe funzionalità mancanti possono essere qualcosa di imprescindibile e vorranno cercare in altre piattaforme, per altri può valere la pena attendere, seppure a malincuore.
Si, hai scritto purtroppo giusto..”a malincuore”….davvero.. 🙁 🙂
Grazie per la spiegazione e chiarimento!
Ti volevo chiedere, se puoi..un’altra regola Proscreener, da avere in 2 modi: 1) DA SOLA 2) legata alla regola da te gentilmente scrittami precedentemente..
Vorrei che ProScreener mi cercasse le candele con le seguenti proporzioni: 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.
Quello che mi interessa sarebbe la creazione di 2 regole:
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”)
__________________________________________________________________________________________
E’ possibile?
Molte grazie! 🙂
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")
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")
in pratica è lo stesso codice di cui sopra, solo che ho commentato le righe relative alla regola n. 2.
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 close[1] > open[1] //se Candela precedente RIALZISTA...
IF close > open[1] THEN //... quella attuale deve chiudere > apertura precedente
Regola2 = 1
ENDIF
ELSIF close[1] < open[1] THEN //se Candela precedente RIBASSISTA...
IF close < open[1] THEN //... quella attuale deve chiudere < apertura precedente
Regola2 = 1
ENDIF
ENDIF
//------------------------------------
IF Rialzo THEN
Regola2 = Regola2 * 1 //restituisce 1 per i pattern al RIALZO
ELSIF Ribasso THEN
Regola2 = Regola2 * 2 //restituisce 2 per i pattern al RIBASSO
ENDIF
// Risultato
Risultato = Regola1 * Regola2
SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")
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")
..tuttavia, nel tuo messaggio di risposta delle h12.47, mi hai inviato una regola (cioè la 1..non la 2 come chiedevo) finalizzata solo a cercare candele di tipo rialzista (Marubozu), ma non precedute da candele Martello come a me interesserebbe.
Tornando a noi, ti chiederei il seguente miglioramento della regola precedentemente riportata in questo messaggio:
Ti chiedo quindi se cortesemente potresti aggiungere tale parametro:
La SECONDA CANDELA (oltre a rispondere ai seguenti parametri già visti nei precedenti messaggi.. :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), deve anche rispondere a ciò:
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).
Se non sono stato chiaro, dimmi.. 🙂
Grazie!
Perfetto allora..e grazie ancora. Ti volevo chiedere, se possibile, un piccolo perfezionamento della regola n.2 in quanto, effettivamente, spesso trova delle figure (vd allegati 1 e 2) in cui, alla prima candela (ad es.) rialzista, si contrappone un’ulteriore candela che..di rialzista..ha molto poco..e viceversa… Il mio desiderio sarebbe quindi di filtrare e vedere entrambe le candele nella stessa direzione… Ti chiedo quindi se cortesemente potresti aggiungere tale parametro: La SECONDA CANDELA (oltre a rispondere ai seguenti parametri già visti nei precedenti messaggi.. :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), deve anche rispondere a ciò: 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). Il tutto..per evitare mi selezioni le figura salvate nelle immagini allegate. Molte grazie e buon Natale!Quindi ho lasciato inalterata la regola n. 1 ed ho fatto la modifica/aggiunta alla regola n. 2:
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 close[1] > open[1] THEN //se Candela precedente RIALZISTA...
IF close > open[1] THEN //... quella attuale deve chiudere > apertura precedente
Regola2 = 1
ENDIF
ELSIF close[1] < open[1] THEN //se Candela precedente RIBASSISTA...
IF close < open[1] THEN //... quella attuale deve chiudere < apertura precedente
Regola2 = 1
ENDIF
ENDIF
//------------------------------------
IF Rialzo THEN
Regola2 = Regola2 * 1 //restituisce 1 per i pattern al RIALZO
ELSIF Ribasso THEN
Regola2 = Regola2 * 2 //restituisce 2 per i pattern al RIBASSO
ENDIF
// Risultato
Risultato = Regola1 * Regola2
SCREENER [Risultato] (Risultato AS "Rialzo/Ribasso")
Non va?
ProsSreener candele rialziste / ribassiste come le HAMMER, o le SPIKE
This topic contains 60 replies,
has 2 voices, and was last updated by
robertogozzi
2 years, 10 months ago.
| Forum: | ProScreener: Scansione Mercati & Screener |
| Language: | Italian |
| Started: | 11/15/2017 |
| Status: | Active |
| Attachments: | 20 files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.