Buonasera a tutti,
vorrei creare un indicatore basato sul RSI[14](typicalprice), che ti segnala (sig=1, inizio trend rialzista, sig=-1, inizio trend ribassista, sig=0 continuazione trend) a seconda di come si muove l’RSI rispetto ai valori precedenti di verso opposto (se l’ultimo valore del RSI è ribassista, dovrà ricercare il primo valore precedente rialzista e inferiore o uguale all’RSI) :
– Inizio trend rialzista: RSI chiude vicino (in termini decimali, oltre la virgola) al primo valore precedente (esempio: Primo valore precedente rialzista=37,8 , RSI Chiusura=37,4) , il range massimo è di 0.5 e -0.5 dal valore precedente.
-Inizio trend ribassista: RSI chiude vicino (in termini decimali, oltre la virgola) al primo valore precedente (esempio: Primo valore precedente ribassista=37,8 , RSI Chiusura=38,2) , il range massimo è di 0.5 e -0.5 dal valore precedente.
-continuazione trend rialzista: RSI chiude incrociando il primo valore ribassista precedente o non incrocia nessuno valore ribassista precedente
-continuazione trend ribassista: RSI chiude incrociando il primo valore rialzista precedente o non incrocia nessuno valore rialzista precedente
PS: Ho provato ad applicare manualmente questa strategia in reale su EURUSD e sta producendo buoni risultati
Confido nel vostro prezioso aiuto.
Te lo farò appena possibile.
Credevo di avere capito bene, invece no. Dovresti farmi un esempio scritto delle 4 combinazioni (con dei valori casuali dell’RSI).
A questo link trovi l’esempio con le 4 combinazioni reali in 4 immagini : https://drive.google.com/drive/folders/1xQgNYa44dZMpqT5gKP1hnlwqBTJDVwpF?usp=sharing
– Inizio trend rialzista: RSI chiude a 51,27 vicino al primo valore di un trend precedente 51,95
-Inizio trend ribassista: RSI chiude a 36,77 vicino al primo valore di un trend precedente 37,24
-continuazione trend rialzista: RSI chiude a 39,09 lontano incrociando a rialzo il valore precedente 37,49, che non è il primo valore di un trend.
-continuazione trend ribassista: RSI chiude a 53,91 lontano incrociando a ribasso il valore precedente 54,28, che non è il primo valore di un trend.
Dammi tempo qualche giorno.
r=rsi[14](totalprice)
if r crosses over r[1] or r crosses under r[1] then
valorezero=r[1]
endif
return r as "rsi", valorezero as "valorezero"
Questo codice indica graficamente sull’RSI i valori zero precedenti che una volta superati generano un segnale di inversione. La logica è più semplice di quanto pensassi inizialmente

Non ho capito molto dalla foto allegate, ad esempio in quella chiamata INCROCIO RIALZISTA hai evidenziato con due barre delle candele dove non capisco quale sia l’incrocio.
A parte le foto (a proprosito, se devi allegare foto, non usare link o altri file diversi da JPG o PNG; grazie :)), tu hai scritto nel primo post “sig=1, inizio trend rialzista, sig=-1, inizio trend ribassista, sig=0 continuazione trend“.
Parti dalla prima candela (quella più a sinistra) di un grafico dove hai messo l’RSI:
- quando si considera “inizio trend rialzista“?
- quando si considera “inizio trend ribassista“?
una volta stabiliti gli inizi, quando si considera “continuazione trend“?
r=rsi[14](close)
// Cerca se dall'ultima candela corrente fino alla prima candela del grafico rsi[14] incrocia a rialzo Rsi[valore zero rialzista],
//e associa sig=1, e viceversa sig=-1.
If i=barindex downto 1
If r[1] crosses over r[i+1] and r[i] crosses over r[i+1] then
sig=1
Endif
If r[1] crosses under r[i+1] and r[i] crosses under r[i+1] then
sig=-1
Endif
Endif
Return sig as "sig"
Non ho idea di cosa tu intenda con “Rsi[valore zero rialzista]“, in quanto tra parentesi quadre vanno indicati i periodi dell’RSi, non so quello che valore sia.
A parte questo devo capire cosa vuoi fare.