---
title: Overbasic – Pragma
description: "Un Pragma è un parametro speciale che consente di influenzare il comportamento dell' Indicatore / Trading-System. Alcuni Pragma sono definibili esclusivamente all'interno dello script, altri invece servono ad impostare dei valori di default di proprietà accessibili nella finestra di configurazione…"
url: "https://www.overcharts.com/it/helpcenter/docs/overbasic-pragma/"
updated: "2022-09-30"
category: "Overbasic / Sintassi & Parole Chiave"
---

# Overbasic – Pragma

Un Pragma è un parametro speciale che consente di influenzare il comportamento dell' Indicatore / Trading-System.
Alcuni Pragma sono definibili esclusivamente all'interno dello script, altri invece servono ad impostare dei valori di default di proprietà accessibili nella finestra di configurazione dell' Indicatore / Trading-System.

### **Sintassi**

```
Pragma ("<nome parametro>", <valore>, <indice risultato>)
```

Un pragma è definito dalla parola chiave **PRAGMA** e dai seguenti attributi:

**Nome Parametro**: nome del parametro da impostare (**[vedi parametri disponibili](#1-toc-title)**).

**Valore**: valore del parametro

**Indice Risultato**: (*SOLO per gli Indicatori*) nel caso in cui un indicatore ritorni (con la parola chiave RETURN) più risultati/curve, l'indice indica a quale risultato il pragma fa riferimento.

I Pragma vanno definiti a livello di script, cioè esternamente a tutte le funzioni. Ti consigliamo di definire tutti i Pragma ad inizio script.

#### **Parametri Disponibili**

| **HORIZONTAL_SHIFT** Consente lo shift verso destra/sinistra di x barre dell'intera serie di valori dell'indicatore. **Se maggiore di zero**, la curva dopo essere stata calcolata viene spostata verso **destra** del numero di barre specificate. **Se minore di zero**, la curva dopo essere stata calcolata viene spostata verso **sinistra** del numero di barre specificate. Valori possibili: qualsiasi valore numerico intero. *Disponibile SOLO per gli indicatori. Se usato altrove viene ignorato.* |
| --- |
| **STYLE_DRAW_AS** Definisce il valore di default della proprietà di stile '***Disegna Come***' presente nella configurazione dell'indicatore. *Disponibile SOLO per gli indicatori. Se usato altrove viene ignorato.* |
| **STYLE_ZORDER** Definisce il valore di default della proprietà di stile '***Z-Order***' presente nella configurazione dell'indicatore. Tale proprietà specifica l'ordine di disegno rispetto alle altre curve presenti NELLO STESSO indicatore. Più alto è il valore di Z-Order, più la curva sarà disegnata in primo piano. Valori possibili: qualsiasi valore numerico intero positivo. *Disponibile SOLO per gli indicatori. Se usato altrove viene ignorato.* |
| **USE_REFERENCE_OBJECT_SCALE_AS_DEFAULT** Imposta come default l'uso della scala del grafico/indicatore di riferimento. In altre parole, se l'indicatore viene utilizzato principalmente agganciato al suo grafico/indicatore di riferimento (come accade ad esempio per la media mobile), allora è consigliabile usare questo Pragma per impostare di default l'uso della stessa scala del grafico/indicatore di riferimento. Valori possibili: TRUE, FALSE. *Disponibile SOLO per gli indicatori. Se usato altrove viene ignorato.* |
| **VALID_STARTING_FROM** Definisce la barra dalla quale iniziare a disegnare la curva dell'indicatore. In altre parole, è l'indice del primo valore valido della serie di valori dell'indicatore. Valori possibili: qualsiasi valore numerico intero positivo. *Disponibile SOLO per gli indicatori. Se usato altrove viene ignorato.* |

### **Utilizzo**

I Pragma vanno definiti a livello di script, cioè esternamente a tutte le funzioni. Ti consigliamo di definire tutti i Pragma ad inizio script.

**Esempi**:

```
Pragma ("HORIZONTAL_SHIFT", 20)
Pragma ("STYLE_DRAW_AS", "HI")
Pragma ("STYLE_ZORDER", 100)
Pragma ("USE_REFERENCE_OBJECT_SCALE_AS_DEFAULT", True)
Pragma ("VALID_STARTING_FROM", 10)

Function Main()
    ...
    ...
EndFunction
```

Nel caso in cui l'indicatore ritorni più risultati/curve, va specificato anche l'indice della curva a cui il Pragma fa riferimento:

```
Pragma ("HORIZONTAL_SHIFT", 20, 3)
Pragma ("VALID_STARTING_FROM", 10, 1)
Pragma ("VALID_STARTING_FROM", 10, 2)
Pragma ("VALID_STARTING_FROM", 10, 3)

Function Main()
    ...
    ...
EndFunction
```

Il valore del Pragma può essere definito anche come espressione composta da numeri, stringhe, valori boolean (true/false), Option, Property:

```
Pragma ("VALID_STARTING_FROM", Period)

Property Period As Numeric
    Default (20)
EndProperty

Function Main()
    ...
    ...
EndFunction
```
