Ciao, volevo chiedere se fosse possibile programmare un indicatore che mi segnalasse e tracciasse un livello orizzontale quando una candela è più grande di X volte rispetto alla media delle sue ultime X candele (ATR).
Vorrei poter inserire i valori di grandezza (2,3,4 volte più grande ecc) e la media delle candele precedenti da tenere in considerazione. Vorrei inoltre poter regolare la sensibilità dell’indicatore (più alto valore meno righe disegna), la possibilità di rimuovere le righe con una spunta e la possibilità di disegnare rettangoli prendendo le ombre inferiori se rosse, ombre superiori se verdi, max e min in caso di assenza di ombre (come da immagine).
Es immagini: candela più grande di 4 volte rispetto alla media delle 20 candele precedenti (utilizzando l’ATR).
grazie.
Si può fare tutto o quasi, che intendi variare la sensibilità per stampare meno righe? Potrai farlo aumentando il moltiplicatore.
I rettangoli su una singola barra sono pressoché invisibili in quanto è preminente la candela,
Va bene aumentando il moltiplicatore, quindi di base x4 e 20 candele ATR con parametri che si possono modificare in una finestra. ( con la spunta per togliere le linee)
moltiplicatore: 4
candele atr: 20
Per il disegno della linee delle candele vanno bene la chiusure delle candele che rispetta i parametri sopra.
Quindi ricapitolando tutte le candele più grandi di X volte rispetto alla media delle sue ultime X candele (ATR) disegnano una linea orizzontale sulla chiusura.
Eccolo, provalo:
// Tabelle colori: https://www.prorealcode.com/wp-content/uploads/2015/09/P1jHlnG.jpg
// http://cloford.com/resources/colours/500col.htm
DEFPARAM CalculateOnLastBars = 1000
//DEFPARAM DrawOnLastBarOnly = true
//Moltiplicatore = 2
//PeriodiAtr = 20
//Linee = 1
MyAtr = AverageTrueRange[PeriodiAtr](close)
RangeMinimo = MyAtr * Moltiplicatore
IF range >= RangeMinimo THEN
Prezzo = close
ENDIF
IF Linee THEN
DRAWHLINE(Prezzo) coloured(0,128,0,255) //verde
ENDIF
RETURN
Per vedere solo l’ultima togli i commenti dalla linea 4.
Ciao Roberto, volevo provare a sostituire la media atr e mettere la media del range (max-min) delle precedenti candele.
Basta cambiare l’indicatore:
// Tabelle colori: https://www.prorealcode.com/wp-content/uploads/2015/09/P1jHlnG.jpg
// http://cloford.com/resources/colours/500col.htm
DEFPARAM CalculateOnLastBars = 1000
//DEFPARAM DrawOnLastBarOnly = true
PeriodiMedia = 20
Linee = 1
Media = Average[PeriodiMedia,0](range)
IF range >= Media THEN
Prezzo = close
ENDIF
IF Linee THEN
DRAWHLINE(Prezzo) coloured(0,128,0,255) //verde
ENDIF
RETURN
prova e fammi sapere.
Il primo andava bene, solo che vorrei sostituire la media degli ultimi x periodi dell’atr con la media degli ultimi x periodi del range max-min.
Al posto di myatr mettere la media range max-min delle ultime x candele
e poi x moltiplicatore
Non so se mi sono spiegato
Sostituisci la riga 8 del primo con questa (il nome delle variabili è irrilevante):
MyAtr = Average[PeriodiAtr,0](range)
Ho una domanda, su eur/gbp con grafico daily impostando il moltiplicatore: 2 e i periodi:1 o 2 perchè non mi segna la barra del 15 novembre 2018?
Per periodi così piccoli è una barra troppo grande, addirittura con 1 fa il confonto con se stessa, quindi non può essere >= al doppio di se stessa, occorrono almeno 3 periodi, oppure togli l’ultima dal calcolo della media alla riga 8:
MyAtr = Average[PeriodiAtr,0](range[1])