Questo è lo screener senza la forza relativa:
//--------------------------------------------------------
TIMEFRAME(Weekly)
//
// Canale di DONCHIAN
p = 20
Upper = HIGHEST[p](HIGH[1])
//Lower = LOWEST[p](LOW[1])
Distanza = 3 * pipsize
cDonchiaN = close >= (Upper - Distanza)
//
cWeekly = cDonchian
//--------------------------------------------------------
TIMEFRAME(Daily)
//
Rialzo = close > open
//
M20 = average[20,0](close)
cM20 = M20 > M20[1]
M50 = average[50,0](close)
cM50 = M50 > M50[1]
M200 = average[200,0](close)
cM200 = M200 > M200[1]
//
Roc20 = ROC[20](close)
cRoc20 = Roc20 > 0
Roc50 = ROC[20](close)
cRoc50 = Roc50 > 0
Roc200 = ROC[20](close)
cRoc200 = Roc200 > 0
//
DMI18 = DIplus[18](close)
cDmi18 = DMI18 > DMI18[1]
//
Rsi14 = Rsi[14](close)
cRsi14 = Rsi14 >= 65
//
cVolume = Volume > Volume[1]
//
cDaily = Rialzo AND cM20 AND cM50 AND cM200 AND cRoc20 AND cRoc50 AND cRoc200 AND cDmi18 AND cRsi14 AND cVolume
//
//--------------------------------------------------------
TIMEFRAME(default)
//
Risultato = cDaily AND cWeekly
//
SCREENER[Risultato]
questo è uno screener con la Forza Relativa (va applicato sul gruppo NASDAQ):
TIMEFRAME(daily)
CloseVal = Close
//
EQUITYFRAME("Azioni - US (NASDAQ","AMZN")
CloseInd = Close
EQUITYFRAME(default)
Ratio = (CloseVal / CloseInd) *100
//
TIMEFRAME(default)
RelativeStrength = (Ratio - Ratio[1]) *100
MyAvg = average[20,0](RelativeStrength) //Media Semplice a 20 periodi
Cond = 0
IF RelativeStrength CROSSES OVER MyAvg AND (close > 150) THEN
cond = 1
ELSIF RelativeStrength CROSSES UNDER MyAvg AND (close > 150) THEN
cond = 2
ENDIF
SCREENER [Cond](Cond AS "1=↑,2=↓")//(RelativeStrength AS "RelativeStrength"
quando lo fai partire ti si aprirà una finestra dove ti chiede di selezionare il titolo da confrontare, perchè con codice AMZN ce ne sono diversi (se fosse univoco non lo chiederebbe). Se provi ad applicarlo ad u gruppo/categoria diverso da NASDAQ vedrai la segnalazione d’errore.
Grazie per gli screnner. Al fine di comprendere il contenuto e provare a scrivere qualche linea di codice, posso fare qualche domanda ?
Quali sono le istruzioni che indicano allo screener di selezionare solo i titoli che hanno la seconda candela in rialzo dal primo break out. ?
Il significato di questa istruzione invece cosa indica ? “Distanza = 3 * pipsize”
la lista delle azioni candidate al rialzo, prodotta dal primo scanner, hanno una colonna denominata “criterio” Alcune di esse hanno lo stesso numero di criterio come mai ?, qual’è il suo significato (allego l’esempio)
per le azioni sul nasdaq, è possibile selezionare nello screnner le società di bassa e media capitalizzazione ?
Scusa, sono domande del principiante..
grazie in anticipo perlapazienza..
salve roberto,
grazie innanzitutto per avermi fornito il supporto nel codificare lo screener ad hoc, volevo chiederti se fosse possibile individuare in anticipo il possibile break out, rivedendo qualche impostazione del codice, in modo che si possa individuare un’eventuale opportunità d’ingresso al momento giusto. Ho notato che le azioni individuate dallo screener, sono oltre al primo break out e la grandezza delle barra, sono piuttosto significative, ti allego un esempio per intenderci. In aggiunta, è possibile aggiungere in automatico un allarme alle azioni quando la condizione si verifica?
Ci ho provato, ma ogni tentativo è stato invano :😢.. devo farne di strada ..
Grazie in anticipo
Per gli allarmi, lo screener E’ un allarme e suona (se non disattivato in qualche impostazione) quando trova nuovi strumenti. NON è possibile aggiungerci gli allarmi della piattaforma, quelli creati con l’icona della campanella, che si possono usare solo con i grafici.
Non hai allegato niente. Cerca di spiegare cosa intenti per “momento giusto”.
salve roberto,
ho provato a caricare l’immagine in tif ma non si vede..
è corretto come estensione .tif ?
ci riprovo
dall’esempio che ho caricato, si nota che il prezzo del titolo è salito oltre il break out.
la linea tratteggiata sul grafico presente sul grafico, è stata calcolato da prorealtime, che in questo esempio, salvo errore, evidenza i precedenti valori massimi/resistenza, quindi se è possibile, mi piacerebbe che il nuovo screener individui i titoli che sono vicini alla resistenza, oppure al primo break-out di prezzo.. Questa regola, dovrebbe tenere conto anche delle regole(RSI, DMI,Medie mobile, ec) presenti all’interno dei due lo screener che gentilmente mi hai implementato .
Spero di aver risposto alle tue domande..
grazie
Il problema è che le linee tracciate da PRT non possono essere rilevate dal codice, quindi è impossibile sapere dove sono.
Servono solo per il trading manuale.
Un codice per trovare resistenze e supporti deve calcolarli in qualche modo.
Se cerchi resistenze e supporti sul forum vedrai che ce ne sono molti che li calcolano.
Una volta trovato il metodo di calcolo si può lavorare sul break out.
Puoi dare un’occhiata a questo che ho scritto io https://www.prorealcode.com/prorealtime-indicators/pivot-support-resistance-zones/.
Se ti va bene come le calcola si può usare quel metodo, oppure un altro che ti piaccia di più.
Buongiorno Roberto,
grazie per il consiglio, ho letto alcune recensioni del forum e ho provato a eseguire il codice che mi hai suggerito su uno dei titoli presi in esame dallo screener per interpretare al meglio il risultato, l’indicatore viene aggiunto al grafico, ma ahimè non vedo nulla, è probabile che sbagli qualcosa oppure ho omesso qualche parametro.
Vedendo il grafico allegato nel link, riporta supporti e resistenza che salvo errori, insieme al codice al screener dovrebbe individuare i titoli che sono in tendenza rialzista (bullish trendline), quindi che hanno appena rotto la resistenza (breakout) con volumi.
Se per te non è un problema, potresti integralo all’interno del codice screener in modo che possa provarlo .
Grazie in anticipo
L’indicatore devi installarlo sul prezzo (non sotto, come Rsi o Macd), seguendo la foto devi:
- cliccare su PREZZO ina alto a sinistra del grafico (dove c’è la chiave inglese)
- evidenziare PREZZO nella finestra che si è aperta
- cliccare su AGGIUNGI INDICATORE, dopodiché scegli l’indicatore da mettere sul grafico
L’indicatore che ti ho segnalato NON ha niente a che vedere con l’altro screener, sono cose diverse.
Se vuoi uno screener di questo indicatore eccolo:
PivotBAR = 2 //2 bars AFTER pivot
LookBack = 4 //4 bars BEFORE pivot
BarLookBack = PivotBAR + 1
MySupport = 0
MyResistance = 0
IF low[PivotBAR] < lowest[LookBack](low)[BarLookBack] THEN
IF low[PivotBAR] = lowest[BarLookBack](low) THEN
MySupport = 1
ENDIF
ENDIF
IF high[PivotBAR] > highest[LookBack](high)[BarLookBack] THEN
IF high[PivotBAR] = highest[BarLookBack](high) THEN
MyResistance = 1
ENDIF
ENDIF
x = 0
IF MySupport = 1 THEN
x = 1
ELSIF MyResistance = 1 THEN
x = 2
ENDIF
SCREENER[x](x AS "1=Sup,2=Res")
Buongiorno Roberto, e un sereno Buon Natale innanzitutto.
Ho eseguito l’ultimo screener, il risultato non mi sembra che estrai i titoli pronti o potenzialmente in brackout, cioè pronti al rialzo, perciò vorrei chiederti(sempre se possibile) effettuare un tuning sul code che ho chiamato strategia, (riporto per facilitazione ). Il codice funziona egregiamente, l’unico problema che estrae titoli in breakout i cui prezzi sono cresciuti molto per un eventuale entrare di acquisto, quindi dovrebbe prendere in considerazione titoli che hanno una candela successiva al primo o al massimo secondo break(per conferma) .. non conosco il termine tecnico per indicare questa condizione grafica.
prova ad eseguire sul nasdaq così puoi verificare il risultato.
Infine attivare un alert per i potenziali titoli individuati
grazie..
//——————————————————–
TIMEFRAME(Weekly)
//
// Canale di DONCHIAN
p = 20
Upper = HIGHEST[p](HIGH[1])
//Lower = LOWEST[p](LOW[1])
Distanza = 3 * pipsize
cDonchiaN = close >= (Upper – Distanza)
//
cWeekly = cDonchian
//——————————————————–
TIMEFRAME(Daily)
//
Rialzo = close > open
//
M20 = average[20,0](close)
cM20 = M20 > M20[1]
M50 = average[50,0](close)
cM50 = M50 > M50[1]
M200 = average[200,0](close)
cM200 = M200 > M200[1]
//
Roc20 = ROC[20](close)
cRoc20 = Roc20 > 0
Roc50 = ROC[20](close)
cRoc50 = Roc50 > 0
Roc200 = ROC[20](close)
cRoc200 = Roc200 > 0
//
DMI18 = DIplus[18](close)
cDmi18 = DMI18 > DMI18[1]
//
Rsi14 = Rsi[14](close)
cRsi14 = Rsi14 >= 65
//
cVolume = Volume > Volume[1]
//
cDaily = Rialzo AND cM20 AND cM50 AND cM200 AND cRoc20 AND cRoc50 AND cRoc200 AND cDmi18 AND cRsi14 AND cVolume
//
//——————————————————–
TIMEFRAME(default)
//
Risultato = cDaily AND cWeekly
//
SCREENER[Risultato]
Non capisco cosa ha a che fare questo screener con le linee tracciate da PRT.