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
EndIfL’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    
EndIfIn 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
    ...
EndIfUtilizzo #
IF..THEN senza blocco ELSE:
If (Close > Open) Then
    PositiveBars = PositiveBars + 1
EndIf
If (Close > Open) And (Close > Close(-1)) Then
    PositiveTrend = True
EndIfIF..THEN con blocco ELSE:
If (Close > Open) Then
    PositiveBars = PositiveBars + 1
Else
    NegativeBars = NegativeBars + 1
EndIfIF..THEN..ELSE annidati:
If (Close > Open) Then
    PositiveBars = PositiveBars + 1
Else
    If (Close = Open)
        NeutralBars = NeutralBars + 1
    Else
        NegativeBars = NegativeBars + 1
    EndIf
EndIfIF..THEN..ELSE con blocco ELSEIF:
If (Close > Open) Then
    PositiveBars = PositiveBars + 1
ElseIf (Close = Open)
    NeutralBars = NeutralBars + 1
Else
    NegativeBars = NegativeBars + 1
EndIf
