200 EMA + 20 EMA + VWAP Signal System
Enhanced Crossover Strategy with VWAP Confirmation, CALL/PUT Signals, Dynamic SL & Multi-Timeframe Trend Dashboard
เคฏเคน เคंเคกिเคेเคเคฐ เค्เคฏा เคเคฐเคคा เคนै?
เคฏे เคเค เคเคจ्เคนांเคธ्เคก EMA + VWAP เคธिเค्เคจเคฒ เคธिเคธ्เคเคฎ เคนै เคो 200 EMA เค्เคฐॉเคธเคเคตเคฐ, 20 EMA, VWAP เคเคจ्เคซเคฐ्เคฎेเคถเคจ เคे เคธाเคฅ CALL/PUT เคฌाเคฏ เคธिเค्เคจเคฒ्เคธ, เคกाเคฏเคจाเคฎिเค เคธ्เคॉเคช เคฒॉเคธ เคฒाเคเคจ्เคธ เคเคฐ เคฎเคฒ्เคी-เคाเคเคฎเคซ्เคฐेเคฎ เค्เคฐेंเคก เคกैเคถเคฌोเคฐ्เคก เคฆिเคाเคคा เคนै। เคฌैเคเค्เคฐाเคंเคก เคเคฒเคฐ เค्เคฐेंเคก เคो เคนाเคเคฒाเคเค เคเคฐเคคा เคนै, เคเคฐ เค เคฒเคฐ्เค्เคธ เค्เคฐेเคกिंเค เคो เคเคธाเคจ เคฌเคจाเคคे เคนैं।
เคฎुเค्เคฏ เคซीเคเคฐ्เคธ (Key Features)
EMA เคช्เคฒॉเค्เคธ
200 EMA (เค्เคฐेंเคก เคฌेเคธ्เคก เคเคฒเคฐ), 20 EMA (เคฏेเคฒो) – เคเคตเคฐเคฒे เคाเคฐ्เค เคชเคฐ
VWAP เคเคจ्เคซเคฐ्เคฎेเคถเคจ
VWAP เคฒाเคเคจ (เคเคฐेंเค) – เคตॉเคฒ्เคฏूเคฎ เคตेเคेเคก เคเคตเคฐेเค เคช्เคฐाเคเคธ เคे เคธाเคฅ เคธिเค्เคจเคฒ เคตैเคฒिเคกेเคถเคจ
CALL/PUT เคธिเค्เคจเคฒ्เคธ
เค्เคฒोเค > 200 EMA เคชเคฐ CALL BUY, เค्เคฒोเค < 200 EMA เคชเคฐ PUT BUY – เคฒेเคฌเคฒ्เคธ เคตिเคฆ เคเคซเคธेเค
เคกाเคฏเคจाเคฎिเค SL เคฒाเคเคจ्เคธ
CALL เคे เคฒिเค เคฒो[1], PUT เคे เคฒिเค เคนाเค[1] – เคธ्เคेเคชเคฒाเคเคจ เคธ्เคाเคเคฒ เคฎें เคช्เคฒॉเค
เค्เคฐेंเคก เคฒेเคฌเคฒ & เคฌैเคเค्เคฐाเคंเคก
เคॉเคฐ्เคจเคฐ เคฒेเคฌเคฒ (CALL/PUT เคเค्เคिเคต) + เคฌैเคเค्เคฐाเคंเคก เคเคฒเคฐ (เค्เคฐीเคจ/เคฐेเคก เค्เคฐेंเคก)
MTF เคกैเคถเคฌोเคฐ्เคก
1M เคธे 1W เคคเค เค्เคฐेंเคก เคेเคฌเคฒ – เคฌुเคฒिเคถ/เคฌेเคฏเคฐिเคถ เคตिเคฆ เคเคฒเคฐ เคोเคกिंเค
เคोเคก เคฆेเคเคจे เคे เคฒिเค เคฒॉเคिเคจ เคเคฐें (Login to View Code)
This code is password protected. Enter credentials to unlock.
//@version=5
indicator("200 EMA + 20 EMA + VWAP Signal System (Enhanced v3)", overlay=true)
// === EMA & VWAP Calculation ===
ema200 = ta.ema(close, 200)
ema20 = ta.ema(close, 20)
vwap = ta.vwap(close)
// === Trend Conditions ===
isBull = close > ema200
isBear = close < ema200
// === Colors & Background ===
emaColor200 = isBull ? color.new(color.lime, 0) : color.new(color.red, 0)
emaColor20 = color.new(color.yellow, 0)
vwapColor = color.new(color.orange, 0)
bgcolor(isBull ? color.new(color.lime, 90) : color.new(color.red, 90))
// === Plot EMAs & VWAP ===
plot(ema200, title="EMA 200", color=emaColor200, linewidth=2)
plot(ema20, title="EMA 20", color=emaColor20, linewidth=2)
plot(vwap, title="VWAP", color=vwapColor, linewidth=2, style=plot.style_line)
// === Entry Signals ===
callSignal = ta.crossover(close, ema200)
putSignal = ta.crossunder(close, ema200)
// === Persistent Variables for SL ===
var float callSL = na
var float putSL = na
// === Update SL when new signal triggers ===
if callSignal
callSL := low[1]
putSL := na
if putSignal
putSL := high[1]
callSL := na
// === Plot Entry Signals (Closer to Candle, no yloc) ===
plotshape(callSignal, title="CALL BUY",
style=shape.labelup, location=location.belowbar,
color=color.new(color.lime, 0), text="CALL BUY",
textcolor=color.white, size=size.small, offset=-1)
plotshape(putSignal, title="PUT BUY",
style=shape.labeldown, location=location.abovebar,
color=color.new(color.red, 0), text="PUT BUY",
textcolor=color.white, size=size.small, offset=-1)
// === SL Lines ===
plot(callSL, title="CALL SL", color=color.new(color.lime, 0), style=plot.style_steplinebr, linewidth=2)
plot(putSL, title="PUT SL", color=color.new(color.red, 0), style=plot.style_stepline, linewidth=2)
// === Alerts ===
alertcondition(callSignal, title="CALL BUY Alert", message="CALL BUY (Cross Above 200 EMA)")
alertcondition(putSignal, title="PUT BUY Alert", message="PUT BUY (Cross Below 200 EMA)")
// === Stylish Trend Label (Corner Display) ===
var label trendLabel = na
if barstate.islast
if not na(trendLabel)
label.delete(trendLabel)
trendText = isBull ? "๐ CALL ACTIVE" : "๐ PUT ACTIVE"
trendColor = isBull ? color.new(color.lime, 0) : color.new(color.red, 0)
trendLabel := label.new(bar_index, close, trendText,
style=label.style_label_left, color=trendColor,
textcolor=color.white, size=size.large, xloc=xloc.bar_index, yloc=yloc.abovebar)
// === Multi-Timeframe Trend Dashboard ===
getTrend(tfSimple) =>
c = request.security(syminfo.tickerid, tfSimple, close)
e = request.security(syminfo.tickerid, tfSimple, ta.ema(close, 200))
c > e ? "Bullish ↑" : "Bearish ↓"
t1 = getTrend("1")
t3 = getTrend("3")
t5 = getTrend("5")
t15 = getTrend("15")
t30 = getTrend("30")
t45 = getTrend("45")
t60 = getTrend("60")
t240= getTrend("240")
tD = getTrend("D")
tW = getTrend("W")
// Labels for rows
l1 = "1 Min"
l3 = "3 Min"
l5 = "5 Min"
l15 = "15 Min"
l30 = "30 Min"
l45 = "45 Min"
l60 = "1 Hr"
l240= "4 Hr"
lD = "1 Day"
lW = "1 Week"
// === Create table (2 columns, 10 rows + header) ===
var table dashboard = table.new(position.top_right, 2, 11, border_width=1, border_color=color.white)
if barstate.isfirst
table.cell(dashboard, 0, 0, "๐ TIMEFRAME", text_color=color.white, bgcolor=color.new(color.blue, 0))
table.cell(dashboard, 1, 0, "TREND", text_color=color.white, bgcolor=color.new(color.blue, 0))
trendBgColor(trend) =>
str.contains(trend, "Bullish") ? color.new(#12492e, 0) : color.new(color.red, 0)
// Fill table rows
table.cell(dashboard, 0, 1, "๐ " + l1, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 1, t1, bgcolor=trendBgColor(t1), text_color=color.white)
table.cell(dashboard, 0, 2, "๐ " + l3, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 2, t3, bgcolor=trendBgColor(t3), text_color=color.white)
table.cell(dashboard, 0, 3, "๐ " + l5, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 3, t5, bgcolor=trendBgColor(t5), text_color=color.white)
table.cell(dashboard, 0, 4, "๐ " + l15, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 4, t15, bgcolor=trendBgColor(t15), text_color=color.white)
table.cell(dashboard, 0, 5, "๐ " + l30, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 5, t30, bgcolor=trendBgColor(t30), text_color=color.white)
table.cell(dashboard, 0, 6, "๐ " + l45, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 6, t45, bgcolor=trendBgColor(t45), text_color=color.white)
table.cell(dashboard, 0, 7, "๐ " + l60, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 7, t60, bgcolor=trendBgColor(t60), text_color=color.white)
table.cell(dashboard, 0, 8, "๐ " + l240,bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 8, t240,bgcolor=trendBgColor(t240),text_color=color.white)
table.cell(dashboard, 0, 9, "๐ " + lD, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 9, tD, bgcolor=trendBgColor(tD), text_color=color.white)
table.cell(dashboard, 0, 10,"๐ " + lW, bgcolor=color.new(color.rgb(40,40,40),0), text_color=color.white)
table.cell(dashboard, 1, 10,tW, bgcolor=trendBgColor(tW), text_color=color.white)
Code unlocked! เค เคฌ เคเคช เคเคธे เคॉเคชी เคเคฐ เคธเคเคคे เคนैं।
0 Comments