Originariamente Scritto da
Francario Massimiliano
Salve,
come già scritto da Andrea, EasyScript è un linguaggio di programmazione vettoriale, fondamentalmente diverso dai linguaggi tradizionali.
In pratica, al posto di eseguire una riga alla volta dello script una barra alla volta (comportamento di EasyLanguage di TradeStation per esempio), EasyScript esegue una riga alla volta dello script su tutte le barre in un solo passaggio.
Faccio un esempio per cercare di chiarire meglio.
Supponiamo di avere scritto nel nostro script:
[HIGH]
SET a = SMA(CLOSE, 14)
SET b = SMA(CLOSE, 21)
[/HIGH]
e supponiamo di applicare questo script ad uno storico di 250 barre.
Quando lo script viene eseguito, al termine della prima riga, esisterà all'interno del "motore" di scripting una variabile, di nome "a", con associato un vettore di 250 elementi (250 barre), i cui valori rappresentano la media mobile semplice a 14 periodi del prezzo CLOSE. In pratica, prima eseguire la seconda linea dello script, il valore di "a" è già stato calcolato per tutte le barre dei dati storici, in un unico passaggio.
Se facciamo lo stesso esempio in EasyLanguage di TradeStation:
a = Average(CLOSE, 14)
b = Average(CLOSE, 21)
il comportamento sarà completamente diverso. Infatti verrà considerata la prima barra di dati storici, eseguito lo script riga per riga, poi verrà presa in considerazione la seconda barra ed eseguito lo script, e via di seguito fino ad aver esaurito tutte le barre di dati storici.
Sostanzialmente i due linguaggi si comportano in modo opposto. EasyScript itera sulle righe di codice con blocchi di dati, EasyLanguage di TradeStation itera sulle barre di dati storici con blocchi di codice.
Max Francario