PROREALTIME - PROSCREENER

2A - ESEMPI DI SCREENERS DI MERCATO


 

Essere un trader è un pò come essere un cacciatore: deve saper aspettare le occasioni giuste per cacciare ed avere pazienza durante l'attesa della preda.

Se dovessimo cercare i segnali di trading dovremmo far passare i mercati uno ad uno oppure abbonarci a qualche servizio di segnali di trading.

 

Fortunatamente abbiamo a disposizione gli strumenti di screening di mercato e Proscreener è veramente uno dei più efficaci e flessibili in circolazione.

Soprattutto per i quanto riguarda i dati giornalieri per i quali abbiamo l'accesso gratuito.

 

In questa sezione ho riportato alcuni semplicissimi screeners (creati a titolo esemplificativo), per scansionare il mercato a seconda delle diverse strategie esposte nella sezione trading systems.

Questi screeners sono ovviamente personalizzabili e modificabili in base alle vostre esigenze: timeframe di riferimento (questi screeners sono giornalieri), money management e mercati.

 

Sono creati per il mercato azionario, ma possono essere modificati per il forex nascondendo le componenti e le condizioni superflui per quel mercato, come ad esempio il volume medio, l'OBV o i range di prezzo, le cui condizioni inserisco per ultime prima del comando SCREENER.

 

In ogni caso, anche per il mercato azionario le condizioni relative al volume medio sono da impostare a seconda del tipo di mercato stesso (ad esempio per il mercato USA utilizzo una media di 300.000 contratti giornalieri che per il mercato italiano sono ovviamente troppi e vanno quindi ridotti almeno a 50.000).

 

SUGGERIMENTO IMPORTANTE:

Per nascondere le condizioni che non vogliamo utilizzare, invece che cancellarle, basta inserire davanti le due slash // in modo da farle diventare commenti e poi toglierle solo dal comando finale "screener".

 

Per quanto riguarda il range di prezzo dei titoli da cercare va cambiato in base alla valuta di riferimento dei titoli, alla grandezza del proprio conto ed al money management adottato.

Per esempio chi ha un conto da 2.000 €, anche con la leva finanziaria, è difficile che riesca a comprare titoli che valgono per esempio 300 o 400 $ o £.

Anche la trasformazione della valuta è importante.

Se state cercando titoli del mercato norvegese dovrete adattare il range di prezzo ricercato nella valuta delle corone norvegesi con il cambio EUR/NOK.

 

Per facilitare il settaggio ho definito per prima cosa le variabili più importanti facendo un elenco prima delle istruzioni algoritmiche.

 

Segnalo con le // i commenti per ogni condizione in modo da capire cosa ho codificato.

Per testare questi screener basta copiare ed incollare nella finestra di programmazione i sottoindicati algoritmi e nel caso adattarli o modificarli a piacimento.

 


1 - TRADING RANGE PRE-BREAKOUT

 

Questo screener trova strumenti finanziari che sono in una fase di trading range più o meno rilevante (in base ai parametri settati) ed in cui il prezzo si trova nei pressi della resistenza (per lo screener rialzista) o nei pressi del supporto (per lo screener ribassista) ed è quindi potenzialmente in procinto di effettuare un breakout.

Utilizzo il canali di Donchian per definire massimi e minimi di periodo.

I titoli selezionati da questo screener sono da osservare nei giorni a seguire attendendo segnali di un imminente breakout o breakdown.

Le variabili da cambiare sono:

 

a=che determina il periodo della resistenza o supporto del canale di donchian sotto o sopra cui deve stare il massimo od il  minimo del titolo (in questo esempio pari a 120 giorni). Massimo o minimo di lungo periodo.

 

b= il numero di periodi entro cui il massimo del titolo è rimasto sotto o sopra tale resistenza o supporto (in questo caso un lasso di tempo di 100 giorni) che sarà costante in 5 punti periodici del grafico (da C1 a C5).

 

