Risultati da 1 a 10 di 37

Visualizzazione Elencata

  1. #8

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
    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

    Salve Max,

    io ho il seguente problema, che cerco di spiegare nella maniera più rapida possibile postando un esempio a puro scopo esemplificativo.

    Supponiamo di voler scrivere una funzione personalizzata di nome "FunzioneProva", che definisca un vettore di dati calcolato in modo tale che:

    - se il prezzo dello strumento finanziario di volta in volta fa segnare un nuovo massimo allora l'elemento del vettore assume il valore di quel massimo
    - altrimenti mantiene il valore precedente (il vecchio massimo per intendersi).


    Con EasyScript non è possibile scrivere la funzione mediante un codice di questo tipo:

    SET Condition = HIGH > REF(HIGH, 1)
    SET Vector = IF(Condition,HIGH, REF(Vector,1))
    
    SET FunzioneProva = Vector
    in quanto nell'istruzione della seconda riga non è possibile assegnare direttamente a "Vector" il valore restituito da "REF(Vector,1)".

    Come si risolve il problema?

    Grazie!
    Ultima modifica di Smash; 07-10-13 alle 16:42

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Contattaci

Chiama gli esperti
+39 0425 792923

Chiamaci
Email

Richiedi informazioni via E-MAIL
info@playoptions.it

Scrivici
Nostri Uffici

Vieni a trovarci
45100 Rovigo

Contattaci

Serve Aiuto?

Contattaci per maggiori informazioni.

Denis MorettoSpecialista Finanziario
Contattaci
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.