indicatore dei volumi in acquisto e vendita con Tradingview

Indicatore dei volumi in acquisto e vendita con Tradingview

In questo articolo descriviamo come creare un indicatore dei volumi in acquisto e vendita con Tradingview per il trading algoritmico. L’indicatore prevede di importare e classificare il volume in un timeframe basso per avere una migliore analisi del volume di acquisto e vendita rispetto ad un timeframe superiore.

L’indicatore non è migliore rispetto agli eccellenti strumenti del volume profile con l’abbonamento Pro di Tradingview. Tuttavia, può fornire alcune informazioni in più rispetto a quelle che sono attualmente disponibili per gli utenti gratuiti. Il codice mostra come usare in modo interessante le funzioni create dall’utente e la chiamata security() che può essere replicata per altri scopi.

L’indicatore dei volumi in acquisto e vendita

L’indicatore prevede la seguente logica:

  • Analizza il timeframe inferiore. Ad esempio 5 minuti quando siamo su un grafico a 1 ora.
  • Crea una funzione per scorrere le candele e fare una valutazione.
  • Se la candela si è chiusa al rialzo, il volume è classificato come volume in acquisto. Al contrario, in caso di chiusura al ribasso, il volume è classificato come volume in vendita
  • La funzione verrà quindi passata alla funzione security() per essere eseguita in un  timeframe inferiore.
  • Tutti i volumi in acquisto e in vendita del timeframe inferiore sono sommati e visualizzati sul grafico principale.

È importante notare che questo indicatore non fornisce il vero volume in acquisti o in vendite perchè si base sul semplice presupposto che se il prezzo ha chiuso al rialzo, ci devono essere stati più acquirenti che venditori mentre se ha chiuso al ribasso presuppone il contrario.

Il codice

				
					//@version=3
study("Intra-bar Volume", overlay=false)

lower_tf = input("5", title='Lower Timeframe')
bars_in_tf = input(12, title='Bars of lower Timeframe')-1 // -1 perchè il ciclo parte da 0

balanced_volume(range)=>
    vol = na
    for i = 0 to range
        if open[i] == close[i]
            vol := na(vol) ? volume[i] : vol + volume[i]
    vol

buying_volume(range)=>
    vol = na
    for i = 0 to range
        if open[i] < close[i]
            vol := na(vol) ? volume[i] : vol + volume[i]
    vol

selling_volume(range)=>
    vol = na
    for i = 0 to range
        if open[i] > close[i]
            vol := na(vol) ? volume[i] : vol + volume[i]
    vol

lower_buy_vol =  security(tickerid, lower_tf, buying_volume(bars_in_tf))
lower_sell_vol =  security(tickerid, lower_tf, selling_volume(bars_in_tf))
balanced_vol =  security(tickerid, lower_tf, balanced_volume(bars_in_tf))

plot(balanced_vol, style=columns, color=black, transp=70, title='Balanced Volume')
plot(lower_buy_vol, style=columns, color=green, title='Buying Volume')
plot(lower_sell_vol, style=columns, color=red, transp=50, title='Selling Volume')
				
			

Commento al codice

L’indicatore dei volumi in acquisto e vendita si basa sull’uso intelligente di una  opzione prevista dalla funzione security() che ci passare  di specificare qualsiasi funzione come attributo in input. La funzione in input è eseguita nel timeframe dove lavora security() e si restituisce i risultati. È come eseguire uno script all’interno dello script!

Di solito, security() è usata per richiamare una sma() o qualche altra funzione integrata. in Tradingview. Possiamo  però richiamare anche funzioni personalizzate! L’unica limitazione è che la funzione deve restituire un singolo valore. Questo è il motivo per cui  abbiamo diviso buying_volumeselling_volume in due funzioni separate.

Parlando di funzioni, i neofiti di pinescript possono leggere l’articolo introduttivo alla creazione di funzioni.

Barre del timeframe inferiore

Per usare questo indicatore, dobbiamo calcolare quante barre del timeframe inferiore sono contenute nel timeframe del grafico principale. Ad esempio, le impostazioni predefinite sono configurate per  eseguire l’indicatore su un grafico 1H. Di conseguenza, dobbiamo impostare l’input “Bars on Lower Timeframe” su 12, dato che ci sono 12 barre da 5 minuti in 60 minuti.

Naturalmente, l’ideale sarebbe automatizzarlo ma sembra essere piuttosto impegnativo.

Timeframe a 5 minuti

L’indicatore prevede di default i 5 minuti per il timeframe inferiore perché le barre sul timeframe di 1 minuto sono spesso combinate/consolidate quando non c’è movimento del prezzo. Dal momento che stiamo semplicemente scorrendo un numero x di barre nel timeframe inferiore, può causare un problema quando le barre sono consolidate. Possiamo verificarlo facilmente  tracciando la differenza tra timetime[1].

Ecco l’output del grafico a 1 minuto.

indicatore dei volumi in acquisto e vendita con Tradingview

Possiamo vedere che ci sono molti periodi in cui una barra rappresenta in realtà 2 o più minuti! Tuttavia, se passiamo al grafico a 5 minuti, l’output è molto più consistente.

indicatore dei volumi in acquisto e vendita con Tradingview

Quindi dobbiamo analizzare lo strumento che vogliamo negoziare e trovare il  timeframe più basso con barre consolidate limitate per ottenere i migliori risultati.

Il grafico

Posizionando l’indicatore sul grafico otteniamo quanto segue:

Tradingview-Grafico-Indicatore

Il grafico visualizza fino a 3 colonne. Una colonna verde per il volume degli acquisti, una colonna rossa per il volume delle vendite e una colonna nera per il volume bilanciato. Il volume bilanciato è dove né gli acquirenti né i venditori hanno il controllo.

Verifica

Solo per essere sicuri che l’indicatore funzioni, possiamo verificare l’output controllando che il totale delle singole barre corrisponda al timeframe più elevato.

Tradingview-Summing-Volume

Come possiamo vedere nel grafico, i valori si sommano correttamente. Inoltre, possiamo vedere che c’era una piccola quantità di volume in cui né gli acquirenti né i venditori avevano il controllo. Come accennato in precedenza, lo classifichiamo come volume bilanciato e lo misuriamo con una barra nera. come ulteriore verifica possiamo dare un’occhiata al grafico con timeframe a 5 minuti di fianco al timeframe orario.

Tradingview-Volume-Side-by-Side-Comparision

Codice completo

In questo articolo abbiamo descritto come creare un indicatore dei volumi in acquisto e vendita con Tradingview 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

Torna in alto
Scroll to Top