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