Approssimazione al Tick più vicino con Tradingview

Approssimazione al Tick più vicino con Tradingview

In questo articolo descriviamo come effettuare un’approssimazione al tick più vicino con Tradingview tramite Pinescript per il trading algoritmico. Questo è utile quando si usa il sistema di alert di Tradingview per inviare un ordine reale. L’arrotondamento al tick più vicino assicura che gli ordini siano inviati con livelli validi e quindi non rifiutati dal broker.

Approssimazione al tick più vicino con Tradingview

Vediamo subito il codice. Le seguenti funzioni possono essere copiate e incollate in qualsiasi script. Ci sono due funzioni. Una funzione arrotonda per eccesso al tick più vicino e una funzione che arrotonda per difetto. Le funzioni hanno gli stessi input (chiamati argomenti):

  • x, una serie, ad esempio un livello di stop loss.
  • mintick, un float o un numero intero che  dobbiamo arrotondare al valore più vicino.
				
					// round(x*4)/4)
round_up_to_tick(x, mintick)=>
    mult = 1 / mintick
    value = ceil(x*mult)/mult
    
round_down_to_tick(x, mintick)=>
    mult = 1 / mintick
    value = floor(x*mult)/mult
				
			

Per maggiori dettagli sul funzionamento del codice precedente è possibile leggere l’articolo relattivo alla creazione di funzioni con Tradingview.

Esempio completo

Il seguente esempio prevede un paio di semplici input in modo da poter facilmente testare ogni funzione. In realtà, non inseriamo manualmente il valore  mintick ma usiamo la variabile incorporata syminfo.mintick.

				
					
//@version=4
study("Rounders", overlay=false)
val   = input(12.05, step=0.01, title='Value to round')
mtick = input(0.1, step=0.01, title='Minimum tick to Simulate')
dir   = input("Up", options=["Up","Down"], title="Round")
 
// NOTA
// ========================================================
// Non dimenticarsi di replicare mtick con syminfo.mintick
// --------------------------------------------------------
 
round_up_to_tick(x, mintick)=> 
    mult = 1 / mintick 
    value = ceil(x*mult)/mult 
    
round_down_to_tick(x, mintick)=> 
    mult = 1 / mintick 
    value = floor(x*mult)/mult
 
rounded = 
  dir == "Up" ? round_up_to_tick(val, mtick) : 
  round_down_to_tick(val, mtick)
 
plot(rounded, title='Rounded Value')
				
			

Il grafico

Posizionando il codice precedente su un grafico, otteniamo quanto segue:

Arrotondare al Tick più vicino con Pine Script

Usare una semplice singola linea permette facilmente di verificare se l’arrotondamento funziona correttamente. Possiamo provare valori diversi e verificare il risultato!

Codice completo

In questo articolo abbiamo descritto come effettuare un’approssimazione al tick più vicino con Tradingview tramite Pinescript per il trading algoritmico. Per il codice completo riportato in questo articolo, si può consultare il seguente repository di github:
https://github.com/datatrading-info/TradingView

Gli altri articoli di questa serie

Benvenuto su DataTrading!

Sono Gianluca, ingegnere software e data scientist. Sono appassionato di coding, finanza e trading. Leggi la mia storia.

Ho creato DataTrading per aiutare le altre persone ad utilizzare nuovi approcci e nuovi strumenti, ed applicarli correttamente al mondo del trading.

DataTrading vuole essere un punto di ritrovo per scambiare esperienze, opinioni ed idee.

SCRIVIMI SU TELEGRAM

Per informazioni, suggerimenti, collaborazioni...

Scroll to Top