Inoltre ho impostato le seguenti condizioni:

- che il massimo o minimo corrente deve essere sopra o sotto la media mobile esponenziale a 50 periodi per determinare il trend (C8);

- che il massimo o il minimo di più breve periodo di 20 giorni deve corrispondere con quello a lungo periodo (C6) e che il massimo o minimo corrente sia sotto od uguale al massimo/minimo di lungo periodo (C7).

 

_________________________________________________________________________________

 

 

VERSIONE RIALZISTA: TRADING RANGE PRE-BREAKOUT

 

TIMEFRAME(daily)

// massimo di N periodi (resistenza di donchian)
a=120
// ampiezza del periodo con lo stesso massimo (trading range)
b=100


// uguaglianza di 4 massimi assoluti precedenti al massimo di ieri
C1= highest[a](high)[b]=highest[a](high)[1]
C2= highest[a](high)[round(b*0.80)]=highest[a](high)[1]
C3= highest[a](high)[round(b*0.60)]=highest[a](high)[1]
C4= highest[a](high)[round(b*0.40)]=highest[a](high)[1]

C5= highest[a](high)[round(b*0.20)]=highest[a](high)[1]

// massimo a 20 giorni di ieri coincidente con massimo a N periodi di ieri.
C6= highest[20](high)[1]=highest[a](high)[1]
// massimo corrente inferiore al massimo di giorni giorni di ieri.
C7= high[0]<=highest[a](high)[1]
// prezzo di chiusura superiore a media mobile a 50 periodi.
C8= close>exponentialaverage[50](close)

CRITERIA=ROC[a](close)

SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8](CRITERIA AS "ROC%")

 

 _________________________________________________________________________________

 

 

VERSIONE RIBASSISTA: TRADING RANGE PRE-BREAKDOWN

 

TIMEFRAME(daily)

// minimo di N periodi (supporto di donchian)
a=120
// ampiezza del periodo con lo stesso minimo (trading range)
b=100


// uguaglianza di 4 minimi precedenti al minimo di ieri

C1= lowest[a](low)[b]=lowest[a](low)[1]

C2= lowest[a](low)[round(b*0.80)]=lowest[a](low)[1]

C3= lowest[a](low)[round(b*0.60)]=lowest[a](low)[1]

C4= lowest[a](low)[round(b*0.40)]=lowest[a](low)[1]

C5= lowest[a](low)[round(b*0.20)]=lowest[a](low)[1]

// minimo a 20 giorni di ieri coincidente con minimo a 200 giorni di ieri.
C6= lowest[20](low)[1]=lowest[a](low)[1]

// minimo corrente superiore al minimo di giorni giorni di ieri.
C7= low[0]>=lowest[a](low)[1]

// prezzo di chiusura inferiore a media mobile a 50 periodi.
C8= close<exponentialaverage[50](close)

CRITERIA=ROC[a](close)
SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8](CRITERIA AS "ROC%")

 


2 - NUOVI MASSIMI O MINIMI DI PERIODO: BREAKOUT IN NUOVO BOX

 

A differenza del precedente questo screener trova strumenti finanziari in forte trend con un nuovo massimo o minimo di periodo e quindi che hanno appena effettuato un breakout importante dopo una fase di ritracciamento.

In pratica il titolo in questione entra in uno nuovo BOX (vedi strategia di Darvas).

Lo screener impostato trova importanti titoli che fanno nuovi massimi o minimi semestrali (120 giorni) con una performance annuale (252 giorni), pari o superiore al 100%.

Nel caso i titoli trovati chiudano sopra la resistenza di periodo (long) o sotto il supporto di periodo (short), si potrebbe entrare in posizione all'apertura della seguente sessione settando lo stop loss sotto il più recente supporto di periodo (long) o sopra il più recente massimo di resistenza (short).

Invece, nell'esempio sotto, il titolo ha rotto si la resistenza ma come vedete il prezzo ha ritracciato formando una shooting star di potenziale inversione.

