scusa vorrei sapere se è possibile usare il tf direttamente nell’indicatore senza dover modificare una variabile che identifichi. spero di essere stato chiaro. grazie
Quale variabile?
Nessuna variabile può essere usata con l’istruzione TIMEFRAME.
Esempio corretto:
TIMEFRAME(2 hour,UpdateOnClose)
Esempio errato:
MioTF = 2
TIMEFRAME(MioTF hour,UpdateOnClose)
aggiungere la S per rendere plurale il tipo di TF (hour, minute, second, day) NON è obbligatorio, ma è consentito.
immaginavo di non essere stato chiaro allego un codice per esempio così spero di spiegarmi meglio. ho una variabile (tf) che devo cambiare ogni volta che cambio il time frame del grafico, se è m10 devo mettere 10, se h1 devo mettere 60,…ecc. Mi chiedevo se nel codice potesse essere inserito “qualcosa” che si aggiornava al cambiare del time frame del grafico.
//
// calcolo candele giornaliere sul time frame tf
// candele ora * ora di apertura mercato
// ESEMPIO
// Dax 8:00 22:00
// hapertura=14
// tf=m10
// n=60/10*14=84 candele giornaliere
//
// ###############################################
// ###############################################
// ##### W A R N I N G !
// ##### AL CAMBIO DI TF
// ##### CAMBIARE IL SETTAGGIO TF
// ###############################################
// ###############################################
//
// MESE
// confronto con i 22 gg precedenti
//
// SETTIMANA
// confronto con i 5 gg precedenti
//
// ###############################################
// ###############################################
// ##### W A R N I N G !
// ##### ATTENZIONE ALLA PRESENZA DI CANDELE
// ##### FUORI ORARIO O A CHIUSURA ANTICIPATA
// ###############################################
// ###############################################
//
//
// ###############################################
// ##### se vuoi i valori assoluti usa
// ##### RETURN drange5gg coloured (0,255,0) AS "Volume medio 5gg",volume coloured (255,0,0) AS "Volume" ,drange22gg coloured (0,0,255) AS "Volume medio 22gg"
// #####
// ###############################################
// ###############################################
//
//
n=60/tf*hapertura
//
drange22gg=(volume[n]+volume[2*n]+volume[3*n]+volume[4*n]+volume[5*n]+volume[6*n]+volume[7*n]+volume[8*n]+volume[9*n]+volume[10*n]+volume[11*n]+volume[12*n]+volume[13*n]+volume[14*n]+volume[15*n]+volume[16*n]+volume[17*n]+volume[18*n]+volume[19*n]+volume[20*n]+volume[21*n]+volume[22*n])/22
drange5gg=(volume[n]+volume[2*n]+volume[3*n]+volume[4*n]+volume[5*n])/5
//
//
//if volume>drange5gg*perc and volume>drange22gg*perc then
//DRAWARROWUP(barindex, high+AverageTrueRange[14](close))coloured (65,105,225)
//endif
//
//
//
//
RETURN drange5gg coloured (0,255,0) AS "Volume medio 5gg",volume coloured (255,0,0) AS "Volume" ,drange22gg coloured (0,0,255) AS "Volume medio 22gg"
Ah, adesso è chiaro.
Per determinare il TF automaticamente (retituisce i minuti) puoi usare questo: https://www.prorealcode.com/topic/determine-the-charts-time-frame-in-a-program/#post-123797
oppure questo: https://www.prorealcode.com/topic/determine-the-charts-time-frame-in-a-program/#post-105563
sono entrambi indicatori, il primo restituisce un valore numerico dove la prima cifra è il tipo di unità temporale (secondi, minuti, ecc…) ed il resto il numero. Il secondo indicatore restituisce i minuti.
Basta chiamarli con CALL ed è fatta (ovviamente al primo dovrai togliere la cifra iniziale).
Grazie Roberto gentilissimo come al solito
once NbBar = 1
if BarIndex < NbBar+2 then
MyDay=openday
dayminutes = 1440*(MyDay-MyDay[1])
MyHour=openhour
hourminutes = 60*(MyHour-MyHour[1])
MyMin=openminute
barminutes = MyMin - MyMin[1] + hourminutes + dayminutes
barminutes=abs(barminutes)
Mybarminutes = lowest[NbBar](barminutes)[1]
endif
return Mybarminutes as "Timeframe"
ciao, ho usato il tuo codice allegato, ma ho trovato che su 6 ore da 240 minuti. allego il grafico.
ho visto che è un problema legato all’utilizzo dell’8-22, con il full ho correttamente 360
Prova l’altro indicatore per vedere se va bene sempre.