{"id":11967,"date":"2021-11-09T00:00:00","date_gmt":"2021-11-08T23:00:00","guid":{"rendered":"https:\/\/ungeracademy.com\/it\/blog\/semplice-codice-per-confrontare-visivamente-le-equity-dei-trading-system"},"modified":"2025-06-20T16:14:49","modified_gmt":"2025-06-20T14:14:49","slug":"semplice-codice-per-confrontare-visivamente-le-equity-dei-trading-system","status":"publish","type":"post","link":"https:\/\/ungeracademy.com\/it\/blog\/semplice-codice-per-confrontare-visivamente-le-equity-dei-trading-system","title":{"rendered":"Semplice codice per confrontare visivamente le Equity dei Trading System"},"content":{"rendered":"

Ciao a tutti ragazzi e benvenuti in questo nuovo video.<\/p>\n

Spesso sulle piattaforme di trading, quelle dedicate al backtest delle strategie, è possibile andare a valutare un’equity line alla volta, ma esiste un modo semplice e pratico per poter gestire più equity line sullo stesso grafico per poterle andare a confrontare meglio?<\/p>\n

Durante lo sviluppo e la fase di ottimizzazione di una strategia capita molto spesso di dover guardare ripetutamente al performance report per dare un’occhiata ai parametri numerici della nostra strategia, oltre ad andare a visualizzare graficamente un’equity line che non fa altro che mostrare la cumulata dei trade che sono avvenuti durante il backtest.<\/p>\n

Purtroppo però non c’è un tool presente sulle piattaforme che utilizziamo più spesso, come MultiCharts o TradeStation, per andare ad analizzare un confronto diretto tra due strategie magari identiche o che cambiano semplicemente di uno o due parametri, per avere un confronto visivo dell’andamento delle equity line una sovrapposta all’altra per capire meglio come si comporterebbe la strategia nei casi che sto andando ad analizzare.<\/p>\n

Volevo quindi proporvi oggi uno script molto semplice da aggiungere alla fine delle vostre strategie per automatizzare quanto più possibile questo confronto.<\/p>\n

Per vedere di che si tratta, possiamo prendere come analisi una delle strategie che abbiamo già costruito insieme in un video precedente. Vi lascio in alto a destra il link.<\/p>\n

La strategia l’avevamo chiamata RSI Filter. Era una strategia piuttosto buona sul Mini S&P 500 e aveva un’equity molto simile a questa.<\/p>\n

Proviamo a ritornare alla fase di sviluppo, nella quale siamo andati a cercare l’ottimo tra i parametri, e possiamo farlo adesso come esempio per andare a confrontare come cambierebbero i parametri, e quindi l’equity line, se cambiasse lo stop loss, portandolo da 1.000 a 1.500 dollari per esempio.<\/p>\n

Il codice<\/h3>\n

Vi mostro il codice della strategia come l’avevamo costruita. Eccola qui. Quello che ho fatto è stato semplicemente aggiungere questa parola, che in realtà richiama una funzione, per andare ad esportare tutti i trade della strategia. Quindi questa funzione la potrò utilizzare per questa strategia ma anche per tutte le altre strategie che andrò a creare.<\/p>\n

Ma cosa c’è dentro questa funzione? Andiamo a scoprirlo. Semplicemente, questa funzione va a creare un file di testo all’interno del nostro PC, nella cartella che desideriamo. Ad esempio, io l’ho pubblicato su Documenti in una cartella dedicata chiamata ‘Export Trades’. Andrà a generare un file che si chiama esattamente come il simbolo sul quale stiamo applicando la strategia, e andrà a richiamare il nome della strategia stessa.<\/p>\n

Dopodiché andrò a fare una verifica di questo tipo molto importante. Andrò a fare una verifica sulla market position nel corso del backtest. Per ogni barra, quindi ad ogni ricalcolo della strategia, io andrò a verificare la market position, andrò ad inserirla in una variabile che abbiamo chiamato ‘MarkP’ e poi farò questo confronto.<\/p>\n

Andrò a verificare il valore attuale della market position confrontato rispetto al valore della market position di una barra fa. Andrò poi ad aggiungere un’altra condizione tramite la scrittura ‘and’, quindi dovranno verificarsi entrambe le condizioni, sulla market position della barra precedente che deve essere diversa da zero.<\/p>\n

Questo cosa sta ad indicare nell’insieme? Sta ad indicare che una barra fa eravamo a mercato, perché la nostra posizione era diversa da zero, e la nostra market position è stata cambiata. Quindi o siamo usciti da una posizione long per entrare in un’altra posizione short, oppure siamo usciti da una posizione, long o short che sia, per ritornare flat.<\/p>\n

Quindi se ci ritroviamo in queste condizioni, quindi effettivamente se si è appena concluso un trade, andrò a stampare nel file, quindi con il comando ‘Print’ aperta parentesi ‘file’ e andrò a richiamare il nome del file sul quale vorrò andare a scrivere, quindi il nome contenuto in questa riga. E andrò poi ad inserire, tramite ‘FormatDate’ la data nel quale si è concluso il trade, il tempo (quindi ‘FormatTime’).<\/p>\n

Dopodiché andrò ad inserire ‘positionprofit(1)’. Questa keyword sta ad indicare semplicemente qual è stato il profitto o la perdita della posizione appena chiusa.<\/p>\n

Andando avanti io poi ho aggiunto queste tre righe nel caso ci fossero barre daily. In questo caso risulta un po’ più difficile usare questo tipo di condizioni e ho utilizzato per semplicità un’altra funzione che è chiamata ‘TradesToday’. In ogni caso vi consiglio di utilizzare questa funzione solo per timeframe intraday, in quanto potrebbe essere che, nell’eventualità in cui si usino barre daily, avvengano ingressi e uscite nella stessa barra. E questa cosa, lo sapete benissimo, non è assolutamente conveniente. E quindi lascerei l’utilizzo di questa funzione solo per i timeframe intraday.<\/p>\n

Utilizzo e conclusioni<\/h3>\n

Andiamo adesso a vedere qual è il risultato di quanto abbiamo appena fatto. Quindi compilata la strategia con alla fine la parola che richiama la funzione, andiamo su Esplora Risorse a vedere che effettivamente nella cartella Documenti>Export Trades viene generato un file .txt.<\/p>\n

Andiamo ad aprirlo e qui scopriamo che abbiamo una lista di tutti i nostri trade, alla quale abbiamo associato poi un time e una data che corrispondono all’orario e alla data di chiusura di tale posizione. Possiamo poi quindi andare ad importare ad esempio questa tabella, già così preparata, in Excel per andare a conservare tutti i nostri backtest che abbiamo effettuato.<\/p>\n

In questo modo noi potremmo semplicemente andare a riprodurre l’equity line con diversi input e diversi parametri, per andare a capire non solo guardando ai numeri sulle tabelle di ottimizzazione, ma anche a vedere che cosa cambia proprio a livello di equity line.<\/p>\n

Questo riporta l’esempio che vi ho citato poco fa. Possiamo vedere l’equity in rosso con la strategia avente uno stop loss di 1.000$, mentre in blu la stessa strategia con uno stop loss di 1500$.<\/p>\n

Spero che questo video vi sia stato utile!<\/p>\n

Se volete approfondire il nostro metodo per lo sviluppo di strategie sistematiche basato sul lavoro del 4 volte campione del mondo di trading Andrea Unger, qui sotto in descrizione vi lascio un link ad un webinar totalmente gratuito nel quale potrete approfondire il mondo del trading sistematico.<\/p>\n

Vi lascio anche lo script della funzione da utilizzare con PowerLanguage, quindi in MultiCharts.<\/p>\n

Vi ringrazio per avermi seguito fino a questo punto e vi do appuntamento ad un prossimo video. Ciao!<\/p>\n

 <\/p>\n","protected":false},"excerpt":{"rendered":"

Ciao a tutti ragazzi e benvenuti in questo nuovo video. Spesso sulle piattaforme di trading, quelle dedicate al backtest delle […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[57],"tags":[],"class_list":["post-11967","post","type-post","status-publish","format-standard","hentry","category-blog"],"acf":[],"_links":{"self":[{"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/posts\/11967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/comments?post=11967"}],"version-history":[{"count":0,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/posts\/11967\/revisions"}],"wp:attachment":[{"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/media?parent=11967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/categories?post=11967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/tags?post=11967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}