In questo caso si potrebbe impostare un ordine pendente buy stop al di sopra della candela reversal oppure attendere una chiusura del titolo sopra la linea di resistenza maggiore (resistenza di donchian).

 

_________________________________________________________________________________

 

 

VERSIONE RIALZISTA: BREAKOUT BOX

 

TIMEFRAME(daily)

//definizione di nuovo massimo

a=120

//definizione periodo ROC (% di performance)

b=252

 

// massimo corrente superiore a resistenza canale di donchian annuale
C1 = high[0]>highest[a](high)[1]

// massimo di ieri inferiore a resistenza canale di donchian annuale

C2 = high[1]<highest[a](high)[1]

// Performance annuale superiore al 100%

C3 =roc[b](close)>100

// prezzo titolo compreso tra 5 e 200 $
C4 = close>=5 AND close<=200

// media volume a 3 mesi maggiore di 300.000 contratti
C5 = average[60](Volume)>=300000
// on balance volume superiore alla propria media mobile a 20 periodi
C6 =average[20](OBV)<OBV

// volume di breakout superiore a volume medio settimanale

C7= average[5](Volume)<volume[0]

// presenza di trend

C8=ADX[14]>20

CRITERIA=ROC[b](close)SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8](CRITERIA AS "ROC%")

 

_________________________________________________________________________________

 

 

VERSIONE RIBASSISTA: BREAKDOWN BOX

 

TIMEFRAME(daily)

//definizione di nuovo minimo

a=120

//definizione periodo ROC (% di performance)

b=252

 

// minimo corrente inferiore a supporto canale di donchian annuale
C1 = low[0]<lowest[a](low)[1]

// minimo di ieri superiore a supporto canale di donchian annuale

C2 = low[1]>lowest[a](low)[1]

// Performance annuale inferiore a -100%

C3 =roc[b](close)<-100

// prezzo titolo compreso tra 5 e 200 $
C4 = close>=5 AND close<=200

// media volume a 3 mesi maggiore di 300.000 contratti
C5 = average[60](Volume)>=300000
// on balance volume superiore alla propria media mobile a 20 periodi
C6 =average[20](OBV)<OBV

// volume di breakout superiore a volume medio settimanale

C7= average[5](Volume)<volume[0]

// presenza di trend

C8=ADX[14]>20

CRITERIA=ROC[b](close)

SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8](CRITERIA AS "ROC%")

 


3 - CONTINUAZIONE FORTE TREND: BOX IN ATTESA DI BREAKOUT

 

Questo screener, è una variante del precedente e trova strumenti finanziari che sono in forte trend ma in attuale fase di accumulazione o distribuzione, cioè durante la formazione di un BOX e non alla sua rottura come il precedente.

Questi strumenti finanziari devono essere monitorati in quanto in procinto di potenziale breakout di continuazione di trend.

E' simile allo screener di swing trading che vedremo in seguito.

In questo caso lo screener trova titoli a ridosso di massimi o minimi semestrali (120 giorni - parametro b) e superiori a supporti (per screener rialzista) od inferiori a resistenze (per screener ribassista) di periodo pari a 20 giorni (parametro c).

Tutti i parametri come sempre, sono personalizzabili a piacimento.

 

_________________________________________________________________________________

 

VERSIONE RIALZISTA: IN ATTESA DI BREAKOUT BOX

 

TIMEFRAME(daily)

// definizione di massimo a breve periodo

a=10

// definizione di massimo a lungo periodo

b=120

// definizione di minimo a medio periodo

c=20

//definizione periodo ROC (% di performance)

d=252

//definizione media mobile breve

breve=20

//definizione media mobile media

media=50

//definizione media mobile lunga

lunga=200

 

// massimo a breve periodo uguale a quello a lungo periodo
C1 = highest[a](high)[1]=highest[b](high)[1]

