PROTECTED SOURCE SCRIPT

Compact Manual Execution Checklist

4
//version=6
indicator("Compact Manual Execution Checklist", overlay=true)

)

tblPos = tblPosInput == "Top Left" ? position.top_left :
tblPosInput == "Bottom Right" ? position.bottom_right :
tblPosInput == "Bottom Left" ? position.bottom_left :
tblPosInput == "Center" ? position.middle_center :
position.top_right

// ==============================
// EMA CALCULATION
// ==============================
emaVal = request.security(
syminfo.tickerid,
emaTF == "" ? timeframe.period : emaTF,
ta.ema(close, emaLen)
)

emaBull = close > emaVal and emaVal > emaVal[1]
emaBear = close < emaVal and emaVal < emaVal[1]

// ==============================
// SCORE LOGIC (SAFE)
// ==============================
score = (tEMA ? 25 : 0) + (tBC ? 25 : 0) + (tTL ? 25 : 0) + (tOT ? 25 : 0)
grade = score == 100 ? "A+" : score == 75 ? "B+" : "POOR"
gColor = score == 100 ? color.green : score == 75 ? color.orange : color.red

// ==============================
// EMA PLOT
// ==============================
plot(emaVal, "EMA", color=color.orange, linewidth=2)

// ==============================
// CHECKLIST TABLE (ONCE)
// ==============================
var table t = table.new(tblPos, 2, 6, border_width=1)

if barstate.islast
table.cell(t, 0, 0, "RULE", bgcolor=color.gray)
table.cell(t, 1, 0, "✔ / ✖", bgcolor=color.gray)

table.cell(t, 0, 1, "EMA")
table.cell(t, 1, 1, tEMA ? "✔" : "✖", bgcolor=tEMA ? color.green : color.red)

table.cell(t, 0, 2, "B + C")
table.cell(t, 1, 2, tBC ? "✔" : "✖", bgcolor=tBC ? color.green : color.red)

table.cell(t, 0, 3, "TL")
table.cell(t, 1, 3, tTL ? "✔" : "✖", bgcolor=tTL ? color.green : color.red)

table.cell(t, 0, 4, "1T")
table.cell(t, 1, 4, tOT ? "✔" : "✖", bgcolor=tOT ? color.green : color.red)

table.cell(t, 0, 5, "SCORE")
table.cell(t, 1, 5, str.tostring(score) + "% " + grade, bgcolor=gColor)

// ==============================
// EMA BIAS LABEL (NO FLICKER)
// ==============================
var label biasLbl = na

if barstate.islast
label.delete(biasLbl)

biasTxt = emaBull ? "EMA ↑" : emaBear ? "EMA ↓" : "EMA —"
biasCol = emaBull ? color.green : emaBear ? color.red : color.gray

biasLbl := label.new(
bar_index,
high,
biasTxt,
style=label.style_label_left,
color=biasCol,
textcolor=color.white,
size=size.small
)

// ==============================
// SOFT BACKGROUND FEEDBACK
// ==============================
bgcolor(score == 100 ? color.new(color.green, 92) :
score == 75 ? color.new(color.orange, 92) :
na)

Thông báo miễn trừ trách nhiệm

Thông tin và các ấn phẩm này không nhằm mục đích, và không cấu thành, lời khuyên hoặc khuyến nghị về tài chính, đầu tư, giao dịch hay các loại khác do TradingView cung cấp hoặc xác nhận. Đọc thêm tại Điều khoản Sử dụng.