In questo articolo descriviamo come costruire un indicatore di SMA multiple con Tradingview per il trading algoritmico.
Tradingview pone un limite al numero di indicatori che possiamo posizionare su un grafico. Con un piano gratuito o di primo livello, dobbiamo quindi scegliere saggiamente i nostri indicatori. Gli utenti con un piano gratuito hanno a disposizione solo tre indicatori mentre gli utenti con il piano pro a pagamento sono limitati a cinque indicatori. Non fraintendetemi, non abbiamo bisogno di decine di indicatori, ma se ad esempio vogliamo monitorare i livelli della media mobile a 100 e 200 periodi possiamo raggiungere il limite di indicatori molto rapidamente. Di conseguenza, abbiamo deciso di sviluppare un semplice indicatore “multi” SMA in modo che più SMA possano essere monitorate utilizzando solo un singolo indicatore.
Informazioni sull’indicatore
Anche se l’indicatore non fa altro che quanto indicato nel titolo, ci sono un paio di punti da sottolineare:
- L’indicatore consente di visualizzare fino a 4 SMA
- È possibile impostare il periodo per ogni SMA in modo indipendente
- E’ possibile impostare la risoluzione per ogni SMA in modo indipendente (quindi possiamo vedere la SMA giornaliera su un grafico a 15 minuti, ad esempio)
- Ogni SMA può essere attivato/disattivato in modo indipendente per evitare il disordine.
Il Codice dell’indicatore di SMA multiple
//@version=3
study("Multi SMA's", overlay=true)
//Get SMA Values
smaA = input(title='SMA1', type=integer, minval=1, step=1, defval=20)
smaB = input(title='SMA2', type=integer, minval=1, step=1, defval=50)
smaC = input(title='SMA3', type=integer, minval=1, step=1, defval=100)
smaD = input(title='SMA4', type=integer, minval=1, step=1, defval=200)
//Set resolutions
resA = input(title='SMA1 Resolution', type=resolution, defval="D")
resB = input(title='SMA2 Resolution', type=resolution, defval="D")
resC = input(title='SMA3 Resolution', type=resolution, defval="D")
resD = input(title='SMA4 Resolution', type=resolution, defval="D")
//Set switches
smaAswitch = input(title="SMA 1 On/Off", type=bool, defval=true)
smaBswitch = input(title="SMA 2 On/Off", type=bool, defval=true)
smaCswitch = input(title="SMA 3 On/Off", type=bool, defval=true)
smaDswitch = input(title="SMA 4 On/Off", type=bool, defval=true)
//get data
dataA = security(tickerid, resA, sma(close, smaA))
dataB = security(tickerid, resB, sma(close, smaB))
dataC = security(tickerid, resC, sma(close, smaC))
dataD = security(tickerid, resD, sma(close, smaD))
//Plotting
plot(smaAswitch ? dataA : na, color=aqua)
plot(smaBswitch ? dataB : na, color=orange)
plot(smaCswitch ? dataC : na, color=green, linewidth=2)
plot(smaDswitch ? dataD : na, color=red, linewidth=2)
Nel grafico
Sicuramente sappiamo cosa aspettarci da una SMA, di seguito vediamo come appare l’indicatore sui grafici di tradingview:
Predefinito
Unire le risoluzioni giornaliere e intraday
Lo screenshot seguente mostra un grafico a 15 minuti dove sono visualizzate due SMA 100 e 200 giornaliere e due SMA 50 e 200 SMA con barre di 15 minuti.
Non c’è molto altro da fare per un indicatore di SMA multiple. Spero che questo articolo sia stato utile!
Codice completo
In questo articolo abbiamo descritto come costruire un indicatore di SMA multiple 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