JP977

Strategia TUN V 0.1

22
Test Strategy
Skrypt open-source

Zgodnie z prawdziwym duchem TradingView, autor tego skryptu opublikował go jako open-source, aby traderzy mogli go zrozumieć i zweryfikować. Brawo dla autora! Możesz używać go za darmo, ale ponowne wykorzystanie tego kodu w publikacji jest regulowane przez Dobre Praktyki. Możesz go oznaczyć jako ulubione, aby użyć go na wykresie.

Wyłączenie odpowiedzialności

Informacje i publikacje przygotowane przez TradingView lub jego użytkowników, prezentowane na tej stronie, nie stanowią rekomendacji ani porad handlowych, inwestycyjnych i finansowych i nie powinny być w ten sposób traktowane ani wykorzystywane. Więcej informacji na ten temat znajdziesz w naszym Regulaminie.

Chcesz użyć tego skryptu na wykresie?
//@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)