// minimo a breve periodo superiore a quello di medio periodo

C2 = lowest[a](low)[1]>lowest[c](low)[1]

// prezzo inferiore a massimo di breve periodo e superiore a minimo di breve periodo

C3 = close<highest[a](high)[1] and close> lowest[a](low)[1]

// Performance annuale superiore al 100% (o da cambiare)

C4 =roc[d](close)>100

// prezzo superiore a media mobile esponenziale breve
C5 = close>exponentialaverage[breve](close)

// media esponenziale breve superiore a quella media
C6 = exponentialaverage[breve](close)>exponentialaverage[media](close)

// media esponenziale media superiore a quella lunga
C7 = exponentialaverage[media](close)>exponentialaverage[lunga](close)

// prezzo titolo compreso tra 5 e 200 $
C8 = close>=5 AND close<=200

// media volume a 3 mesi maggiore di 300.000 contratti
C9 = average[60](Volume)>=300000
// on balance volume superiore alla propria media mobile a 20 periodi
C10 =average[20](OBV)<OBV

// presenza di trend

C11=ADX[14]>20

CRITERIA=ROC[d](close)

 

SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8 AND C9 AND C10 AND C11](CRITERIA AS "ROC%")

 

_________________________________________________________________________________

 

 

VERSIONE RIBASSISTA: IN ATTESA DI BREAKDOWN BOX

 

TIMEFRAME(daily)

// definizione di massimo a breve periodo

a=10

// definizione di massimo a lungo periodo

b=120

// definizione di minimo a breve periodo

c=20

//definizione periodo ROC (% di performance)

d=252

//definizione media mobile breve

breve=20

//definizione media mobile media

media=50

//definizione media mobile lunga

lunga=200

 

// minimo a breve periodo uguale a quello a lungo periodo
C1 = lowest[a](low)[1]=lowest[b](low)[1]

// massimo a breve periodo inferiore a quello di medio periodo

C2 = highest[a](high)[1]<highest[c](high)[1]

// prezzo superiore a minimo di breve periodo e inferiore a massimo di breve periodo

C3 = close>lowest[a](low)[1] and close>highest[a](high)[1]

// Performance annuale inferiore a -100%

C4 =roc[d](close)<-100

// prezzo inferiore a media mobile esponenziale breve
C5 = close<exponentialaverage[breve](close)

// media esponenziale breve inferiore a quella media
C6 = exponentialaverage[breve](close)<exponentialaverage[media](close)

// media esponenzialemedia inferiore a quella lunga
C7 = exponentialaverage[media](close)<exponentialaverage[lunga](close)

// prezzo titolo compreso tra 5 e 200 $
C8 = close>=5 AND close<=200

// media volume a 3 mesi maggiore di 300.000 contratti
C9 = average[60](Volume)>=300000
// on balance volume inferiore alla propria media mobile a 20 periodi
C10 =average[20](OBV)>OBV

// presenza di trend

C11=ADX[14]>20

CRITERIA=ROC[d](close)

SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8 AND C9 AND C10 AND C11](CRITERIA AS "ROC%")

 


4 - SWING TRADING

 

E' lo screener adatto per la strategia di swing trading.

Individua strumenti finanziari in trend che sono in fase di ritracciamento tra due medie mobili (breve e media).

Appena avviene un reversal con un pattern di prezzo tra le due medie mobili si verifica un potenziale trade.

Le medie mobili utilizzate per identificare i ritracciamenti nello screener di esempio sono:

media mobile di breve periodo: esponenziale a 20 periodi (breve).

media mobile di medio periodo: esponenziale a 50 periodi (media).

media mobile di lungo periodo: semplice a 200 periodi (lunga).

I periodi ed il tipo di medie mobili sono modificabili a piacimento.

Si possono aggiungere condizioni relative a patterns reversal di ritracciamento o di continuazione, come vedremo nell'ultimo paragrafo.

 

_________________________________________________________________________________

 

