Risultati da 1 a 10 di 14

Visualizzazione Ibrida

  1. #1

    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 06:15

  2. #2
    L'avatar di Cagalli Tiziano
    Data Registrazione
    Dec 2007
    Località
    Rovigo
    Messaggi
    11,168
    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.

  3. #3

    Data Registrazione
    Dec 2009
    Messaggi
    813
    Citazione Originariamente Scritto da Cagalli Tiziano Visualizza Messaggio
    Al primo passaggio trovi già la deviazione standard.
    Infatto il primo valore che trovi se diviso per la deviazione standard darà lo Z_Score
    Intendi dire che devo dividere la differenza dei due Z-score per la deviazione standard? Se la risposta è corretta (cosa che dubito) saresti così gentile da dirmi cosa ho sbagliato invece con il codice?

    INPUTS: @price(CLOSE), @periods(250), @deviations(2), @matype(SIMPLE)
    
    
    set ZG= GetGlobalVar(1) - GetGlobalVar(2)
    SET PLOT1 = ZG / StdDev(ZG, @periods, @deviations, @matype)
    set PLOT2 = -2
    set PLOT3 = +2
    SET PLOT4 = 0
    Grazie alle anime pie che vorranno aiutarmi!
    Ultima modifica di CIVT; 25-09-14 alle 08:54

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

    Citazione Originariamente Scritto da CIVT Visualizza Messaggio
    Intendi dire che devo dividere la differenza dei due Z-score per la deviazione standard? Se la risposta è corretta (cosa che dubito) saresti così gentile da dirmi cosa ho sbagliato invece con il codice?

    INPUTS: @price(CLOSE), @periods(250), @deviations(2), @matype(SIMPLE)
    
    
    set ZG= GetGlobalVar(1) - GetGlobalVar(2)
    SET PLOT1 = ZG / StdDev(ZG, @periods, @deviations, @matype)
    set PLOT2 = -2
    set PLOT3 = +2
    SET PLOT4 = 0
    Grazie alle anime pie che vorranno aiutarmi!
    se intende replicare il risultato dello Z-Score che trova nel modulo OverSpread, allora ci sono diversi passaggi da fare.
    Lo Z-Score nel modulo OverSpread è calcolato in questo modo:

    1. Calcolo del prezzo indicizzato dell'asset A
    2. Calcolo del prezzo indicizzato dell'asset B
    3. Calcolo dello spread, cioè risultato del punto 1 meno risultato del punto 2
    4. Calcolo dello Z-Score sul risultato del punto 3

    Max Francario

  5. #5

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



    se intende replicare il risultato dello Z-Score che trova nel modulo OverSpread, allora ci sono diversi passaggi da fare.
    Lo Z-Score nel modulo OverSpread è calcolato in questo modo:

    1. Calcolo del prezzo indicizzato dell'asset A
    2. Calcolo del prezzo indicizzato dell'asset B
    3. Calcolo dello spread, cioè risultato del punto 1 meno risultato del punto 2
    4. Calcolo dello Z-Score sul risultato del punto 3

    Max Francario
    Ma per indicizzare un asset devo percentualizzarlo? Ti mostro quello ce ho fatto vediamo se mi stò avvicinando....

    1. Calcolo del prezzo indicizzato dell'asset A
    INPUTS: @periods(250)
    SET PZERO = REF(CLOSE, @periods)
    SET PERC = (100-CLOSE)/100*100
    SetGlobalVar(1, PERC)
    SET PLOT1 = PERC

    2. Calcolo del prezzo indicizzato dell'asset B
    INPUTS: @periods(250)
    SET PZERO = REF(CLOSE, @periods)
    SET PERC = (100-CLOSE)/100*100
    SetGlobalVar(2, PERC)
    SET PLOT1 = PERC
    3. Calcolo dello spread, cioè risultato del punto 1 meno risultato del punto 2
    4. Calcolo dello Z-Score sul risultato del punto 3
    INPUTS: @price(CLOSE), @periods(250), @deviations(2), @matype(SIMPLE)
    set Diff = GetGlobalVar(2) - GetGlobalVar(1)
    SET PLOT1 = ZScore(Diff, @periods)
    set PLOT2 = -2
    set PLOT3 = +2
    SET PLOT4 = 0
    Credo che manchi ancora qualcosa perchè vedo che non sono ancora sovrapponibile le due curve

    Clicca sull'immagine per ingrandirla

