AverageTrueRange su TimeFrame daily e il suo valore usato in altro Timeframe
Forums › ProRealTime forum Italiano › Supporto ProBuilder › AverageTrueRange su TimeFrame daily e il suo valore usato in altro Timeframe
- This topic has 9 replies, 4 voices, and was last updated 2 years ago by robertogozzi.
-
-
05/10/2022 at 9:34 AM #192979
Buongiorno,
ho scritto una programmino che lavora su TIMEFRAME 30 minuti che necessita del valore dell’ATR[5 daily](close).
Per fare ciò alla fine della routine ho scritto questo codice che mi calcola correttamente l’ATR a 5 periodi su TimeFrame daily e lo memorizza nella Variabile ATR.
TIMEFRAME(Daily)
ATR=AverageTrueRange[5](close)
TIMEFRAME(default)tuttavia quando il TimeFrame viene aggiornato, ossia crea la nuova candela, il valore della variabile ATR nel TimeFrame 30minuti diventa n/d. a questo punto per eliminare l’errore devo aprire le impostazioni del mio programmino cambiare un parametro e tutto si sistema. Poi alla formazione della candela successiva il problema ritorna.
05/10/2022 at 9:52 AM #192983Il codice viene letto sequenzialmente, per cui se l’ATR daily l’hai messo alla fine, prima può prendere valori errati, oppure nessun valore.
Sposta le righe che hai scritto all’inizio, o comunque PRIMA che la variabile ATR sia utilizzata.
Verifica anche di avere un numero sufficiente di unità per il calcolo, in un giorno ci sono 48 candele (forse meno, se gli orari di trading non sono 24 ore) da 30 minuti, quindi ne servono circa 250.
Forse in questo modo lo risolvi.05/10/2022 at 10:30 AM #192989Grazie per la risposta, ma il problema si presenta ogni volta che si crea una nuova candela.
Ti allego il codice.
Lo eseguo come indicatore sui prezzi e Time Frame a 30 minuti
DEFPARAM DrawOnLastBarOnly = true
IF IntraDayBarIndex = 0 THEN
MaxIntDay = high
MinIntDay = low
ENDIFIf Abilita then
DrawText(“ATR[5]=#ATR#”,barindex+20,MaxIntDay ) coloured(0,0,255,150) //Blù
endifTIMEFRAME(Daily)
ATR=AverageTrueRange[5](close)
TIMEFRAME(default)return
05/10/2022 at 11:04 AM #192992A me funziona correttamente, sia spostando il codice in alto che lasciandolo invariato (però in alto stampa il dato fisso).
N/D mi si ptesenta solo se ho un numero di unità insufficienti.
05/10/2022 at 11:28 AM #192995Averi un’altra domanda se possibile.
Vorrei un codice che mi permettesse di leggere il margine disponibile su uno strumento in modo da poterlo usare all’interno del programma per poter definire il numero di contratti massimi utilizzabili dato il capitale.
Sapresti darmi indicazioni in merito
05/10/2022 at 1:05 PM #192999Purtroppo non è possibile saperlo automaticamente.
05/11/2022 at 9:14 AM #193033Buongiorno, ho notato che nel TF 30 min (di oggi) il valore riportato del ATR del giorno precedente è leggermente diverso da quello rappresentato nel TF daily di ieri. Per esempio se guardo il TF daily ieri avevo un ATR di 127,17 mentre oggi nel TF 30 min mi riporta il valore di ieri pari a 128,49. E’ possibile far coincidere i valori ?.
Grazie
Allego file.
05/21/2022 at 10:23 AM #193566Prova questa versione modificata, che ti fa vedere il valore aggiornato alla candela da 30 minuti precedente, mi sembra sia quasi identico, a parte alcuni decimali (che non hanno molta influenza):
123456789101112131415161718DEFPARAM DrawOnLastBarOnly = trueIF IntraDayBarIndex = 0 THENMaxIntDay = highMinIntDay = lowENDIFIf Abilita thenMyATR = ATRx = MyATR[1]DrawText("ATR[5]=#x#",barindex+20,MaxIntDay ) coloured(0,0,255,150) //BlùendifTIMEFRAME(Daily)ATR=AverageTrueRange[5](close)TIMEFRAME(default)return05/25/2022 at 2:54 PM #19383805/25/2022 at 6:04 PM #193841L’avevi tu nel tuo codice, in ogni caso scrivi alla riga 2:
1Abilita = 1oppure definiscila come variabile in modo da poterla cambiare con le proprietà.
-
AuthorPosts
Find exclusive trading pro-tools on