VERSIONE RIALZISTA: LONG

 

TIMEFRAME(daily)

//definizione delle medie mobili

breve=20

media=50

lunga=200

 

//4 giorni con massimi o minimi inferiori di ritracciamento

C1 = high[0]<high[1] OR low[0]<low[1]

C2 = high[1]<high[2] OR low[1]<low[2]

C3 = high[2]<high[3] OR low[2]<low[3]

//definizione di uptrend a breve periodo con media mobile breve superiore a quella media.

C4 = exponentialaverage[breve](close)>exponentialaverage[media](close)

//definizione di uptrend a lungo periodo con media mobile breve superiore a quella lunga.

C5 = exponentialaverage[breve](close)>average[lunga](close)

//definizione di uptrend a medio periodo con media mobile breve superiore a quella lunga.

C6 = exponentialaverage[media](close)>average[lunga](close)

//prezzo sopra la media mobile a medio periodo

C7 = close[0]>exponentialaverage[media](close)

//prezzo sotto la media mobile a breve periodo

C8 = close[0]<exponentialaverage[breve](close)

//prezzo sopra la media mobile a lungo periodo

C9 = close[0]>average[lunga](close)

//esistenza di uptrend

C10 = ADX[14]>=20

// prezzo titolo compreso tra 5 e 200 $

C11 = close[0]>=5 AND close[0]<=200

// media volume a 3 mesi maggiore di 300.000 contratti

C12 = average[60](Volume)>=300000

CRITERIA=ROC[lunga](close)

 

SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8 AND C9 AND C10 AND C11 AND C12](CRITERIA AS "ROC%")

 

_________________________________________________________________________________

 

VERSIONE RIBASSISTA: SHORT

 

TIMEFRAME(daily)

//definizione delle medie mobili

breve=20

media=50

lunga=200

 

//4 giorni con massimi o minimi superiori di ritracciamento

C1 = high[0]>high[1] OR low[0]>low[1]

C2 = high[1]>high[2] OR low[1]>low[2]

C3 = high[2]>high[3] OR low[2]>low[3]

//definizione di downtren a breve periodo con media mobile breve inferiore a quella media.

C4 = exponentialaverage[breve](close)<exponentialaverage[media](close)

//definizione di downtrend a lungo periodo con media mobile breve inferiore a quella lunga.

C5 = exponentialaverage[breve](close)<average[lunga](close)

//definizione di downtrend a medio periodo con media mobile breve inferiore a quella lunga

C6 = exponentialaverage[media](close)<average[lunga](close)

//prezzo sotto la media mobile a medio periodo

C7 = close[0]<exponentialaverage[media](close)

//prezzo sopra la media mobile a breve periodo

C8 = close[0]>exponentialaverage[breve](close)

//prezzo sotto la media mobile a lungo periodo

C9 = close[0]<average[lunga](close)

//esistenza di downtrend

C10 = ADX[10]>=20

// prezzo titolo compreso tra 5 e 200 $

C11 = close[0]>=5 AND close[0]<=200

// media volume a 3 mesi maggiore di 300.000 contratti

C12 = average[60](Volume)>=300000

CRITERIA=ROC[lunga](close)

 

SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8 AND C9 AND C10 AND C11 AND C12](CRITERIA AS "ROC%")

 


5 - TREND CONTINUO - MOMENTUM TRADING

 

Questo screener individua quei titoli che sono rimasti al di sopra o al di sotto una media mobile per un dato numero di periodi determinando una chiara stabilità e continuità del trend.

In questo caso il proscreener trova quegli strumenti il cui prezzo è rimasto al di sopra (o al di sotto) della ema50 per almeno 100 periodi.

I settaggi sono personalizzabili, sia i periodi che il tipo di media mobile, i cui parametri sono evidenziati in grassetto.

Anche in questo caso possiamo aggiungere condizioni di patterns reversal o di continuazione.

