Errore su TIMEFRAME

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #248631 quote
    occhiostancoocchiostanco
    Participant
    New

    Buongiorno
    trovo difficile evitare che l’utente riceva l’errore:
    “Tutti i timeframe usati nel codice devono essere multipli di quello nel grafico”

    — Vorrei poter configurare il mio indicatore in modo che venga utilizzato solo
    in certi Timeframes
    — oppure vorrei che la funzione TIMEFRAME potesse essere utilizzata dentro un IF, in moda da poter testare
    prima se il timeframe del grafico è compatibile
    — oppure vorrei poter uscire dal programma se il timeframe del grafico nonè compatibile
    per esempio
    IF GetTimeFrame > 3600 * 24 THEN
    EXIT
    ENDIF

    Qualche idea?

    Grazie

    #248643 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Come indicato nel messaggio “Tutti i timeframe usati nel codice devono essere multipli di quello nel grafico”.

    Significa che, se utilizzi un Timeframe a 15 minuti potrai usare solo timeframes (minori o uguali a 15 minuti) le cui candele chiudano OGNI 15 minuti, quindi vanno bene 1, 2, 3, 5 15 minuti o 20 secondi, ma NON 10 minuti, perché quando chiude una candela a 15 minuti, quella a 10 minuti NON chiude (chiudono tutte e tue alla scadenza di 30 minuti, ma deve valere SEMPRE, non alcune candele si ed altre no). NON puoi usare nemmeno, ad esempio un timeframe a 27 secondi, perché non c’è nessuna candela a 27 secondi che chiude ogni 15 minuti., mentre puoi usare un timeframe a 5, 10, 15, 20 25 secondi.

    Iván González thanked this post
    #248648 quote
    occhiostancoocchiostanco
    Participant
    New

    Grazie Roberto,

    questo mi è chiaro. Quello che ho chiesto è un’altra cosa: siccome

    l’utilizzatore del grafico può scegliere a suo piacimento il TF senza essere a

    conoscenza di quali TF il software può supportare, e se ne sceglie uno non supportato

    viene sollevato l’errore  e l’indicatore viene brutalmente disassociato dal grafico

    (per cui dopo va reinserito, eccetera, eccetera)

    Chiedo se sia possibile in qualche modo evitare questo problema n uno dei modi seguenti o un altro che

    non mi viene in mente:

    • limitare da software la scelta del TF da parte dell’utente del grafico
    • limitare da impostazioni della piattaforma la scelta del TF per il grafico cui viene associato l’indicatore
    • far un test nel software che faccia terminare l’esecuzione dell’indicatore se il TF non è supportato, senza dare l’errore e soprattutto senza “staccare” l’indicatore dal grafico

    Grazie!

    #248650 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    NON si può usare una variable  per indicare la grandezza di un timeframe:

    TF = 60
    Timeframe(TF minute)
    Sma20 = average[20,0]
    RETURN Sma20 AS "Sma20"

    NON si può inserire l’istruzione TIMEFRAME all’interno di un blocco IF…ENDIF:

    IF GetTimeFrame > (3600 * 24) THEN
       DrawText("ERRORE: il Timeframe deve essere <= Daily",BarIndex,highest[20](high + range))
       Sma20 = 0
    ELSE
       Timeframe(1h)
       Sma20 = average[20,0]
    ENDIF
    RETURN Sma20 AS "Sma20"

    l’istruzione TIMEFRAME deve essere su una riga unica, da sola, dove non ci sia altro (tranne eventuali commenti alla fine della riga):

    Timeframe(1h,default) //è identica a Timeframe(1h)

    Speriamo nella versione 13 (credo sia già in fase di test per essere pronta nel 2026, secondo informazioni non ufficiali), qualcosa cambi, magari in relazione a quanto ho detto nella prima riga circa la possibilità di usare variabili.

    #248655 quote
    occhiostancoocchiostanco
    Participant
    New

    Vabbeh ho capito che si fa un po’ di fatica a rispondere a domande precise, anche se formulate in un elenco puntato.

    Grazie comunque del tuo tempo

    #248656 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Rispondo ai tuoi punti, con la speranza di essere più chiaro:

    • limitare da software la scelta del TF da parte dell’utente del grafico
      NO, perché, come spiegato, non si possono usare variabili, quindi ogni TF deve essere hard-coded
    • limitare da impostazioni della piattaforma la scelta del TF per il grafico cui viene associato l’indicatore
      NO, la piattaforma si limita a respingere indicatori NON compatibili con il timeframe attualmente in uso
    • far un test nel software che faccia terminare l’esecuzione dell’indicatore se il TF non è supportato, senza dare l’errore e soprattutto senza “staccare” l’indicatore dal grafico
      NO, la piattaforma si limita a respingere indicatori NON compatibili con il timeframe attualmente in uso. Se l’indicatore è tra quelli supportati, puoi usare IF…ENDIF per scegliere quali, tra essi, vuoi consentire oppure no, con GETTIMEFRAME.
    #248657 quote
    occhiostancoocchiostanco
    Participant
    New

    Ok grazie, forse devo studiare un po’

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

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

Errore su TIMEFRAME


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by occhiostancoocchiostanco
1 year, 2 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 07/02/2025
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...