Risultati da 1 a 10 di 14

Visualizzazione Ibrida

  1. #1

    Data Registrazione
    Dec 2009
    Messaggi
    813

    Chiarimento funzione GlobalVar

    Ciao ragazzi, come da manuale ho provato a creare un semplice indicatore che mi riporta la EMA a 30 minuti sul chart a 15 minunti ma a quanto sembra la lettura è corretta solo per l'ultima barra disegnata perché analizzando lo storico non trovo corrispondenza. Cosa stò sbagliando?

    Allego screen che mostra la verifica del valore delle EMA alle 17:30 del 27/08/2014
    Clicca sull'immagine per ingrandirla

Nome: Screenshot 2014-08-31 13.24.37.jpg
Visite: 30
Dimensione: 115.8 KB
ID: 16223

    Questo è lo script per il chart a 30 minuti
    INPUTS: @price(CLOSE), @periods(14)
    
    
    SET EMA1 = EMA(@price, @periods)
    SetGlobalVar(1, EMA1)
    set PLOT1 = EMA1
    Questo per il chart a 15 minuti dove riporto la EMA a 30 minuti
    SET PLOT1 = GetGlobalVar(1)

  2. #2
    L'avatar di Francario Massimiliano
    Data Registrazione
    Jul 2008
    Messaggi
    1,002
    Salve,

    Citazione Originariamente Scritto da CIVT Visualizza Messaggio
    Ciao ragazzi, come da manuale ho provato a creare un semplice indicatore che mi riporta la EMA a 30 minuti sul chart a 15 minunti ma a quanto sembra la lettura è corretta solo per l'ultima barra disegnata perché analizzando lo storico non trovo corrispondenza. Cosa stò sbagliando?

    Allego screen che mostra la verifica del valore delle EMA alle 17:30 del 27/08/2014
    Clicca sull'immagine per ingrandirla

