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)
نص برمجي محمي
تم نشر هذا النص البرمجي كمصدر مغلق. ومع ذلك، يمكنك استخدامه بحرية ودون أي قيود - تعرف على المزيد هنا.
إخلاء المسؤولية
لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView. اقرأ المزيد في شروط الاستخدام.
نص برمجي محمي
تم نشر هذا النص البرمجي كمصدر مغلق. ومع ذلك، يمكنك استخدامه بحرية ودون أي قيود - تعرف على المزيد هنا.
إخلاء المسؤولية
لا يُقصد بالمعلومات والمنشورات أن تكون، أو تشكل، أي نصيحة مالية أو استثمارية أو تجارية أو أنواع أخرى من النصائح أو التوصيات المقدمة أو المعتمدة من TradingView. اقرأ المزيد في شروط الاستخدام.