Basta aggiungere le condizioni dei pattern sotto i codici sottostanti ed anche nel comando chiave screener.

Esempio: SCREENER [result AND C1 AND C2]

E' utile anche per i momentum traders.

 

UPTREND

 

TIMEFRAME(daily)

//media mobile

media=exponentialaverage[50](close)

// giorni sopra la media mobile

giorni=100

// prezzo superiore a media mobile esponenziale a 20 periodi per 30 giorni consecutivi:

result=1
for i=giorni downto 0 do
if close[i]< media[i] then
result=0
break
endif
next

CRITERIA=ROC[50](close)
SCREENER [result](CRITERIA AS "ROC%")

 

_________________________________________________________________________________

 

 

DOWNTREND

 

TIMEFRAME(daily)

//media mobile

media=exponentialaverage[50](close)

// giorni sopra la media mobile

giorni=100

// prezzo superiore a media mobile esponenziale a 20 periodi per 30 giorni consecutivi

result=1
for i=giorni downto 0 do
if close[i]> media[i] then
result=0
break
endif
next

CRITERIA=ROC[50](close)
SCREENER [result](CRITERIA AS "ROC%")

 

 


6 - DIVERGENZA PREZZO/MOMENTUM

 

Individua divergenze tra prezzo e momentum, cioè strumenti in cui il trend si sta indebolendo.

E' utile poichè la divergenza può preludere ad un'inversione e quindi gli strumenti individuati sono da attenzionare bene successivamente in attesa di una qualche conferma di inversione.

In questo caso ho utilizzato nuovi massimi o minimi a 120 giorni, cioè a 6 mesi.

Possono comunque essere ridotti o aumentati.

 

_________________________________________________________________________________

 

DIVERGENZA DI MASSIMI, PRELUDE A INVERSIONE RIBASSISTA

 

TIMEFRAME(daily)

// definizione di nuovo massimo

a=120

 

//nuovo massimo

C1 = high>=highest[a](high)[1]

//nuovo massimo relativo decrescente RSI: divergenza con nuovo massimo prezzo

C2 = rsi[14](close)<highest[20](rsi[14](close))

// RSI superiore a linea mediana (ipercomprato)

 C3 = rsi[14](close)>60

//prezzo sopra la media mobile a 20 periodi

C4 = close>exponentialaverage[20](close)

//definizione di uptrend a breve periodo con media mobile breve superiore a quella media.

C5 = exponentialaverage[20](close)>exponentialaverage[50](close)

//definizione di uptrend a lungo periodo con media mobile breve superiore a quella lunga.

C6 = exponentialaverage[20](close)>average[200](close)

// prezzo titolo compreso tra 5 e 200 $
C7 = close>=5 AND close<=200

// media volume a 3 mesi maggiore di 300.000 contratti
C8 = average[60](Volume)>=300000

// volume su massimo inferiore a media volume a 20 giorni

C9 = average[20](Volume)>volume[0]

SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8 AND C9]

 

_________________________________________________________________________________

 

 

DIVERGENZA DI MINIMI, PRELUDE A INVERSIONE RIALZISTA

 

 TIMEFRAME(daily)

// definizione di nuovo minimo

a=120

//nuovo minimo

C1 = low<=lowest[a](low)[1]

//nuovo minimo relativo crescente RSI: divergenza con nuovo minimo prezzo

C2 = rsi[14](close)>lowest[20](rsi[14](close))

// RSI inferiore a linea mediana (ipervenduto)

C3 = rsi[14](close)<60

//prezzo sotto la media mobile a 20 periodi

C4 = close<exponentialaverage[20](close)

//definizione di downtrend a breve periodo con media mobile breve inferiore a quella media.

C5 = exponentialaverage[20](close)<exponentialaverage[50](close)

//definizione di downtrend a lungo periodo con media mobile breve inferiore a quella lunga.

C6 = exponentialaverage[20](close)<average[200](close)

