durata candela VOLUME

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #100676 quote
    Gabriele Battista
    Participant
    Senior

    ciao ho scritto il codice di un indicatore che mi desse per grafici a volume la durata temporale di ogni candela. il codice è:

    if intradaybarindex>1 then
    
    durata=opentime-opentime[1]
    
    else
    
    durata=durata[1]
    
    endif
    
    return durata

    In alcuni casi da dei valori anomali, mi sai spiegare? Allego un grafico per spiegazione

    DAXXXXX_8-250-volumi.png DAXXXXX_8-250-volumi.png
    #100682 quote
    robertogozzi
    Moderator
    Master

    Per scrivere il codice , utilizza il pulsante <> “insert PRT code”.

    Grazie.

    #100692 quote
    Gabriele Battista
    Participant
    Senior

    perdonami non ho capito dove devo mettere “insert PRT code”

    #100695 quote
    robertogozzi
    Moderator
    Master

    E’ il pulsante evidenziato, cliccalo e poi scrivi il codice nell’apposita finestra che si apre.

    Insert-PRT-Code-IT.jpg Insert-PRT-Code-IT.jpg
    #100697 quote
    robertogozzi
    Moderator
    Master

    Per la durata, attendi un pò, ci sto lavorando.

    #100708 quote
    Gabriele Battista
    Participant
    Senior
    if intradaybarindex>1 then
    
    durata=opentime-opentime[1]
    
    else
    
    durata=durata[1]
    
    endif
    
    return durata
    
    #100713 quote
    robertogozzi
    Moderator
    Master

    Il tuo codice potrebbe essere scritto semplicemente:

    RETURN opentime-opentime[1]

    ma non fa quello che vuoi, il calcolo tra i due orari è fatto in modo numerico, per cui le ore 16:01:30 – le ore 15:59:45 diventa 160130 – 155945 = 14985, che è un numero senza senso. PRT supporta il solo tipo di dati numerico reale (in virgola mobile), non ha interi, date, stringhe, ecc…

    Per cui è necessario estrapolare i singoli valori delle ore, minuti e secondi facendo delle operazioni matematiche, molto semplici, ma numerose (rspetto alla semplice riga a cui tu avevi pensato):

    Ora1 = OpenTime                          //ORA attuale
    x    = round((Ora1 / 100) - 0.5) * 100   //trovi l'ora ed i minuti, senza secondi
    ss1  = Ora1 - x                          //trovi i secondi
    y    = round((x / 10000) - 0.5) * 10000  //trovi l'ora senza secondi e senza minuti
    mm1  = (x - y) / 100                     //trovi i minuti
    hh1  = round((Ora1 / 10000) - 0.5)
    //////////////////////////////////////////////////////////////////////
    Ora2 = OpenTime[1]                       //ORA della candela precedente
    x    = round((Ora2 / 100) - 0.5) * 100   //trovi l'ora ed i minuti, senza secondi
    ss2  = Ora2 - x                          //trovi i secondi
    y    = round((x / 10000) - 0.5) * 10000  //trovi l'ora senza secondi e senza minuti
    mm2  = (x - y) / 100                     //trovi i minuti
    hh2  = round((Ora2 / 10000) - 0.5)
    //////////////////////////////////////////////////////////////////////
    //     Calcolo delle differenze
    DiffH = hh1 - hh2       //Differenza tra le ore
    IF DiffH < 0 THEN
       DiffH = DiffH + 23
    ENDIF
    DiffM = mm1 - mm2       //Differenza tra i minuti
    IF DiffM < 0 THEN
       DiffM = DiffM + 59
    ELSIF ss1 < ss2 THEN
       DiffM = DiffM - 1
    ENDIF
    //ENDIF
    DiffS = ss1 - ss2       //Differenza tra i secondi
    IF DiffS < 0 THEN
       DiffS = DiffS + 59
    ENDIF
    //////////////////////////////////////////////////////////////////////
    //       Riportare tutto in SECONDI
    Diff = Diffs + (DiffM * 60) + (DiffH * 3600)
    RETURN Diff AS "Secondi"
    x-9.jpg x-9.jpg
    #100723 quote
    Gabriele Battista
    Participant
    Senior

    ci deve essere cmq qualcosa che non va ancora ci sono dei picchi di 70′ impossibili, anche nel tuo grafico

    DAXXXXX_8-250-volumi-1.png DAXXXXX_8-250-volumi-1.png
    #100729 quote
    robertogozzi
    Moderator
    Master

    I picchi ci sono perché le candele sono così distanti tra loro, specialmente al cambio giorno.

    Talvolta anche durante la giornata.

    Non saprei dirti, prova a confrontare i dati con altre piattaforme, utilizzando gli stessi parametri.

    #100739 quote
    Gabriele Battista
    Participant
    Senior

    ho controllato e c’era un errore nel codice al cambio di ora, ho corretto ed adesso funziona.

    Ora1 = OpenTime //ORA attuale
    x = round((Ora1 / 100) - 0.5) * 100 //trovi l'ora ed i minuti, senza secondi
    ss1 = Ora1 - x //trovi i secondi
    y = round((x / 10000) - 0.5) * 10000 //trovi l'ora senza secondi e senza minuti
    mm1 = (x - y) / 100 //trovi i minuti
    hh1 = round((Ora1 / 10000) - 0.5)
    //////////////////////////////////////////////////////////////////////
    Ora2 = OpenTime[1] //ORA della candela precedente
    x = round((Ora2 / 100) - 0.5) * 100 //trovi l'ora ed i minuti, senza secondi
    ss2 = Ora2 - x //trovi i secondi
    y = round((x / 10000) - 0.5) * 10000 //trovi l'ora senza secondi e senza minuti
    mm2 = (x - y) / 100 //trovi i minuti
    hh2 = round((Ora2 / 10000) - 0.5)
    //////////////////////////////////////////////////////////////////////
    // Calcolo delle differenze
    DiffH = hh1 - hh2 //Differenza tra le ore
    IF DiffH < 0 THEN
    DiffH = DiffH + 23
    ELSIF DiffH=1 THEN
    DiffH=0
    m1=m1+60
    ENDIF
    DiffM = mm1 - mm2 //Differenza tra i minuti
    IF DiffM < 0 THEN
    DiffM = DiffM + 59
    ELSIF ss1 < ss2 THEN
    DiffM = DiffM - 1
    ENDIF
    DiffS = ss1 - ss2 //Differenza tra i secondi
    IF DiffS < 0 THEN
    DiffS = DiffS + 59
    ENDIF
    //////////////////////////////////////////////////////////////////////
    //Riportare tutto in SECONDI
    Diff = Diffs + (DiffM * 60) + (DiffH * 3600)
    RETURN Diff AS "Secondi"
    robertogozzi thanked this post
    DAXXXXX_8-250-volumi-2.png DAXXXXX_8-250-volumi-2.png
Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.

durata candela VOLUME


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Summary

This topic contains 9 replies,
has 2 voices, and was last updated by Gabriele Battista
6 years, 9 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 06/14/2019
Status: Active
Attachments: 5 files
Logo Logo
Loading...