---
title: Overbasic – IF .. THEN .. ELSE
description: "Le parole chiavi **IF**, **THEN** e **ELSE** permettono di condizionare l'esecuzione di un insieme di istruzioni. In altre parole, blocchi di istruzioni possono essere eseguiti solo al verificarsi di alcune specifiche condizioni. ### **Sintassi** ``` If Then 'da eseguire se…"
url: "https://www.overcharts.com/it/helpcenter/docs/overbasic-if-then-else/"
updated: "2022-10-14"
category: "Overbasic / Sintassi & Parole Chiave"
---

# Overbasic – IF .. THEN .. ELSE

Le parole chiavi **IF**, **THEN** e **ELSE** permettono di condizionare l'esecuzione di un insieme di istruzioni. In altre parole, blocchi di istruzioni possono essere eseguiti solo al verificarsi di alcune specifiche condizioni.

### **Sintassi**

```
If <condizione> Then
    <istruzioni blocco IF..THEN> 'da eseguire se <condizione> è TRUE
Else
    <istruzioni blocco ELSE> 'da eseguire se <condizione> è FALSE
EndIf
```

L'istruzione **IF** è composta da due blocchi:

**Blocco IF..THEN**: (*obbligatorio*) le istruzioni contenute in questo blocco vengono eseguite SOLO se <condizione> è TRUE

**Blocco ELSE**: (*opzionale*) le istruzioni contenute in questo blocco vengono eseguite SOLO se <condizione> è FALSE

<condizione> è una qualsiasi equazione/disequazione (o un insieme di equazioni/disequazioni legate tra loro da AND / OR)

I due blocchi di istruzioni IF..THEN e ELSE possono contenere qualsiasi tipo di istruzione comprese altre istruzioni IF.. THEN..ELSE (*annidate*):

```
If <condizione1> Then
    If <condizione2> Then
        ...
        ...
    EndIf
Else
    If <condizione3> Then
        ...
    Else
        ...
    EndIf
EndIf
```

In caso di più istruzioni ***IF annidate***, alcune volte è conveniente utilizzare una sintassi alternativa (semplificata) che fa uso della parola chiave **ELSEIF**:

```
If <condizione1> Then
    ...
ElseIf <condizione2> Then
    ...
ElseIf <condizione3> Then
    ...
Else
    ...
EndIf
```

### **Utilizzo**

IF..THEN senza blocco ELSE:

```
If (Close > Open) Then
    PositiveBars = PositiveBars + 1
EndIf

If (Close > Open) And (Close > Close(-1)) Then
    PositiveTrend = True
EndIf
```

IF..THEN con blocco ELSE:

```
If (Close > Open) Then
    PositiveBars = PositiveBars + 1
Else
    NegativeBars = NegativeBars + 1
EndIf
```

IF..THEN..ELSE annidati:

```
If (Close > Open) Then
    PositiveBars = PositiveBars + 1
Else
    If (Close = Open)
        NeutralBars = NeutralBars + 1
    Else
        NegativeBars = NegativeBars + 1
    EndIf
EndIf
```

IF..THEN..ELSE con blocco ELSEIF:

```
If (Close > Open) Then
    PositiveBars = PositiveBars + 1
ElseIf (Close = Open)
    NeutralBars = NeutralBars + 1
Else
    NegativeBars = NegativeBars + 1
EndIf
```