Nome: Screenshot 2014-08-31 13.24.37.jpg
Visite: 30
Dimensione: 115.8 KB
ID: 16223

    ....
    Nell'immagine allegata non noto alcuna anomalia, la curva della EMA a 30 minuti è esattamente uguale nei due chart.
    Le funzioni SetGlobalVar e GetGlobalVar NON trasformano in alcun modo i dati, cioè non applicano alcun raggruppamento o suddivisione per adattare i vettori ai diversi timeframe.

    Max Francario

  3. #3

    Data Registrazione
    Dec 2009
    Messaggi
    813
    Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
    Salve,



    Nell'immagine allegata non noto alcuna anomalia, la curva della EMA a 30 minuti è esattamente uguale nei due chart.
    Le funzioni SetGlobalVar e GetGlobalVar NON trasformano in alcun modo i dati, cioè non applicano alcun raggruppamento o suddivisione per adattare i vettori ai diversi timeframe.

    Max Francario
    Grazie della risposta MAX, quindi non posso utilizzare questo sistema per fare backtest? Vorrei costruire uno script che mi permette di analizzare i BT utilizzando lo Z-Score di due titoli in overspread....Mi confermi invece che l'ultima barra la posso utilizzare come segnale di ingresso/uscita all'interno di un eventuale script? Se la risposta è affermativa dovrei lanciare due script in parallello per poter utilizzare il GetGlobalVar, eventualmente potresti suggerirmi come fare?

  4. #4
    L'avatar di Francario Massimiliano
    Data Registrazione
    Jul 2008
    Messaggi
    1,002
    Salve,
    Citazione Originariamente Scritto da CIVT Visualizza Messaggio
    Grazie della risposta MAX, quindi non posso utilizzare questo sistema per fare backtest? Vorrei costruire uno script che mi permette di analizzare i BT utilizzando lo Z-Score di due titoli in overspread....Mi confermi invece che l'ultima barra la posso utilizzare come segnale di ingresso/uscita all'interno di un eventuale script? Se la risposta è affermativa dovrei lanciare due script in parallello per poter utilizzare il GetGlobalVar, eventualmente potresti suggerirmi come fare?
    il backtest con GetGlobalVar funziona perfettamente nel caso si usino 2 chart su strumenti diversi ma con lo stesso timeframe.
    Per il backtest su timeframe diversi, bisogna considerare quanto scritto sopra, e cioè che le funzioni SetGlobalVar e GetGlobalVar non "trasformano" i dati in nessun modo per adattarli ai diversi timeframe. In questi casi, alcune volte è sufficiente usare un numero diverso di periodi nel calcolo degli indicatori per ottenere lo stesso risultato.

    Per esempio, supponendo di avere un Chart a 5 minuti con applicato uno script come questo:
    # MioSegnale a 5 minuti
    MioSegnale = EMA(CLOSE, 10)) > CLOSE
    Se volessimo portare la variabile MioSegnale su un chart a 15 minuti, al posto di usare SetGlobalVar/GetGlobalVar (e dover di conseguenza avere 2 chart aperti), potremmo scrivere semplicemente
    # MioSegnale a 15 minuti
    MioSegnale = EMA(CLOSE, 30) > CLOSE
    ottenendo lo stesso risultato.
    La "traduzione" da un timeframe ad un altro di uno script non sempre è così semplice, ma nella maggior parte dei casi è alla portata di chiunque.

    In ogni caso, usando GetGlobalVar l'ultimo valore è sempre corretto, cioè l'utilizzo di SetGlobalVar/GetGlobalVar è sempre e comunque corretto in una Strategy in beeTrader.

    Le funzioni SetGlobalVar e GetGlobalVar si possono utilizzare per memorizzare più di un dato alla volta, cambiando il valore del parametro ID per distinguere i diversi valori. E' quindi possibile usare anche più di 2 chart contemporaneamente ed avere segnali generati su uno di essi in base ai valori presenti in tutti gli altri.

    Max Francario

  5. #5

    Data Registrazione
    Dec 2009
    Messaggi
    813
    Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
    Salve,


    il backtest con GetGlobalVar funziona perfettamente nel caso si usino 2 chart su strumenti diversi ma con lo stesso timeframe.
    Per il backtest su timeframe diversi, bisogna considerare quanto scritto sopra, e cioè che le funzioni SetGlobalVar e GetGlobalVar non "trasformano" i dati in nessun modo per adattarli ai diversi timeframe. In questi casi, alcune volte è sufficiente usare un numero diverso di periodi nel calcolo degli indicatori per ottenere lo stesso risultato.

    Per esempio, supponendo di avere un Chart a 5 minuti con applicato uno script come questo:
    # MioSegnale a 5 minuti
    MioSegnale = EMA(CLOSE, 10)) > CLOSE
    Se volessimo portare la variabile MioSegnale su un chart a 15 minuti, al posto di usare SetGlobalVar/GetGlobalVar (e dover di conseguenza avere 2 chart aperti), potremmo scrivere semplicemente
    # MioSegnale a 15 minuti
    MioSegnale = EMA(CLOSE, 30) > CLOSE
    ottenendo lo stesso risultato.
    La "traduzione" da un timeframe ad un altro di uno script non sempre è così semplice, ma nella maggior parte dei casi è alla portata di chiunque.

    In ogni caso, usando GetGlobalVar l'ultimo valore è sempre corretto, cioè l'utilizzo di SetGlobalVar/GetGlobalVar è sempre e comunque corretto in una Strategy in beeTrader.

    Le funzioni SetGlobalVar e GetGlobalVar si possono utilizzare per memorizzare più di un dato alla volta, cambiando il valore del parametro ID per distinguere i diversi valori. E' quindi possibile usare anche più di 2 chart contemporaneamente ed avere segnali generati su uno di essi in base ai valori presenti in tutti gli altri.

    Max Francario
    Grazie Max sei stato molto gentile però mi manca un ultimo passettino per arrivare a calcolare lo Z-score totale in modo corretto perchè vedo che non basta fare la semplice differenza dei due ZS singoli in quanto non mi trovo con il valore ufficiale calcolato!

    Questo è lo ZS totale calcolato per differenza dei due singoli Zs (Zs=2.86)
    Clicca sull'immagine per ingrandirla