Nome: ZS TOTALCattura.jpg
Visite: 16
Dimensione: 102.2 KB
ID: 16393

    A questo punto dopo la telefonata a casa chiederei l'aiuto del pubblico!

  6. #6

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da CIVT Visualizza Messaggio
    Ma per indicizzare un asset devo percentualizzarlo? Ti mostro quello ce ho fatto vediamo se mi stò avvicinando....

    1. Calcolo del prezzo indicizzato dell'asset A
    INPUTS: @periods(250)
    SET PZERO = REF(CLOSE, @periods)
    SET PERC = (100-CLOSE)/100*100
    SetGlobalVar(1, PERC)
    SET PLOT1 = PERC

    2. Calcolo del prezzo indicizzato dell'asset B
    INPUTS: @periods(250)
    SET PZERO = REF(CLOSE, @periods)
    SET PERC = (100-CLOSE)/100*100
    SetGlobalVar(2, PERC)
    SET PLOT1 = PERC
    3. Calcolo dello spread, cioè risultato del punto 1 meno risultato del punto 2
    4. Calcolo dello Z-Score sul risultato del punto 3
    INPUTS: @price(CLOSE), @periods(250), @deviations(2), @matype(SIMPLE)
    set Diff = GetGlobalVar(2) - GetGlobalVar(1)
    SET PLOT1 = ZScore(Diff, @periods)
    set PLOT2 = -2
    set PLOT3 = +2
    SET PLOT4 = 0
    Credo che manchi ancora qualcosa perchè vedo che non sono ancora sovrapponibile le due curve

    Clicca sull'immagine per ingrandirla

Nome: ZS TOTALCattura.jpg
Visite: 16
Dimensione: 102.2 KB
ID: 16393

    A questo punto dopo la telefonata a casa chiederei l'aiuto del pubblico!

    Ed ecco il pubblico!!!

    Al punto 1 e 2 il vettore PZERO:

    - dovrebbe essere un vettore costante, mentre così come lo hai calcolato è variabile
    - credo che andrebbe determinato 1500 periodi indietro rispetto all'ultimo valore (per cui ti serve un grafico contenente almeno 1500 dati)
    - in più mi sembra che il vettore lo calcoli ma poi non lo utilizzi ...

  7. #7
    L'avatar di Francario Massimiliano
    Data Registrazione
    Jul 2008
    Messaggi
    1,002
    Salve,
    forse il calcolo del prezzo indicizzato non è corretto. La proporzione è:
    PZERO : 100 = CLOSE : X
    quindi
    X = (CLOSE * 100) / PZERO
    dove X è il valore di prezzo indicizzato.

    Rimane comunque un'altra differenza, sempre rispetto al modulo OverSpread, e sempre relativa al prezzo indicizzato. Nel modulo OverSpread il prezzo di partenza rimane sempre fisso a quello della prima barra di dati storici, non si sposta mai, è come se fosse il REF del CLOSE con periodo variabile.

    Max Francario

  8. #8

    Data Registrazione
    Dec 2009
    Messaggi
    813

    Thumbs up Anche così funziona alla grande!!!!

    Ringrazio dei suggerimenti ma senza stare ad impazzire troppo con costanti e calcoli vari se calcolo lo Z-Score totale come differenza dei due Z-Score singoli il risultato "anche se con qualche scostamento in eccesso" sembra sovrapponibile e soprattutto tradabile! C'è da lavorarci un pochino ma anche così grezzo mostra un potenziale incredibile questo sistema!

    Questa la sovraposizione con lo Z-score ufficiale
    Clicca sull'immagine per ingrandirla

Nome: Screenshot 2014-09-25 22.28.09.jpg
Visite: 13
Dimensione: 119.0 KB
ID: 16396

    Questo il trading system applicato
    Clicca sull'immagine per ingrandirla

Nome: Screenshot 2014-09-25 22.11.09.jpg
Visite: 19
Dimensione: 145.5 KB
ID: 16397
    Clicca sull'immagine per ingrandirla

Nome: Screenshot 2014-09-25 22.41.39.jpg
Visite: 18
Dimensione: 98.0 KB
ID: 16398

  9. #9

    Data Registrazione
    Dec 2009
    Messaggi
    813
    Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
    Salve,
    forse il calcolo del prezzo indicizzato non è corretto. La proporzione è:
    PZERO : 100 = CLOSE : X
    quindi
    X = (CLOSE * 100) / PZERO
    dove X è il valore di prezzo indicizzato.

    Rimane comunque un'altra differenza, sempre rispetto al modulo OverSpread, e sempre relativa al prezzo indicizzato. Nel modulo OverSpread il prezzo di partenza rimane sempre fisso a quello della prima barra di dati storici, non si sposta mai, è come se fosse il REF del CLOSE con periodo variabile.

    Max Francario
    Ciao infaticabile MAX! Contrariamente a quanto supponevo credo proprio che dovrò rimboccarmi le maniche e calcolare lo Z-Score con il tuo metodo perché vedo che il calcolo "semplificato" commette degli errori che non posso ritenere trascurabili....come puoi vedere da questo ennesimo confronto lo scostamento tra Overspread ufficiale e calcolato non è lieve, 2.7 contro 1.3 significa che stò introducendo un errore intorno al 50%!!!

    Clicca sull'immagine per ingrandirla

Nome: NO_ZS.jpg
Visite: 13
Dimensione: 101.2 KB
ID: 16502

    Tornando al metodo di calcolo che mi hai suggerito potresti darmi qualche info in più in modo che un comune mortale sia in grado di tradurlo in Easyscript? Come posso bloccare "X" ovvero il prezzo indicizzato a 1500 barre passate!!?!? Mi sa che qui ci vuole ancora l'aiuto del nostro supereroe Smash!!!
    Ultima modifica di CIVT; 07-10-14 alle 12:26

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.