INVITE-ONLY SCRIPT
testing 2

//version=5
indicator("DTC-1.3.6 FINAL SCREEN CLONE (FIXED + STOCH RSI)", overlay=true,
max_labels_count=500, max_lines_count=100)
//━━━━━━━━━━━━━━━━━━━
// INPUTS
//━━━━━━━━━━━━━━━━━━━
ema1Len = input.int(9)
ema2Len = input.int(13)
ema3Len = input.int(21)
ema4Len = input.int(34)
ema5Len = input.int(55)
ema6Len = input.int(89)
// Stochastic RSI Inputs
rsiLen = input.int(14, "RSI Length")
stochLen = input.int(14, "Stoch Length")
smoothK = input.int(3, "Smooth K")
smoothD = input.int(3, "Smooth D")
atrLen = input.int(14)
tpStep = input.float(0.5, "TP ATR Step")
slMult = input.float(1.2, "SL ATR")
//━━━━━━━━━━━━━━━━━━━
// CALCULATIONS
//━━━━━━━━━━━━━━━━━━━
ema1 = ta.ema(close, ema1Len)
ema2 = ta.ema(close, ema2Len)
ema3 = ta.ema(close, ema3Len)
ema4 = ta.ema(close, ema4Len)
ema5 = ta.ema(close, ema5Len)
ema6 = ta.ema(close, ema6Len)
atr = ta.atr(atrLen)
//━━━━━━━━━━━━━━━━━━━
// STOCHASTIC RSI
//━━━━━━━━━━━━━━━━━━━
rsiVal = ta.rsi(close, rsiLen)
stochRSI = 100 * (rsiVal - ta.lowest(rsiVal, stochLen)) /
(ta.highest(rsiVal, stochLen) - ta.lowest(rsiVal, stochLen))
k = ta.sma(stochRSI, smoothK)
d = ta.sma(k, smoothD)
//━━━━━━━━━━━━━━━━━━━
// TREND LOGIC
//━━━━━━━━━━━━━━━━━━━
bull = ema1 > ema2 and ema2 > ema3 and ema3 > ema4 and ema4 > ema5
bear = ema1 < ema2 and ema2 < ema3 and ema3 < ema4 and ema4 < ema5
// STOCH RSI CONDITIONS
stochBuy = k < 30
stochSell = k > 70
buySignal = bull and not bull[1] and stochBuy
sellSignal = bear and not bear[1] and stochSell
//━━━━━━━━━━━━━━━━━━━
// EMA RIBBON
//━━━━━━━━━━━━━━━━━━━
plot(ema1, color=color.rgb(0,180,90), linewidth=2)
plot(ema2, color=color.rgb(0,170,85), linewidth=2)
plot(ema3, color=color.rgb(0,160,80), linewidth=2)
plot(ema4, color=color.rgb(0,150,75), linewidth=2)
plot(ema5, color=color.rgb(0,140,70), linewidth=2)
plot(ema6, color=color.rgb(0,130,65), linewidth=2)
//━━━━━━━━━━━━━━━━━━━
// BACKGROUND ZONES
//━━━━━━━━━━━━━━━━━━━
bgcolor(bull ? color.new(color.green, 85) : na)
bgcolor(bear ? color.new(color.red, 85) : na)
//━━━━━━━━━━━━━━━━━━━
// BUY / SELL LABELS
//━━━━━━━━━━━━━━━━━━━
if buySignal
label.new(bar_index, low, "BUY",
style=label.style_label_up,
color=color.rgb(0,160,90),
textcolor=color.white)
if sellSignal
label.new(bar_index, high, "SELL",
style=label.style_label_down,
color=color.rgb(200,0,0),
textcolor=color.white)
//━━━━━━━━━━━━━━━━━━━
// TP LADDER + LABELS
//━━━━━━━━━━━━━━━━━━━
var line tp1 = na
var line tp2 = na
var line tp3 = na
var line tp4 = na
var line tp5 = na
var line tp6 = na
var line sl = na
var label ltp1 = na
var label ltp2 = na
var label ltp3 = na
var label ltp4 = na
var label ltp5 = na
var label ltp6 = na
var label lsl = na
if buySignal or sellSignal
line.delete(tp1), line.delete(tp2), line.delete(tp3)
line.delete(tp4), line.delete(tp5), line.delete(tp6)
line.delete(sl)
label.delete(ltp1), label.delete(ltp2), label.delete(ltp3)
label.delete(ltp4), label.delete(ltp5), label.delete(ltp6)
label.delete(lsl)
base = close
dir = buySignal ? 1 : -1
tp1 := line.new(bar_index, base + dir*atr*tpStep*1, bar_index+200, base + dir*atr*tpStep*1, color=color.green)
tp2 := line.new(bar_index, base + dir*atr*tpStep*2, bar_index+200, base + dir*atr*tpStep*2, color=color.green)
tp3 := line.new(bar_index, base + dir*atr*tpStep*3, bar_index+200, base + dir*atr*tpStep*3, color=color.green)
tp4 := line.new(bar_index, base + dir*atr*tpStep*4, bar_index+200, base + dir*atr*tpStep*4, color=color.green)
tp5 := line.new(bar_index, base + dir*atr*tpStep*5, bar_index+200, base + dir*atr*tpStep*5, color=color.green)
tp6 := line.new(bar_index, base + dir*atr*tpStep*6, bar_index+200, base + dir*atr*tpStep*6, color=color.green)
sl := line.new(bar_index, base - dir*atr*slMult, bar_index+200, base - dir*atr*slMult, color=color.red)
ltp1 := label.new(bar_index+200, base + dir*atr*tpStep*1, "TP1", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp2 := label.new(bar_index+200, base + dir*atr*tpStep*2, "TP2", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp3 := label.new(bar_index+200, base + dir*atr*tpStep*3, "TP3", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp4 := label.new(bar_index+200, base + dir*atr*tpStep*4, "TP4", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp5 := label.new(bar_index+200, base + dir*atr*tpStep*5, "TP5", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp6 := label.new(bar_index+200, base + dir*atr*tpStep*6, "TP6", style=label.style_label_left, color=color.green, textcolor=color.white)
lsl := label.new(bar_index+200, base - dir*atr*slMult, "SL", style=label.style_label_left, color=color.red, textcolor=color.white)
//━━━━━━━━━━━━━━━━━━━
// ALERTS
//━━━━━━━━━━━━━━━━━━━
alertcondition(buySignal, title="BUY", message="DTC BUY (Stoch RSI < 30) on {{ticker}} {{interval}}")
alertcondition(sellSignal, title="SELL", message="DTC SELL (Stoch RSI > 70) on {{ticker}} {{interval}}")
indicator("DTC-1.3.6 FINAL SCREEN CLONE (FIXED + STOCH RSI)", overlay=true,
max_labels_count=500, max_lines_count=100)
//━━━━━━━━━━━━━━━━━━━
// INPUTS
//━━━━━━━━━━━━━━━━━━━
ema1Len = input.int(9)
ema2Len = input.int(13)
ema3Len = input.int(21)
ema4Len = input.int(34)
ema5Len = input.int(55)
ema6Len = input.int(89)
// Stochastic RSI Inputs
rsiLen = input.int(14, "RSI Length")
stochLen = input.int(14, "Stoch Length")
smoothK = input.int(3, "Smooth K")
smoothD = input.int(3, "Smooth D")
atrLen = input.int(14)
tpStep = input.float(0.5, "TP ATR Step")
slMult = input.float(1.2, "SL ATR")
//━━━━━━━━━━━━━━━━━━━
// CALCULATIONS
//━━━━━━━━━━━━━━━━━━━
ema1 = ta.ema(close, ema1Len)
ema2 = ta.ema(close, ema2Len)
ema3 = ta.ema(close, ema3Len)
ema4 = ta.ema(close, ema4Len)
ema5 = ta.ema(close, ema5Len)
ema6 = ta.ema(close, ema6Len)
atr = ta.atr(atrLen)
//━━━━━━━━━━━━━━━━━━━
// STOCHASTIC RSI
//━━━━━━━━━━━━━━━━━━━
rsiVal = ta.rsi(close, rsiLen)
stochRSI = 100 * (rsiVal - ta.lowest(rsiVal, stochLen)) /
(ta.highest(rsiVal, stochLen) - ta.lowest(rsiVal, stochLen))
k = ta.sma(stochRSI, smoothK)
d = ta.sma(k, smoothD)
//━━━━━━━━━━━━━━━━━━━
// TREND LOGIC
//━━━━━━━━━━━━━━━━━━━
bull = ema1 > ema2 and ema2 > ema3 and ema3 > ema4 and ema4 > ema5
bear = ema1 < ema2 and ema2 < ema3 and ema3 < ema4 and ema4 < ema5
// STOCH RSI CONDITIONS
stochBuy = k < 30
stochSell = k > 70
buySignal = bull and not bull[1] and stochBuy
sellSignal = bear and not bear[1] and stochSell
//━━━━━━━━━━━━━━━━━━━
// EMA RIBBON
//━━━━━━━━━━━━━━━━━━━
plot(ema1, color=color.rgb(0,180,90), linewidth=2)
plot(ema2, color=color.rgb(0,170,85), linewidth=2)
plot(ema3, color=color.rgb(0,160,80), linewidth=2)
plot(ema4, color=color.rgb(0,150,75), linewidth=2)
plot(ema5, color=color.rgb(0,140,70), linewidth=2)
plot(ema6, color=color.rgb(0,130,65), linewidth=2)
//━━━━━━━━━━━━━━━━━━━
// BACKGROUND ZONES
//━━━━━━━━━━━━━━━━━━━
bgcolor(bull ? color.new(color.green, 85) : na)
bgcolor(bear ? color.new(color.red, 85) : na)
//━━━━━━━━━━━━━━━━━━━
// BUY / SELL LABELS
//━━━━━━━━━━━━━━━━━━━
if buySignal
label.new(bar_index, low, "BUY",
style=label.style_label_up,
color=color.rgb(0,160,90),
textcolor=color.white)
if sellSignal
label.new(bar_index, high, "SELL",
style=label.style_label_down,
color=color.rgb(200,0,0),
textcolor=color.white)
//━━━━━━━━━━━━━━━━━━━
// TP LADDER + LABELS
//━━━━━━━━━━━━━━━━━━━
var line tp1 = na
var line tp2 = na
var line tp3 = na
var line tp4 = na
var line tp5 = na
var line tp6 = na
var line sl = na
var label ltp1 = na
var label ltp2 = na
var label ltp3 = na
var label ltp4 = na
var label ltp5 = na
var label ltp6 = na
var label lsl = na
if buySignal or sellSignal
line.delete(tp1), line.delete(tp2), line.delete(tp3)
line.delete(tp4), line.delete(tp5), line.delete(tp6)
line.delete(sl)
label.delete(ltp1), label.delete(ltp2), label.delete(ltp3)
label.delete(ltp4), label.delete(ltp5), label.delete(ltp6)
label.delete(lsl)
base = close
dir = buySignal ? 1 : -1
tp1 := line.new(bar_index, base + dir*atr*tpStep*1, bar_index+200, base + dir*atr*tpStep*1, color=color.green)
tp2 := line.new(bar_index, base + dir*atr*tpStep*2, bar_index+200, base + dir*atr*tpStep*2, color=color.green)
tp3 := line.new(bar_index, base + dir*atr*tpStep*3, bar_index+200, base + dir*atr*tpStep*3, color=color.green)
tp4 := line.new(bar_index, base + dir*atr*tpStep*4, bar_index+200, base + dir*atr*tpStep*4, color=color.green)
tp5 := line.new(bar_index, base + dir*atr*tpStep*5, bar_index+200, base + dir*atr*tpStep*5, color=color.green)
tp6 := line.new(bar_index, base + dir*atr*tpStep*6, bar_index+200, base + dir*atr*tpStep*6, color=color.green)
sl := line.new(bar_index, base - dir*atr*slMult, bar_index+200, base - dir*atr*slMult, color=color.red)
ltp1 := label.new(bar_index+200, base + dir*atr*tpStep*1, "TP1", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp2 := label.new(bar_index+200, base + dir*atr*tpStep*2, "TP2", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp3 := label.new(bar_index+200, base + dir*atr*tpStep*3, "TP3", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp4 := label.new(bar_index+200, base + dir*atr*tpStep*4, "TP4", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp5 := label.new(bar_index+200, base + dir*atr*tpStep*5, "TP5", style=label.style_label_left, color=color.green, textcolor=color.white)
ltp6 := label.new(bar_index+200, base + dir*atr*tpStep*6, "TP6", style=label.style_label_left, color=color.green, textcolor=color.white)
lsl := label.new(bar_index+200, base - dir*atr*slMult, "SL", style=label.style_label_left, color=color.red, textcolor=color.white)
//━━━━━━━━━━━━━━━━━━━
// ALERTS
//━━━━━━━━━━━━━━━━━━━
alertcondition(buySignal, title="BUY", message="DTC BUY (Stoch RSI < 30) on {{ticker}} {{interval}}")
alertcondition(sellSignal, title="SELL", message="DTC SELL (Stoch RSI > 70) on {{ticker}} {{interval}}")
초대 전용 스크립트
이 스크립트는 작성자가 승인한 사용자만 접근할 수 있습니다. 사용하려면 요청 후 승인을 받아야 하며, 일반적으로 결제 후에 허가가 부여됩니다. 자세한 내용은 아래 작성자의 안내를 따르거나 shahidp2p832에게 직접 문의하세요.
트레이딩뷰는 스크립트의 작동 방식을 충분히 이해하고 작성자를 완전히 신뢰하지 않는 이상, 해당 스크립트에 비용을 지불하거나 사용하는 것을 권장하지 않습니다. 커뮤니티 스크립트에서 무료 오픈소스 대안을 찾아보실 수도 있습니다.
작성자 지시 사항
testing
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
초대 전용 스크립트
이 스크립트는 작성자가 승인한 사용자만 접근할 수 있습니다. 사용하려면 요청 후 승인을 받아야 하며, 일반적으로 결제 후에 허가가 부여됩니다. 자세한 내용은 아래 작성자의 안내를 따르거나 shahidp2p832에게 직접 문의하세요.
트레이딩뷰는 스크립트의 작동 방식을 충분히 이해하고 작성자를 완전히 신뢰하지 않는 이상, 해당 스크립트에 비용을 지불하거나 사용하는 것을 권장하지 않습니다. 커뮤니티 스크립트에서 무료 오픈소스 대안을 찾아보실 수도 있습니다.
작성자 지시 사항
testing
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.