Nome: ZS chart gvar.jpg
Visite: 13
Dimensione: 102.0 KB
ID: 16374

    Mentre questo è il valore ufficiale corretto (Zs=2.19)
    Clicca sull'immagine per ingrandirla

Nome: Tool.jpg
Visite: 15
Dimensione: 86.4 KB
ID: 16373

    Questo è il codice che ho utilizzato per calcolare lo Z-Score totale se qualcuno è così gentile da dirmi dove sbaglio ringrazio in anticipo...
    INPUTS: @ZsLow(-2), @ZsHigh(2), @zero(0.01)
    
    
    set PLOT1 =  GetGlobalVar(2) - GetGlobalVar(1)
    set plot2 = @ZsLow
    set plot3 = @ZsHigh
    SET PLOT4 = @zero
    p.s. x i matematici: Stando alla definizione di Z-Score ufficiale una alternativa può essere quella di calcolare lo Z-Score totale come la media (credo a 250 periodi) della differenza percentualizzata dei due titoli ed esprimerla in deviazioni standard sul grafico a 1500 barre.
    Ultima modifica di CIVT; 24-09-14 alle 07:15

  6. #6
    L'avatar di Cagalli Tiziano
    Data Registrazione
    Dec 2007
    Località
    Rovigo
    Messaggi
    11,164
    Citazione Originariamente Scritto da CIVT Visualizza Messaggio

    p.s. x i matematici: Stando alla definizione di Z-Score ufficiale una alternativa può essere quella di calcolare lo Z-Score totale come la media (credo a 250 periodi) della differenza percentualizzata dei due titoli ed esprimerla in deviazioni standard sul grafico a 1500 barre.
    Al primo passaggio trovi già la deviazione standard.
    Infatto il primo valore che trovi se diviso per la deviazione standard darà lo Z_Score
    ..se corri dietro a due lepri, non ne prendi nemmeno una.

  7. #7

    Data Registrazione
    Jul 2016
    Messaggi
    74
    Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
    Salve,


    il backtest con GetGlobalVar funziona perfettamente nel caso si usino 2 chart su strumenti diversi ma con lo stesso timeframe.
    Per il backtest su timeframe diversi, bisogna considerare quanto scritto sopra, e cioè che le funzioni SetGlobalVar e GetGlobalVar non "trasformano" i dati in nessun modo per adattarli ai diversi timeframe. In questi casi, alcune volte è sufficiente usare un numero diverso di periodi nel calcolo degli indicatori per ottenere lo stesso risultato.

    Per esempio, supponendo di avere un Chart a 5 minuti con applicato uno script come questo:
    # MioSegnale a 5 minuti
    MioSegnale = EMA(CLOSE, 10)) > CLOSE
    Se volessimo portare la variabile MioSegnale su un chart a 15 minuti, al posto di usare SetGlobalVar/GetGlobalVar (e dover di conseguenza avere 2 chart aperti), potremmo scrivere semplicemente
    # MioSegnale a 15 minuti
    MioSegnale = EMA(CLOSE, 30) > CLOSE
    ottenendo lo stesso risultato.
    La "traduzione" da un timeframe ad un altro di uno script non sempre è così semplice, ma nella maggior parte dei casi è alla portata di chiunque.

    In ogni caso, usando GetGlobalVar l'ultimo valore è sempre corretto, cioè l'utilizzo di SetGlobalVar/GetGlobalVar è sempre e comunque corretto in una Strategy in beeTrader.

    Le funzioni SetGlobalVar e GetGlobalVar si possono utilizzare per memorizzare più di un dato alla volta, cambiando il valore del parametro ID per distinguere i diversi valori. E' quindi possibile usare anche più di 2 chart contemporaneamente ed avere segnali generati su uno di essi in base ai valori presenti in tutti gli altri.

    Max Francario



    Ciao Max


    Nell'esempio citato non riesco a vedere dove sia la variabile Timeframe

    Grazie Ciao


    Fernando

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.