// prezzo titolo compreso tra 5 e 100 $
C7 = close>=5 AND close<=200

// media volume a 3 mesi maggiore di 300.000 contratti
C8 = average[60](Volume)>=300000

// volume su minimo inferiore a media volume a 20 giorni

C9 = average[20](Volume)>volume[0]

SCREENER [C1 AND C2 AND C3 AND C4 AND C5 AND C6 AND C7 AND C8 AND C9]

 


7 - TRIPLA MEDIA MOBILE

 

Questo screener individua potenziali inversioni di trend.

Utilizzo 3 medie mobili, una a breve, una a medio ed una a lungo termine.

Identifico quei titoli in cui la breve ha incrociato sia la media che la lunga media mobile e con il prezzo all'interno dell'area delimitata da queste due (questa condizione è facoltativa e può essere tolta).

Rimango quindi in attesa o di un pattern di continuazione, della rottura della prossima resistenza/supporto o dell'ulteriore incrocio della media con la lunga.

 

In questo caso ho utilizzato:

media mobile di breve periodo: esponenziale a 20 periodi.

media mobile di medio periodo: esponenziale a 50 periodi.

media mobile di lungo periodo: esponenziale a 100 periodi.

I periodi ed il tipo di medie mobili sono modificabili a piacimento ovviamente.

 

_________________________________________________________________________________

 

 

REVERSAL DA DOWNTREND AD UPTREND

 

TIMEFRAME (DAILY)

// elenco medie mobili

breve=20

media=50

lunga=100

 

//ema breve periodo superiore ad ema di medio periodo

C1 = exponentialaverage[breve](close)>exponentialaverage[media](close)

//ema medio periodo inferiore a ema a lungo periodo

C2 = exponentialaverage[media](close)<exponentialaverage[lunga](close)

// prezzo nell'area delle 2 medie mobili breve e media (facoltativo)

C3 = close<exponentialaverage[breve](close) AND close> exponentialaverage[lunga](close)

//prezzo titolo compreso tra 5 e 200 $

C4 = close[0]>=5 AND close[0]<=200

// media volume a 3 mesi maggiore di 300.000 contratti (facoltativo)

C5 = average[60](Volume)>=300000

CRITERIA=ROC[lunga](close)

 

SCREENER [C1 AND C2 AND C3 AND C4 AND C5](CRITERIA AS "ROC%")

 

_________________________________________________________________________________

 

 

REVERSAL DA UPTREND A DOWNTREND

 

TIMEFRAME(DAILY)

// elenco medie mobili

breve=20

media=50

lunga=100

 

//ema breve periodo inferiore ad ema a medio periodo

C1 = exponentialAverage[breve](close)<exponentialAverage[media](close)

//ema medio periodo superiore a ema a lungo periodo

C2 = exponentialAverage[media](close)>exponentialAverage[lunga](close)

// prezzo nell'area delle 2 medie mobili breve e media (facoltativo)

C3 = close>exponentialaverage[breve](close) AND close< exponentialaverage[lunga](close)

// prezzo titolo compreso tra 5 e 200 $

C4 = close[0]>=5 AND close[0]<=200

// media volume a 3 mesi maggiore di 300.000 contratti (facoltativo)

C5 = average[60](Volume)>=300000

CRITERIA=ROC[lunga](close)

SCREENER [C1 AND C2 AND C3 AND C4 AND C5](CRITERIA AS "ROC%")

 

 



Scrivi commento

Commenti: 1
  • #1

    Amerigo Piasini (venerdì, 30 luglio 2021 16:38)

    Buongiorno, seguo con molto interesse tutti gli screener presentati, e sto provando a costruirmi degli screener personali. Volevo chiedere se è possibile codificare uno screener che ritrovi i titoli con maggiore forza relativa rispetto al proprio indice di appartenenza, le creare una specie di classifica dei titoli più forti. Grazie

    amerigopiasini@gmail.com