PROTECTED SOURCE SCRIPT
Custom UT Bot Alerts (EMA + RSI Filter)

//version=5
indicator("Custom UT Bot Alerts (EMA + RSI Filter)", overlay=true)
// ================= INPUTS =================
keyValue = input.float(1.5, "Key Value (Sensitivity)")
atrPeriod = input.int(15, "ATR Period")
// ================= SOURCE DATA (12h = 720 menit) =================
srcClose = request.security(syminfo.tickerid, "720", close)
atrValue = request.security(syminfo.tickerid, "720", ta.atr(atrPeriod))
// ================= CALCULATIONS =================
longStop = srcClose - keyValue * atrValue
shortStop = srcClose + keyValue * atrValue
var float stop = srcClose
var int dir = 1
if (srcClose > stop)
dir := 1
stop := math.max(longStop, stop)
else
dir := -1
stop := math.min(shortStop, stop)
// ================= SIGNALS =================
longSignal = ta.crossover(srcClose, stop)
shortSignal = ta.crossunder(srcClose, stop)
// ================= PLOT & ALERTS =================
plot(stop, "Stop Line", color = dir == 1 ? color.green : color.red, linewidth=2)
plotshape(longSignal, title="Buy Signal", location=location.belowbar,
color=color.green, style=shape.triangleup, size=size.large, text="BUY")
plotshape(shortSignal, title="Sell Signal", location=location.abovebar,
color=color.red, style=shape.triangledown, size=size.large, text="SELL")
alertcondition(longSignal, title="Buy Alert", message="Buy Signal Triggered")
alertcondition(shortSignal, title="Sell Alert", message="Sell Signal Triggered")
indicator("Custom UT Bot Alerts (EMA + RSI Filter)", overlay=true)
// ================= INPUTS =================
keyValue = input.float(1.5, "Key Value (Sensitivity)")
atrPeriod = input.int(15, "ATR Period")
// ================= SOURCE DATA (12h = 720 menit) =================
srcClose = request.security(syminfo.tickerid, "720", close)
atrValue = request.security(syminfo.tickerid, "720", ta.atr(atrPeriod))
// ================= CALCULATIONS =================
longStop = srcClose - keyValue * atrValue
shortStop = srcClose + keyValue * atrValue
var float stop = srcClose
var int dir = 1
if (srcClose > stop)
dir := 1
stop := math.max(longStop, stop)
else
dir := -1
stop := math.min(shortStop, stop)
// ================= SIGNALS =================
longSignal = ta.crossover(srcClose, stop)
shortSignal = ta.crossunder(srcClose, stop)
// ================= PLOT & ALERTS =================
plot(stop, "Stop Line", color = dir == 1 ? color.green : color.red, linewidth=2)
plotshape(longSignal, title="Buy Signal", location=location.belowbar,
color=color.green, style=shape.triangleup, size=size.large, text="BUY")
plotshape(shortSignal, title="Sell Signal", location=location.abovebar,
color=color.red, style=shape.triangledown, size=size.large, text="SELL")
alertcondition(longSignal, title="Buy Alert", message="Buy Signal Triggered")
alertcondition(shortSignal, title="Sell Alert", message="Sell Signal Triggered")
Mã được bảo vệ
Tập lệnh này được đăng dưới dạng mã nguồn đóng. Tuy nhiên, bạn có thể tự do sử dụng tập lệnh mà không có bất kỳ hạn chế nào – tìm hiểu thêm tại đây.
Thông báo miễn trừ trách nhiệm
Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.
Mã được bảo vệ
Tập lệnh này được đăng dưới dạng mã nguồn đóng. Tuy nhiên, bạn có thể tự do sử dụng tập lệnh mà không có bất kỳ hạn chế nào – tìm hiểu thêm tại đây.
Thông báo miễn trừ trách nhiệm
Thông tin và ấn phẩm không có nghĩa là và không cấu thành, tài chính, đầu tư, kinh doanh, hoặc các loại lời khuyên hoặc khuyến nghị khác được cung cấp hoặc xác nhận bởi TradingView. Đọc thêm trong Điều khoản sử dụng.