Buongiorno,
avrei bisogno del codice per creare un indicatore che disegni un rettango da un determinato punto fino all’ultima candela presente sul grafico.
Es. Se l’RSI rompo il livello di ipervenduto, l’indicatore deve creare un rettangolo su tutto il corpo della candela e protrarlo nel tempo.
Allego uno screen esplicativo.
Grazie a chi mi aiuterà
Eccolo:
IF barindex = 0 THEN
RsiFlag = 0
ENDIF
IF Rsi[14](close) CROSSES UNDER 30 then
RsiFlag = 1
Barra = BarIndex
Massimo = high
Minimo = low
ENDIF
IF RsiFlag = 1 THEN
DRAWRECTANGLE(Barra,Massimo,BarIndex,Minimo) COLOURED(0,0,0,0)
ENDIF
RETURN
Infinite grazie Roberto, ma il mio problema era riuscire a mantenere disegnato il rettangolo anche quando se ne crea un successivo.
Quello che mi interessava è proprio la sovrapposizione dei rettangoli che creano una zona di supp/resistenza.
Ovviamente per non “intasare” il grafico avevo pensato di filtrare con un comando che conteggiasse solo le ultime 500 barre.
Secondo te c’è un modo per farli sovrapporre invece di annullare il precedente rettangolo e crearne uno nuovo?
Si può fare in maniera limitata.
PRT non supporta i vettori, quindi bisogna preimpostare non tanto le barre, quanto i rettangoli che vuoi siano visualizzati. Io te lo farò per gli ultimi 3 rettangoli, poi tu potrai aumentarli a piacimento aggiungendo del codice.
Eccolo:
DEFPARAM DrawOnLastBarOnly = true
IF barindex = 0 THEN
RsiFlag = 0
Barra1 = 1
Barra2 = 0
Barra3 = 0
Minimo1 = 0
Minimo2 = 0
Minimo3 = 0
Massimo1= 0
Massimo2= 0
Massimo3= 0
ENDIF
IF Rsi[14](close) CROSSES UNDER 30 then
RsiFlag = 1
Barra3 = Barra2
Barra2 = Barra1
Barra1 = BarIndex
Massimo3= Massimo2
Massimo2= Massimo1
Massimo1= high
Minimo3 = Minimo2
Minimo2 = Minimo1
Minimo1 = low
ENDIF
IF RsiFlag = 1 THEN
IF Barra3 > 0 THEN
DRAWRECTANGLE(Barra3,Massimo3,BarIndex,Minimo3) COLOURED(0,0,0,0)
ENDIF
IF Barra2 > 0 THEN
DRAWRECTANGLE(Barra2,Massimo2,BarIndex,Minimo2) COLOURED(0,0,0,0)
ENDIF
IF Barra1 > 0 THEN
DRAWRECTANGLE(Barra1,Massimo1,BarIndex,Minimo1) COLOURED(0,0,0,0)
ENDIF
ENDIF
RETURN
Come puoi vedere ogni volta che l’RSI entra in ipervenduto scala di un posto a tutti i rettangoli per fare posto a quello nuovo. Basta che tu ne aggiunga altri, 4, 5, 6, quelli che desideri e li vedrai tutti sul grafico.
Devi scrivere un pò di righe, ma è semplice.
Fantastico, grazie mille Roberto!
Penso che questo indicatore possa essere molto utile nell’individuazione zone di retest.
Ovviamente và duplicato anche per gli iper-comprati.
Per l’ipercomprato lo duplichi con un nome diverso e basta che metti CROSSES OVER 70 invece di CROSSES UNDER 30.
Si..si..
stavo pensando, ma secondo te è possibile utilizzare un ciclo per duplicarli?
Un ciclo sarebbe utile e semplice se ci fossero i vettori, così puoi utilizzarne quanti vuoi ma senza cicli.