SetExitOnClose di Power Language: Come si usa in Backtest e Live Trading

Vuoi più aiuto? Prenota oggi la tua consulenza GRATUITA con il nostro team!

Definiremo una strategia che ti permetterà di avere tutto quello che ti serve per guadagnare costruendo e operando il tuo portafoglio di strategie automatizzate... Rispondi a qualche domanda nel nostro questionario e poi scegli giorno e ora più adatti a te.

PRENOTA ORA LA TUA CONSULENZA STRATEGICA >>

La keyword "setexitonclose" di Power Language è una parola riservata che permette di chiudere tutte le posizioni aperte a fine giornata. 

Ciò la rende particolarmente utile quando vogliamo fare il backtest delle strategie intraday.

Nel video di oggi ti proponiamo un interessante approfondimento su questa keyword e su come utilizzarla correttamente.

Guardando il video scoprirai:

- Cos'è e come si usa la parola riservata "setexitonclose"

- Come inserirla in una strategia per farne il backtest (con esempio di sistema a breakout sull'Oro)

- Come usarla per confrontare le performance di un sistema in modalità intraday e multiday

Inoltre, dato che in molti ci chiedono se sia possibile usare il "setexitonclose" anche per il live trading, ti sveleremo un trucco per utilizzare correttamente questa keyword anche live!

Buona visione!

Trascrizione

Ciao ragazzi e bentornati sul nostro canale! Oggi vi voglio parlare della keyword "setexitonclose" utilizzata moltissimo per poter testare strategie di tipo intraday.

Bene, io sono Alessandro Ntanos, uno dei coach alla Unger Academy. E visto che in tanti ci chiedono come poter utilizzare in live la keyword "setexitonclose" oggi faremo una panoramica sull'utilizzo di questa parola riservata che sarà molto utile qualora si voglia sviluppare una strategia che chiuda le nostre posizioni alla fine della giornata.

Definizione setexitonclose

Come detto la keyword "setexitonclose" è molto utile qualora si vogliano testare delle strategie di tipo intraday. Ma quindi quali sono le peculiarità di questa keyword e a cosa dobbiamo stare attenti quando la utilizziamo?

In questo ci viene incontro la definizione di MultiCharts, che possiamo trovare all'interno del Power Language Editor, ovviamente alla voce dell'indice "setexitonclose". Quindi andremo a cercare "setexitonclose". Eccolo qua in basso.

E proprio qui viene detto che questa istruzione chiuderà le posizioni aperte, siano esse long o short, all'ultimo tick della barra della sessione generando un ordine market di uscita sia che il trade aperto sia long o short.

Viene poi specificato che questa keyword è utilizzabile soltanto all'interno di un signal, ovvero una strategia che manda ordini a mercato. Sarebbe infatti inutilizzabile, questo tipo di parola riservata, per esempio su un indicatore.

Per applicarla dunque a una strategia, lo vediamo qui in basso, sarà sufficiente riscriverla all'interno del nostro segnale per poter mandare questi ordini di chiusura del trade all'ultimissima barra, l'ultimo tick della sessione.

La sessione a cui farà fede MultiCharts per chiudere le posizioni appunto all'ultimo tick sarà quella impostata, mi raccomando, nel Quote Manager. E viene specificato anche questo all'interno di questa descrizione nel dizionario del Power Language Editor.

Strategia

Passiamo adesso quindi a creare una strategia per vedere come utilizzare la keyword "setexitonclose" per i nostri studi. Io qua ho creato una strategia semplicissima che comprerà e venderà all'interno di una time window prestabilita.

Questa time window è volta semplicemente ad eliminare dal backtest le prime due barre della sessione e le ultime due barre della sessione.

Faremo i nostri test sul mercato dell'Oro a 15 minuti. Come sappiamo ha una sessione che va dalle 18 alle 17, quindi in questo modo partendo alle 18:30 e finendo alle 16:30 riusciamo a eliminare dal backtest le prime due e le ultime due barre.

Dopodiché sempre all'interno della time window manderemo degli ordini in stop sul massimo e sul minimo della giornata precedente.

A questo punto entra in gioco la nostra keyword "setexitonclose" . Utilizzeremo una condizione. Quindi se "ID", che in questo caso è un input, sarà uguale a 1 allora chiuderemo le nostre posizioni alla fine della sessione.

Se invece il valore di "ID" assumerà per esempio un valore diverso da 1, quindi non so 0, 2, 3, 4, allora vorrà dire che terremo le posizioni aperte anche oltre la fine della sessione trasformando quindi la strategia da intraday a multiday.

Test e analisi

Torniamo dunque all'interno di MultiCharts, dove vedete che ho caricato i dati dell'Oro come vi dicevo a 15 minuti e ho inserito la nostra strategia, che passa appunto da multiday a intraday. Andiamo a dare ora un rapido sguardo all'equity line della strategia multiday.

Come vedete è questa qua. Nei primissimi anni di backtest, backtest che parte dal 2008 e dura fino ai giorni nostri, vediamo che nei primissimi anni sicuramente il breakout era più continuo, più costante potremmo dire.

Poi c'è stata una fase molto lunga anche, potremmo dire, iniziata nel 2016 e durata fino al 2018-2019, dove invece il trend following non ha funzionato come in passato. Dopodiché di nuovo un rally e adesso una sorta di nuova pausa.

Qualora invece modificassimo il nostro segnale, quindi da 0 a 1, in questo modo chiuderemmo le posizioni alla fine della giornata. Vedremo che chiaramente i risultati cambieranno e lo vedremo dopo meglio in maniera comparativa tra intraday e multiday.

Vedete che effettivamente in questo caso anche l'intraday era stato molto più costante fino al 2016 ma a differenza del multiday la strategia intraday in questo momento non ha più toccato quelli che erano potremmo dire i picchi di equity.

Ecco, sì li ha ritoccati proprio in questo punto per un momento per poi di nuovo ripiegare. Vedremo se in futuro anche l'intraday riuscirà a migliorare.

Per andare a vedere i risultati e anche compararli tra multiday e intraday, quello che possiamo fare sarà andare direttamente a ottimizzare il nostro valore di "ID", quindi il nostro input, da 0 a 1.

Perché in questo caso, come abbiamo detto, se "ID" assumerà valore zero allora terremo le posizioni aperte anche alla fine della sessione, mentre invece se utilizzeremo 1 chiuderemo alla fine della giornata.

Ottimizzando questi valori riusciamo a vedere molto chiaramente le differenze tra le due strategie. Strategie che sono al momento ancora piuttosto grezze, possiamo dire, perché mancano gli stop loss e tante altre cose, come condizioni per esempio per filtrare.

Ma quello che innanzitutto possiamo vedere è che sicuramente con ID uguale a zero, quindi tenendo le posizioni aperte più a lungo, il net profit è più alto nell'arco storico considerato.

Questo perché chiaramente si dà più tempo alla strategia di ottenere dei profitti buoni. Infatti viene rispecchiato dall'average trade, che vedete raggiunge i 140$.

Mentre invece passando alla strategia intraday l'average trade crolla. Perché chiaramente sono molte meno le barre in cui staremo a mercato. Quindi anche la strategia avrà molte più difficoltà possiamo dire ad ottenere dei trade più elevati.

Oltretutto possiamo vedere una differenza cospicua nel numero di ingressi. Questo perché ovviamente la strategia intraday aprirà e chiuderà i trade di giorno in giorno. Quindi tutti i giorni aprirà e chiuderà un trade mentre invece la strategia multiday lo terrà magari aperto per più giorni. Di conseguenza si ottiene un numero di trade, un campione statistico, molto più basso.

Quello che è interessante, però, è che a fronte di un guadagno che da un punto di vista puramente di valore assoluto è inferiore, la percent profitable, quindi la percentuale di profittabilità della strategia intraday è più alta, e non di poco, rispetto a quella multiday. Addirittura 48% circa in confronto a un 38,5% della strategia multiday.

Quindi possiamo dire che la strategia intraday sarà sicuramente sempre meno profittevole rispetto a una strategia multiday. Ma comunque anche le strategie intraday riescono ad avere degli ottimi risultati e la peculiarità è che appunto la percent profitable potrebbe essere più elevata, perché in ogni caso alla fine della sessione chiuderemo le nostre posizioni.

Selezioniamo dunque "1", quindi l'input intraday attivo, per vedere effettivamente sul chart che tipo di trade la strategia fa e come chiude le posizioni.

Andando a stringere possiamo vedere che effettivamente all'ultimissima barra, quindi quella delle 17, all'ultimissimo tick, MultiCharts manderà un ordine di chiusura del trade.

Ma questo dovrebbe farvi scattare un campanello d'allarme. Perché se avete ascoltato bene quello che ho appena detto, se noi mandassimo un ordine di chiusura o un qualsiasi ordine subito dopo la chiusura della sessione, significa che il mercato è chiuso. E di conseguenza quel nostro ordine finirebbe in un limbo e non verrebbe eseguito fino all'apertura della sessione successiva. E noi non vogliamo chiaramente che questo accada.

Questo significa che la keyword "setexitonclose" è utilizzabile soltanto in backtest così com'è, perché altrimenti alla fine della giornata sì, manderebbe un ordine, ma quell'ordine non sarebbe eseguito perché il mercato a quel punto è già chiuso.

Quindi è molto utile in fase di backtest perché in una riga di codice, lo abbiamo visto prima, possiamo decidere se chiudere o non chiudere le posizioni alla fine della giornata.

Utilizzo in live

Tuttavia per poterla poi utilizzare in live occorre creare una sorta di espediente, un escamotage, chiamiamolo così, per ingannare MultiCharts e quindi creare una sorta di "sessione farlocca" che tagli l'ultimo minuto della sessione in modo da poter mandare quell'ordine di setexitonclose un minuto prima della sessione ufficiale, e quindi poter effettivamente chiudere le nostre posizioni.

Per fare questo basterà aprire il Quote Manager. Cliccare su "Session Templates".

Come potete vedere io l'ho già creata. Voi cliccherete su "Add" e creerete una sessione che sia uguale a questa. Quindi invece di aprire il mercato alle 18:00 e chiudere alle 17:00 chiuderemo un minuto prima.

Quindi per MultiCharts, se io applicherò questo tipo di sessione al grafico su cui avevo messo la strategia, secondo MultiCharts la sessione del Gold chiuderà alle 16:59 invece che alle 17:00.

In questo modo quando setexitonclose manderà l'ordine di uscita alle 16:59, il mercato sarà ancora aperto per un minuto e di conseguenza potremo chiudere le nostre posizioni.

Quello che andremo a fare sarà quindi tornare sul nostro grafico e andare a settare la nostra sessione, che invece che essere quella di default sarà appunto "Comex__cut". Eccola qua. E andiamo a cliccare su "OK".

A livello grafico non cambierà nulla. Semplicemente nasconderemo dai calcoli del backtest l'ultimo minuto di ogni sessione, ma questo non dovrebbe cambiare moltissimo.

Il mio consiglio se volete utilizzare questo escamotage è di farlo solo sui mercati più liquidi, perché in questo modo non correrete il rischio di sostanzialmente non venire eseguiti nell'ultimo minuto. Perché non è detto che su tutti i mercati l'ultimo minuto di contrattazione di una sessione sia effettivamente abbastanza liquido. Di conseguenza usate questo escamotage solamente sui mercati più liquidi, su cui siete sicuri che effettivamente anche all'ultimissima barra, anche nell'ultimissimo minuto vi saranno dei compratori o dei venditori che potranno scambiare contratti con voi per chiudere quindi la vostra posizione.

Abbiamo visto dunque che il "setexitonclose" può essere sicuramente molto utile in fase di backtest, ma che potrebbe essere utilizzato anche per il live. Come detto attenzione però, non su tutti i mercati.

Se tra voi c'è qualcuno interessato al mondo del trading sistematico vi lascio un link qua sotto in descrizione. Da lì potrete vedere una presentazione di Andrea Unger oppure ottenere il nostro libro best seller, "Il Metodo Unger", coprendo solo le spese di spedizione. Oppure ancora prenotare una call gratuita con un membro del nostro team.

Se il video vi è piaciuto mi raccomando, lasciate un Like, iscrivetevi al canale e attivate la campanella così da restare sempre aggiornati.

Grazie per essere arrivati fino qua. Alla prossima!

Vuoi più aiuto? Prenota oggi la tua consulenza GRATUITA con il nostro team!

Definiremo una strategia che ti permetterà di avere tutto quello che ti serve per guadagnare costruendo e operando il tuo portafoglio di strategie automatizzate... Rispondi a qualche domanda nel nostro questionario e poi scegli giorno e ora più adatti a te.

PRENOTA ORA LA TUA CONSULENZA STRATEGICA >>
Andrea Unger

Andrea Unger

Ciao, sono Andrea Unger, Trader professionista dal 2001 e unico a vincere per ben 4 volte il Campionato del Mondo di Trading con denaro reale.

Grazie a questi risultati sono spesso invitato come relatore in convegni in Europa, Stati Uniti e Asia. 

Sono inoltre autore di diversi libri, tra cui il primo in Italiano sulla Gestione del Rischio nel Trading, tradotto anche in Cinese e Inglese.

Metto a disposizione decenni di esperienza, di prove, di vittorie e sconfitte con le quali ho ideato un metodo scientifico, sistematico, replicabile e universale con cui, in soli 4 anni, più di 1.000 trader sono riusciti a rendersi autonomi.

Devi sapere infatti che gli studi dimostrano che solo il 25% dei trader guadagna, ma di questi ben il 90% lo fa con il trading sistematico...

Come mai allora i formatori insegnano quasi sempre solo il trading discrezionale? 

Non ti insegno a diventare ricco in poco tempo, ti insegno una professione che, con il duro lavoro, la passione, e sufficienti capitali potrebbe diventare la tua principale fonte di reddito.