Overbasic – Property

Una PROPERTY è un parametro di input impostabile dall’utente esternamente allo script per influenzare il calcolo all’interno dello script. E’ possibile impostare il valore della Property nella finestra di configurazione dell’ Indicatore / Trading-System.

Non c’è alcun limite nel numero di Property definibili in uno script. Tuttavia è sempre bene definire solo le property strettamente necessarie per non complicare inutilmente la configurazione.

Sintassi #

Property <nome> As <tipo dato>
    <attributi>
EndProperty

Una property inizia con la parola chiave Property e termina con la parola chiave EndProperty.
Nella prima riga della property, subito dopo la parola chiave Property, è definito il nome della property.
Successivamente, nella stessa riga, viene definito il <tipo dato>.

Una property può essere di tipo Numeric, Date, Time, Database, Indicator (vedi documentazione sui tipi dato).

Internamente alle parole chiave Property e EndProperty puoi definire i seguenti attributi:

INFO: permette di specificare una descrizione della proprietà. La descrizione viene visualizzata ad esempio nell’help della finestra di configurazione dell’ Indicatore / Trading-System.

Info "<descrizione>"

LIST: permette di definire una lista di valori selezionabili per la property. Ogni attributo LIST corrisponde ad un elemento della lista. La Property si presenterà nella finestra di configurazione sotto forma di combo-box. Questo attributo NON è utilizzabile assieme all’attributo RANGE.

List ("<nome elemento>", <valore>)

RANGE: permette di definire il range di validità della property. Questo attributo NON è utilizzabile assieme all’attributo LIST.

Range (<valore minimo>, <valore massimo>)

DEFAULT: permette di definire il valore di default della property.

Default (<valore>)

Gli attributi utilizzabili nella definizione della property dipendono dal tipo dato:

  • Per le property di tipo Numeric, Date e Time puoi utilizzare gli attributi INFO, LIST (o RANGE), e DEFAULT.
  • Per le property di tipo Database e Indicator (che rappresentano una serie dati) puoi utilizzare solo l’attributo INFO.

Le Property vanno definite a livello di script, cioè esternamente a tutte le funzioni. Ti consigliamo di definire tutte le Property ad inizio script.

Esempi:

'la Property si presenterà nella finestra di configurazione sotto forma di casella.
Property Period As Numeric
    Info "Periodo di calcolo"
    Range (5, 1000)
    Default (21)
EndProperty

'la Property si presenterà nella finestra di configurazione sotto forma di combo-box.
Property Period As Numeric
    Info "Periodo di calcolo"
    List ("Basso", 20)
    List ("Medio", 50)
    List ("Alto", 100)
    Default (20)
EndProperty

'la Property rappresenta la serie dati di un indicatore o la serie di valori Open/High/Low/Close dello strumento sottostante.
Property Riferimento As Indicator
    Info "Indicatore di riferimento"
EndProperty

'la Property rappresenta uno strumento.
Property DB As Database
    Info "Strumento di riferimento"
EndProperty

Una property di tipo Indicator è particolarmente utile nel caso si voglia costruire un indicatore di indicatore. Utilizzando questa proprietà all’interno dello script sarà possibile accedere alla serie dati dell’indicatore esterno e utilizzarla per calcolare, ad esempio, la sua media mobile o per qualsiasi altro tipo calcolo.

Utilizzo #

Il valore di una Property è accessibile all’interno dello script utilizzando il suo nome, esattamente come accade per una qualsiasi variabile. La sola differenza è che la Property è in ‘sola lettura’, cioè all’interno dello script NON è possibile cambiare il suo valore.

Property Period As Numeric
    Info "Periodo di calcolo"
    Range (5, 1000)
    Default (21)
EndProperty

Function Main()
    Dim Total As Numeric = 0

    Dim i As Numeric = 0
    'La property Period viene utilizzata nel calcolo come una qualsiasi variabile 'in sola lettura'.
    For i = 0 To Period - 1
        Total = Total + Close(-i)
    Next i

    Return Total / Period
EndFunction