PROTECTED SOURCE SCRIPT
Compact Manual Execution Checklist

//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)
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)
보호된 스크립트입니다
이 스크립트는 비공개 소스로 게시됩니다. 하지만 이를 자유롭게 제한 없이 사용할 수 있습니다 – 자세한 내용은 여기에서 확인하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
보호된 스크립트입니다
이 스크립트는 비공개 소스로 게시됩니다. 하지만 이를 자유롭게 제한 없이 사용할 수 있습니다 – 자세한 내용은 여기에서 확인하세요.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.