Box ad orario di oggi

Viewing 15 posts - 1 through 15 (of 17 total)
  • Author
    Posts
  • #243531 quote
    Nettuno
    Participant
    New

    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
    #243540 quote
    robertogozzi
    Moderator
    Master

    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
    #243546 quote
    Nettuno
    Participant
    New

    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

    #243549 quote
    robertogozzi
    Moderator
    Master

    A me ha funzionato, forse l’hai modificato in qualche punto.

    #243550 quote
    Nettuno
    Participant
    New

    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.

    #243553 quote
    Nettuno
    Participant
    New
    #243554 quote
    robertogozzi
    Moderator
    Master

    La grandezza dipende dai valori calcolati e dal time frame utilizzato.

    Restringi verticalmente la scala dei prezzi, sul bordo sinistro, con il mouse.

    #243563 quote
    Nettuno
    Participant
    New

    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.

    #243573 quote
    robertogozzi
    Moderator
    Master

    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
    #243574 quote
    Nettuno
    Participant
    New

    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
    #243626 quote
    Nettuno
    Participant
    New

    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)
    
    #243632 quote
    Nettuno
    Participant
    New

    Scusa Roberto, ho notato che sul DAX non funziona, quale potrebbe essere il motivo ?

    #243714 quote
    robertogozzi
    Moderator
    Master

    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?

    #243719 quote
    Nettuno
    Participant
    New

    Grazie per la pazienza.
    Sicuramente sbaglio qualcosa ma sul DAX Futures non lo vedo. (vedi immagine) 

    #243726 quote
    robertogozzi
    Moderator
    Master

    Hai verificato gli orari di trading, che ci siano candele in quel periodo?

Viewing 15 posts - 1 through 15 (of 17 total)
  • You must be logged in to reply to this topic.

Box ad orario di oggi


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
Nettuno @nettuno Participant
Summary

This topic contains 16 replies,
has 2 voices, and was last updated by robertogozzi
11 months, 3 weeks ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 02/05/2025
Status: Active
Attachments: 6 files
Logo Logo
Loading...