Short su VXX basato su ATR

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #90083 quote
    lollo71
    Participant
    New

    Buonasera a tutti,

    sto provando ad implementare un trading system sul VIX (operatività short) che abbia le seguenti caratteristiche:

    domani entra short qualora il prezzo (durante la giornata) sia “inferiore al prezzo di chiusura odierno MENO il range (differenza high-low odierno)”

    e chiudi la posizione qualora il prezzo sia maggiore del “prezzo di chiusura PIU’ 2*ATR a 2 periodi” rispetto a ieri.

    Questo è il codice che ho scritto, ma non riesco a farlo funzionare:

    pc = Close[1]
    ran = High[1] - Low [1]
    trigger = pc - ran
    IF NOT SHORTONMARKET THEN
    IF Close[0] < trigger THEN
    SELLSHORT 50 SHARES AT MARKET
    ENDIF
    ENDIF
    
    triggercopertura = Close[1] + (2*AverageTrueRange[2](close))
    IF SHORTONMARKET THEN
    IF Close[0] > triggercopertura THEN
    EXITSHORT 50 SHARES AT MARKET
    ENDIF
    ENDIF

    Potete per favore darmi qualche suggerimento?

    Grazie e buona serata

    #90109 quote
    robertogozzi
    Moderator
    Master

    Su quale TF (Time Frame) devi utilizzarlo?

    Te lo chiedo perché:

    1. se lo utilizzi sul Daily NON puoi entrare a mercato durante il giorno (mentre la candela è in formazione), ma solo con ordini pendenti da piazzare alla chiusura giornaliera. Oppure devi usare il recente supporto MTF (Multiple, o Multi, Time Frame) che consente di operare su vari TF diversi contemporaneamente, quindi potresti utilizzare il 10 o 5 minuti o addirittura 1 minuto per entrare a mercato in giornata. Però in quest’ultimo caso avrai uno storico, per il backtest, di pochi mesi;
    2. se lo utilizzi su TF intraday non devi usare CLOSE o HIGH ecc… (che fanno riferimento al TF sul grafico) ma DCLOSE, DHIGH, ecc… per fare riferimento alla chiusura Daily.
    #90113 quote
    lollo71
    Participant
    New

    Grazie Roberto, gentilissimo.

    Il TF è intraday. Ho provato a modificare il codice sostituendo i vari DClose, DHigh ecc… purtroppo il risultato non cambia. Il sistema apre una sola posizione short ad inizio periodo (giugno 2016) e la chiude sull’ultima candela (praticamente ieri). Probabilmente sbaglio le istruzioni sul modo di aprire e chiudere le posizioni. Ecco il nuovo codice:

    defparam CumulateOrders=false
    pc = DClose(1)
    ran = DHigh(1) - DLow (1)
    trigger = pc - ran
    IF NOT SHORTONMARKET THEN
    IF DOpen(0) < trigger THEN
    SELLSHORT 50 SHARES AT MARKET
    ENDIF
    ENDIF
    
    
    triggercopertura = DClose(0) + (2*AverageTrueRange[2](close))
    IF SHORTONMARKET THEN
    IF DOpen(0) > triggercopertura THEN
    EXITSHORT 50 SHARES AT MARKET
    ENDIF
    ENDIF

    Grazie ancora, buona giornata

    #90114 quote
    lollo71
    Participant
    New

    Chiedo scusa. Il TF è giornaliero. Come si effettuano gli ordini pendenti in chiusura giornaliera?

    Grazie

    #90127 quote
    robertogozzi
    Moderator
    Master

    Le strategie vengono eseguite SEMPRE alla chiusura di ogni candela, per cui, essendo sul grafico giornaliero, verrà eseguita a fine giornata.

    Basta mettere un ordine pendente e, se durante il giorno successivo il prezzo viene toccato, l’ordine entra a mercato, altrimenti alla fine della nuova candela viene cancellato (i pendenti durano una sola candela) e va reinserito, se ci sono ancora le condizioni che uno desidera.

    Anche per l’uscita vale lo stesso discorso, si inserice un ordine pendente al prezzo che si desidera ed andrà reinserito ad ogni candela successiva fino al termine dell’operazione.

    Vedo che tu hai specificato un’entrata, un’uscita in stoip loss, ma non un’uscita in profitto, quando deve uscire?

    PrezzoEntrata = close - range                            //prezzo di chiusura odierno - range odierno
    PrezzoUscita  = close + (2 * AverageTrueRange[2](close)) //prezzo di chiusura odierno + (2 * Atr)
    IF Not ShortOnMarket THEN
       SELLSHORT 50 SHARES AT PrezzoEntrata STOP             //ordine STOP pendente d'acquisto
       EXITSHORT           AT PrezzoUscita  STOP             //ordine STOP pendente d'uscita (se non entra viene ignorato)
    ENDIF
    IF ShortOnMarket THEN
       EXITSHORT           AT PrezzoUscita  STOP             //ogni barra successiva, se sempre a mercato, va inserito nuovamente l'ordine pendente d'uscita
    ENDIF
    #90156 quote
    lollo71
    Participant
    New

    Grazie infinite per le info! Finalmente inizio a fare chiarezza e soprattutto il codice che hai scritto funziona perfettamente secondo i requisiti, dando anche un’ottima equity line.  L’uscita desiderata, al momento, è data esattamente dal prezzo di chiusura odierno + (2 * Atr)

    Grazie ancora

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.

Short su VXX basato su ATR


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
lollo71 @lollo71 Participant
Summary

This topic contains 5 replies,
has 2 voices, and was last updated by lollo71
7 years ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 01/30/2019
Status: Active
Attachments: No files
Logo Logo
Loading...