Buy-and-Sell orders in apertura della sessione cash del Nasdaq

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #195137 quote
    Serendipity
    Participant
    Junior

    Buongiorno. Ho notato che quando apre la sessione cash del Nasdaq molto spesso il valore del future oscilla intorno al prezzo di apertura di un certo numero di punti ( ad esempio +”x”/-“y” punti), per poi prendere, con più convinzione, una direzione o l’altra.

    Pertanto, se questa oscillazione avviene, piazzando simultaneamente, all’apertura della candela delle 15:30, due ordini, un “buy-limit” ed uno “sell-stop”, sui livelli “open – y” ed “open + x”, si riesce a fare una scalpata di “x+y” punti.

    Avrei bisogno di aiuto per scrivere il codice e testare questa strategia con l’obiettivo di identificare la migliore coppia di variabili “x” / “y” ed il livello di stop-loss ottimale che mi protegga in quelle (rare) volte che l’indice prende una direzione, senza riuscire a chiudere l’altro ordine rimasto pendente.

    Grazie a tutti coloro che potranno aiutarmi.

    #195152 quote
    robertogozzi
    Moderator
    Master

    Questo è il codice, ma ho previsto solo UN vaore per i punti da aggiungere o togliere, in quanto non ho ben capito cosa tu intenda per COPPIA X e Y, vuoi dire che i punti da aggiungere/togliere possono essere diversi tra Long e Short?

    ONCE Punti    = 10 * PipSize     //Punti da aggiungere/togliere dall'apertura delle 15:30
    ONCE Distanza = 5  * PipSize     //Distanza minima per gli ordini pendenti (0 per disattivarla)
    IF OpenTime = 153000 THEN
       EntrataLong  = open + Punti
       EntrataShort = open - Punti
    ENDIF
    IF close < (EntrataLong - Distanza) THEN
       BUY 1 CONTRACT AT EntrataLong  STOP
    ELSIF close > (EntrataLong + Distanza) THEN
       BUY 1 CONTRACT AT EntrataLong  LIMIT
    ELSE
       BUY 1 CONTRACT AT Market
    ENDIF
    IF close > (EntrataShort + Distanza) THEN
       SELLSHORT 1 CONTRACT AT EntrataShort STOP
    ELSIF close < (EntrataShort - Distanza) THEN
       SELLSHORT 1 CONTRACT AT EntrataShort LIMIT
    ELSE
       SELLSHORT 1 CONTRACT AT Market
    ENDIF
    SET TARGET PROFIT 20
    SET STOP   LOSS   20
    graphonprice EntrataLong  coloured(0,128,0,115) //prezzo d'entrata LONG
    graphonprice EntrataShort coloured(255,0,0,255) //prezzo d'entrata SHORT
    Serendipity thanked this post
    #195212 quote
    Serendipity
    Participant
    Junior

    Grazie Roberto per la pronta risposta!

    Vedo di spiegarmi meglio: quello che faccio a mano è piazzare due ordini simmetrici, diciamo 8 punti sopra ed 8 punti sotto il prezzo che viene battuto in quel momento, 20-30 secondi prima dell’apertura dei mercati, alle 15:30.

    Stante l’oscillazione di cui parlavo, questa mi permette di portare a casa 16 punti, che sul contratto E-mini NQ sono pur sempre $320, più che sufficienti su un’operazione che può durare anche pochi secondi e per coprire slippage e costi del broker.

    Molte volte, però, l’oscillazione si manifesta più ampia e asimmetrica, mentre altre volte l’oscillazione è più contenuta (anche meno di 16 punti); in questi casi il mercato prende una direzione, senza invertire rispetto al prezzo di apertura,  costringendomi a stoppare manualmente le perdite.

    Pertanto l’obiettivo è di eseguire un backtest di 10 anni (5 in backtest e 5 in walk-forward) e di trovare la migliore coppia di valori (in più ed in meno rispetto al prezzo di apertura, cioè “x” ed “y”), non necessariamente la più profittevole, ma quella che si presenta con la maggior frequenza, valutandone l’ “intorno di stabilità” con un buon grado di affidabilità.

    Una volta stabilito questo, la terza variabile è il dimensionamento dello stop/loss, cioè quanti punti di draw down devo sopportare prima che il prezzo inverta e chiuda l’operazione sull’altro versante. Questa informazione mi permetterebbe di impostare correttamente lo stop/loss conseguente.

    Forse la cosa è troppo complicata o ci sono dei limiti di programmazione che non è possibile bypassare. In questo caso lascia perdere e continuerò ad eseguirlo manualmente.

    Fin d’ora, comunque, un grosso GRAZIE!

    #195232 quote
    robertogozzi
    Moderator
    Master

    Se sono 30 secondi prima, devi usare il timeframe da 30 secondi ed indicare come orario 152930.

    Ovviamente con un timeframe in secondi, anche con 200K barre avrai disponibili una decina di giorni appena.

    Puoi provare ad usa 1M barre (se hai la versione non demo) con 1 minuto ed indicare come orario 152900, in questo modo arriverai intorno ai 5 anni (ma SENZA l’opzione tick by tick, quindi poco affidabile in termini di performance con TP e SL così stretti).

    Comunque il codice sopra fa esattamente questo. Devi però dirmi cosa vuoi fare quando entra a mercato, vuoi consentiore anche ulteriori ingresi (anche nella stessa direzione, oppure solo in direzione opposta), o vuoi che dopoi la prima entrata NON entri più fino al giornoi successivo?

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

Buy-and-Sell orders in apertura della sessione cash del Nasdaq


ProOrder: Trading Automatico & Backtesting

New Reply
Author
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by robertogozzi
3 years, 8 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 06/11/2022
Status: Active
Attachments: No files
Logo Logo
Loading...