Ciao, sono nuovo, ho fatto un piccolo indicatore che, racchiude in un Box le prime candele dalle 00:00 alle 07:30 e funziona bene su tutti i giorni ma, vorrei filtrarlo al solo giorno odierno ho provato ad aggiungere “if OpenDate = today then” ma anziché partire dalle 00.00, il Box mi parte alle 06:30
Vorrei un solo Box di Oggi dalle 00:00 alle 7:30.. come posso fare?
openMorningBox = 000000
closeMorningBox = 073000
if gettimeframe >= 900 AND gettimeframe <= 3500 then
once maxHighMorningBox = high
once minLowMorningBox = low
if Time >= openMorningBox and time <= closeMorningBox then
barMorningBox = barMorningBox +1
maxHighMorningBox = MAX (maxHighMorningBox, high)
minLowMorningBox = MIN(minLowMorningBox, low)
endif
if time = closeMorningBox then
prevLowMorningBox = minLowMorningBox
prevHighMorningBox = maxHighMorningBox
previdxMorningBox = barindex
MorningBoxRange = maxHighMorningBox - minLowMorningBox
drawrectangle(barindex - barMorningBox, minLowMorningBox, barindex, maxHighMorningBox)COLOURED(0, 200, 0, 60) fillcolor(0, 200, 0, 20)
barMorningBox = 0
minLowMorningBox = high * 100
maxHighMorningBox = 0
ENDIF
ENDIF
RETURN
Devi usare DEFPARAM DrawOnLastBarOnly = True e mettere la stampa del rettangolo fuori da ogni blocco IF…ENDIF, prima di RETURN.Eccolo:
defparam DrawOnLastBarOnly = true
openMorningBox = 000000
closeMorningBox = 073000
if gettimeframe >= 900 AND gettimeframe <= 3500 then
once maxHighMorningBox = high
once minLowMorningBox = low
if Time >= openMorningBox and time <= closeMorningBox then
barMorningBox = barMorningBox +1
maxHighMorningBox = MAX (maxHighMorningBox, high)
minLowMorningBox = MIN(minLowMorningBox, low)
endif
if time = closeMorningBox then
prevLowMorningBox = minLowMorningBox
prevHighMorningBox = maxHighMorningBox
previdxMorningBox = barindex
MorningBoxRange = maxHighMorningBox - minLowMorningBox
//drawrectangle(barindex - barMorningBox, minLowMorningBox, barindex, maxHighMorningBox)COLOURED(0, 200, 0, 60) fillcolor(0, 200, 0, 20) barMorningBox = 0
minLowMorningBox = high * 100
maxHighMorningBox = 0
ENDIF
ENDIF
drawrectangle(barindex - barMorningBox, minLowMorningBox, barindex, maxHighMorningBox)COLOURED(0, 200, 0, 60) fillcolor(0, 200, 0, 20)
RETURN
Grazie per il suggerimento ma, non risolve il problema.
Il codice che ho messo, funziona correttamente per tutti i giorni (vedi link) ma, vorrei limitarlo solo alla giornata odierna.
https://drive.google.com/file/d/14giyw6iqqZdoYsKIh1rtFUQcoK9P5NGq/view?usp=sharing
A me ha funzionato, forse l’hai modificato in qualche punto.
Chiedo scusa ripeto, sono nuovo.
mi sono limitato a incollare il tuo codice ma, visualizzavo un box enorme quindi, ho fatto altri tentativi senza successo.
Potrebbe essere un’impostazione in ProRealTime?
Il fuso orario è italiano e tutte le impostazioni sono di default.
La grandezza dipende dai valori calcolati e dal time frame utilizzato.
Restringi verticalmente la scala dei prezzi, sul bordo sinistro, con il mouse.
si, lo so che basta spostare la linea del prezzo ma, mi sono arrenando da oltre una settimana, vorrei fare un indicatore con diversi Box in base all’orario solo nella giornata di oggi ma, non riesco ad andare oltre il mio codice, inoltre suggerisci:
DEFPARAM DrawOnLastBarOnly = True
Non aiuta dire che a te funziona e non aiuta ne a capire ne a risolvere!
Il codice che ho usato ho cercato di carpirlo dal Forum e sto provando da neofita
Il time frame utilizzo 15 min e 30 min
se puoi aiutarmi a risolvere e capire te ne sarei grato.
Ho notato che ci sono altre cose da aggiustare.
Questo funziona su entrambi i timeframe:
defparam DrawOnLastBarOnly = true
once openMorningBox = 000000
once closeMorningBox = 073000
once maxHighMorningBox = high
once minLowMorningBox = low
if gettimeframe = 900 OR gettimeframe = 1800 then
if OpenTime >= openMorningBox and OpenTime <= closeMorningBox then
if OpenTime = openMorningBox THEN
barMorningBox = BarIndex
maxHighMorningBox = high
minLowMorningBox = low
LastBar = BarIndex
else
LastBar = LastBar + 1
endif
maxHighMorningBox = max(maxHighMorningBox,high)
minLowMorningBox = min(minLowMorningBox,low)
if OpenTime = closeMorningBox then
prevLowMorningBox = minLowMorningBox
prevHighMorningBox = maxHighMorningBox
previdxMorningBox = barindex
MorningBoxRange = maxHighMorningBox - minLowMorningBox
ENDIF
ENDIF
drawrectangle(barMorningBox, minLowMorningBox, LastBar, maxHighMorningBox)COLOURED(0, 200, 0, 60) fillcolor(0, 200, 0, 20)
ENDIF
RETURN
Fantastico, proverò a lavorarci su, Grazie!!
Poco fa ho fatto questo e anche a me funziona! che ne pensi?
openMorningBox = 000000
closeMorningBox = 073000
if gettimeframe >= 900 AND gettimeframe <= 3500 then
once maxHighMorningBox = high
once minLowMorningBox = low
if Time >= openMorningBox and time <= closeMorningBox then
barMorningBox = barMorningBox + 1
maxHighMorningBox = MAX(maxHighMorningBox, high)
minLowMorningBox = MIN(minLowMorningBox, low)
endif
if time = closeMorningBox then
prevLowMorningBox = minLowMorningBox
prevHighMorningBox = maxHighMorningBox
previdxMorningBox = barindex
MorningBoxRange = maxHighMorningBox - minLowMorningBox
// Aggiunto controllo sulla data corrente
if date = Today then
drawrectangle(barindex - barMorningBox, minLowMorningBox, barindex, maxHighMorningBox) COLOURED(0, 200, 0, 60) fillcolor(0, 200, 0, 20)
endif
barMorningBox = 0
minLowMorningBox = high * 100
maxHighMorningBox = 0
endif
endif
RETURN
Ho optato per la tua soluzione che permette un calcolo successivo con l’ATR senza dare problemi.. ti ringrazio per l’aiuto, hai risolto.
Se possibile, vorrei aggiungere che, le linee del min e max del Box continuassero fino a quando toccano la candela. Avevo provato questo ma, senza successo.
drawsegment(previdxMorningBox, prevLowMorningBox, barindex , prevLowMorningBox)COLOURED(0, 200, 0, 60)
drawsegment(previdxMorningBox, prevHighMorningBox, barindex , prevHighMorningBox)COLOURED(0, 200, 0, 60)
Scusa Roberto, ho notato che sul DAX non funziona, quale potrebbe essere il motivo ?
A me funazionano anche sul DAX, sia il mio (https://www.prorealcode.com/topic/box-ad-orario-di-oggi/#post-243573) che il tuo (https://www.prorealcode.com/topic/box-ad-orario-di-oggi/#post-243574).
Hai scritto “vorrei aggiungere che, le linee del min e max del Box continuassero fino a quando toccano la candela“, puoi spiegarmi meglio quale candela devono toccare?
Grazie per la pazienza.
Sicuramente sbaglio qualcosa ma sul DAX Futures non lo vedo. (vedi immagine)
Hai verificato gli orari di trading, che ci siano candele in quel periodo?