JP977

Strategia TUN V 0.1

22
Test Strategy
Script open-source

Nello spirito di condivisione promosso da TradingView, l'autore (al quale vanno i nostri ringraziamenti) ha deciso di pubblicare questo script in modalità open-source, così che chiunque possa comprenderlo e testarlo. Puoi utilizzarlo gratuitamente, ma il riutilizzo del codice è subordinato al rispetto del Regolamento. Per aggiungerlo al grafico, mettilo tra i preferiti.

Declinazione di responsabilità

Le informazioni ed i contenuti pubblicati non costituiscono in alcun modo una sollecitazione ad investire o ad operare nei mercati finanziari. Non sono inoltre fornite o supportate da TradingView. Maggiori dettagli nelle Condizioni d'uso.

Vuoi usare questo script sui tuoi grafici?
//@version=2
study("Strategia", overlay = true)

// CM_DI_Plus_Minus_V1 e CM_ADX_V1 ***************************
len = input(14, minval=1, title="DI Length")
lensig = input(14, title="ADX Smoothing", minval=1, maxval=50)
up = change(high)
down = -change(low)
trur = rma(tr, len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / trur)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / trur)
sum = plus + minus
DI = plus > minus ? 1 : -1   //IMPORTANT
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 10 : sum), lensig) //IMPORTANT restituisce il valore dell'adx
adx_check = (adx[0]>adx[1]) and (adx[1] < 20) and (adx[0] >= 20) ? 1 : -1 //IMPORTANT controlla se adx ha appena superato 20
//************************************************************

// Supertrend ************************************************
Factor=input(3, minval=1,maxval = 100, title="Supertrend Factor")
Pd=input(7, minval=1,maxval = 100,title="Supertrend Pd")
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up
TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn
Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1) //IMPORTANTE indica la direzione del trend
//************************************************************

// MACD ******************************************************
fast = input(5, minval=1, title="MACD Fast") 
slow = input(35, minval=1, title="MACD Fast") 
smoothing = input(5, minval=1, title="MACD Signal Smoothing") 
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, smoothing)
//************************************************************


Uptrend = (Trend == 1) and (adx_check == 1) and (DI == 1) and (macd > 0) and (macd > signal) ? 1 : 0 // Se tutti i controlli sono positivi allora Uptrend è uguale a 1 altrimenti è 0
Downtrend = (Trend ==-1) and (adx_check == 1) and (DI == -1) and (macd < 0) and (signal > macd) ? 1 : 0 // Se tutti i controlli sono positivi allora Downtrend è uguale a 1 altrimenti è 0


// Visualizzazione
Valore = (Uptrend==1 and Downtrend==0) ? 2 : (Uptrend==0 and Downtrend==1) ? 1 : 0 
Colore = (Uptrend==1 and Downtrend==0) ? green : (Uptrend==0 and Downtrend==1) ? red : white   
plotshape(Valore, style=shape.circle, location=location.bottom, color=Colore)