Dopo un po di tests in ambiente simulato, ecco i risultati del funzionamento in ambiente reale dell’algoritmo di trailing stop proposto nell’articolo “Diario di un bot trading – algoritmo di trailing stop”. Questi, sono stati interessanti, forse migliori di quanto previsto. In questo articolo, li pubblicherò e li commenterò al fine di poterli condividere e migliorare se necessario.
L’ambiente reale di esecuzione dell’algoritmo
Prima di pubblicare i risultati, vorrei descrivere sinteticamente l’ambiente reale dell’algoritmo di trailing stop. Il software di trading è composto da più programmi, e in particolare il programma “Trader” calcola il trailing stop nel momento in cui il prezzo dell’asset (moneta da vendere) permette di ricavare qualche profitto. Il tutto si svolge all’interno del mondo delle cripto-monete, e in questo caso specifico, se ne utilizzano alcune presenti all’interno dell’exchange Poloniex. L’obiettivo è quello di acquistare una moneta (altcoins) qualunque e ricavare un profitto rivendendola al momento più opportuno: quando il prezzo sale! Ovviamente, a seconda della situazione globale dei prezzi di mercato delle cripto-monete a volte il prezzo sale e a volte il prezzo scende, e in quest’ultimo caso, l’algoritmo di trailing stop fin qui progettato non serve a nulla. Comunque, in quelle situazioni in cui si verifica una vendita, questa, grazie all’algoritmo di trailing stop dovrebbe essere eseguita al prezzo più alto possibile. Questo è il senso dell’algoritmo che ho progettato e sviluppato.
I risultati dei tests in ambiente reale
Ovviamente, non volendo inizialmente impegnare 1.000.000 di euro ho deciso di eseguire i tests con una cifra un po più bassa. Di seguito i risultati.
Test 1.
Figura 1.
(Test di vendita con l’utilizzo dell’algoritmo di trailing stop)
Come si vede nella figura uno, l’acquisto della moneta “Litecoin” è stato fatto nella momento indicato dalla linea verticale di colore rosso. La vendita, utilizzando l’algoritmo di trailing stop è stata eseguita nel momento indicato dalla linea verde verticale. In questo caso il profitto c’è stato, la vendita è stata eseguita al prezzo 0.01390 e come si vede è quasi posto sul massimo profitto raggiungibile. Quest’ultimo, corrisponde all’altezza massima del picco della curva dell’andamento del prezzo dell’asset in corrispondenza del prezzo 0.01397. E’ ovvio che questa perdita (0.01397-0.01390) è imputabile sia ad un ritardo nell’esecuzione del programma Trader (acquisto e vendita non avvengono in tempo reale), e sia all’architettura dell’algoritmo di trailing stop che introduce un certo ritardo nella vendita dell’asset come spiegato nell’articolo presente al seguente link.
Test 2.
Figura 2.
(Test di vendita con l’utilizzo dell’algoritmo di trailing stop)
Nella figura due, emerge ancora il buon funzionamento dell’algoritmo di trailing stop e anche il ritardo con cui avviene la vendita, che in questo caso è stata eseguita nel secondo picco massimo della curva dei prezzi dell’asset anziché nella prima. La differenza tra i due picchi ha portato ad una perdita, ma in sostanza ha evidenziato come l’algoritmo sviluppato funzioni quasi perfettamente.
Test 3.
Figura 3.
(Test di vendita con l’utilizzo dell’algoritmo trailing-stop)
Nell’ultimo test, quello mostrato in figura tre, la situazione è identica alla figura due la vendita (prezzo in corrisponde dell’incrocio tra la riga verticale verde e quella blu dei prezzi dell’asset) è avvenuta con un certo ritardo rispetto alla situazione di profitto massimo, ma sostanzialmente l’algoritmo si è comportato bene.
Conclusioni
I tests che vi ho mostrato, non sono il frutto di una simulazione o di un qualcosa di inventato, ma hanno generato del profitto nel momento in cui il mercato dell’asset lo permetteva. A tal proposito, per poter generare un profitto, l’acquisto dipenda anche da altre logiche: ottimizzazione del portfolio, strategie, e quant’altro. Il messaggio è abbastanza chiaro non basta soltanto l’algoritmo di trailing stop per ottenere un profitto, ma bisogna associarlo ad altre logiche di trading di acquisto e di vendita, senza le quali, non potremmo ottenere il risultato sperato. Concludo, sperando di aver raccolto qualche applauso.
Come al solito, per eventuali domande e integrazioni inviate un e-mail a webmaster@megalinux.cloud. Aiutate a sostenere The Megalinux, l’unico sito nel Web senza pubblicità inviando Bitcoin al seguente indirizzo.
3LpoukFpvDHTZPn5qGbLwUzve3rX9zsSq6
Articolo: Diario di un bot trading – algoritmo di trailing stop –
2 commenti su “Diario di un bot trading – risultati dell’algoritmo di trailing stop –”
Buongiorno, ho letto l’articolo che reputo interessante come approccio ma la vendita la lascerei fare ad altri indicatori. Infatti prima di arrivare alla vendita bisogna partire ed è lì il problema partire senza danni. Il time frame, uso il gergo tecnico perché credo che mi comprenda altrimenti sentiamoci e sarò più chiaro, è importante e tralascerei quelli inferiori alle 4 ore perché penso che bisogna adottare strategie specifiche. I time frame inferiori sono pieni di “rumore” e se tieni a breve distanza il trailing stop questo entra in funzione e Ti porta fuori. Per la vendita, credo, bisogni utilizzare un pattern a 3 candele che indichino l’inversione di tendenza. A tal proposito, dopo varie prove, ho identificato i pattern classificandoli secondo la loro affidabilità. Ritornando alla partenza sarebbe interessante avere un trailing stop a distanza variabile in modo che all’entrata in mercato sia posizionato sul valore di entrata, in automatico con un indicatore tipo 123 di J. Ross, p. es., e che si posizioni al 50%, p, es, a 2 pips ad 1 pip, sino al raggiungimento della distanza desiderata. Questo perché? Perché alcuni Broker, quando entri a mercato, penalizzano mettendo a debito di 2 o 3 pips e portando la posizione ad un punto inferiore dell’entrata, questo vuol dire già che perdi e se hai la leva perdi pure quella e la posizione risalendo intercetta il trailing stop e fa uscire. Nella operatività su descritta , in pratica NON PERDI MAI! Ho disponibile un script di traling stop, in mql4, che anche se temporaneamente c’è un’inversione di mercato il trailing stop funziona in trend ribassista. Bisogna aggiungere che si vuole uscire massimizzando l’utile, quindi la perdita è solo la distanza esistente tra trailing stop e posizione, p. es. 20 pips. Cordiali saluti. G.S.
Nel progetto presente in https://github.com/Megalinux/Crypto_1_Backtester (e per il quale stiamo scrivendo un articolo da pubblicare) lo stoploss dinamico (o trailing stop) è costruito con un indicatore differente da quello presentato in questo articolo, piu in linea con quello che ha detto nel suo commento. Sono d’accordo per il timeframe, infatti, aggiornerò l’articolo a breve con delle simulazioni aventi un timeframe di 1D un intervallo piu adatto al mondo delle crypto. Per quanto concerne i pattern sarebbe interessante implementarli, ma per ora non li abbiamo ancora considerati nel progetto. Attualmente, stiamo sviluppando un algoritmo di I.A (modello di previsione con algoritmo KNN) che nel breve periodo sembra funzionare correttamente (timeframe di 5 10 minuti)…ovviamente ho scritto sembra!!!