OPEN-SOURCE SCRIPT
SMMA 40/225 Crossover Alert (Bar Close)

//version=5
indicator("SMMA 40/225 Crossover Alert (Bar Close)", shorttitle="SMMA Cross Alert", overlay=true)
// === SMMA Function ===
smma(src, length) =>
sma_ = ta.sma(src, length)
smma = 0.0
smma := na(smma[1]) ? sma_ : (smma[1] * (length - 1) + src) / length
smma
// === Calculate SMMA 40 & 225 ===
smma40 = smma(close, 40)
smma225 = smma(close, 225)
// === Crossover Conditions (confirmed after bar close) ===
bullishCross = ta.crossover(smma40, smma225)
bearishCross = ta.crossunder(smma40, smma225)
// === Trigger only after bar close ===
bullishSignal = bullishCross and barstate.isconfirmed
bearishSignal = bearishCross and barstate.isconfirmed
// === Alerts ===
alertcondition(bullishSignal, title="SMMA Bullish Crossover", message="✅ SMMA 40 crossed ABOVE SMMA 225 — BUY Signal (Confirmed at Bar Close)")
alertcondition(bearishSignal, title="SMMA Bearish Crossover", message="❌ SMMA 40 crossed BELOW SMMA 225 — SELL Signal (Confirmed at Bar Close)")
indicator("SMMA 40/225 Crossover Alert (Bar Close)", shorttitle="SMMA Cross Alert", overlay=true)
// === SMMA Function ===
smma(src, length) =>
sma_ = ta.sma(src, length)
smma = 0.0
smma := na(smma[1]) ? sma_ : (smma[1] * (length - 1) + src) / length
smma
// === Calculate SMMA 40 & 225 ===
smma40 = smma(close, 40)
smma225 = smma(close, 225)
// === Crossover Conditions (confirmed after bar close) ===
bullishCross = ta.crossover(smma40, smma225)
bearishCross = ta.crossunder(smma40, smma225)
// === Trigger only after bar close ===
bullishSignal = bullishCross and barstate.isconfirmed
bearishSignal = bearishCross and barstate.isconfirmed
// === Alerts ===
alertcondition(bullishSignal, title="SMMA Bullish Crossover", message="✅ SMMA 40 crossed ABOVE SMMA 225 — BUY Signal (Confirmed at Bar Close)")
alertcondition(bearishSignal, title="SMMA Bearish Crossover", message="❌ SMMA 40 crossed BELOW SMMA 225 — SELL Signal (Confirmed at Bar Close)")
สคริปต์โอเพนซอร์ซ
ด้วยเจตนารมณ์หลักของ TradingView ผู้สร้างสคริปต์นี้ได้ทำให้มันเป็นโอเพ่นซอร์ส เพื่อให้เทรดเดอร์สามารถตรวจสอบและยืนยันการทำงานของสคริปต์ได้ ขอแสดงความชื่นชมผู้เขียน! แม้ว่าคุณจะสามารถใช้งานได้ฟรี แต่อย่าลืมว่าการเผยแพร่โค้ดซ้ำนั้นจะต้องเป็นไปตามกฎระเบียบการใช้งานของเรา
คำจำกัดสิทธิ์ความรับผิดชอบ
ข้อมูลและบทความไม่ได้มีวัตถุประสงค์เพื่อก่อให้เกิดกิจกรรมทางการเงิน, การลงทุน, การซื้อขาย, ข้อเสนอแนะ หรือคำแนะนำประเภทอื่น ๆ ที่ให้หรือรับรองโดย TradingView อ่านเพิ่มเติมที่ ข้อกำหนดการใช้งาน
สคริปต์โอเพนซอร์ซ
ด้วยเจตนารมณ์หลักของ TradingView ผู้สร้างสคริปต์นี้ได้ทำให้มันเป็นโอเพ่นซอร์ส เพื่อให้เทรดเดอร์สามารถตรวจสอบและยืนยันการทำงานของสคริปต์ได้ ขอแสดงความชื่นชมผู้เขียน! แม้ว่าคุณจะสามารถใช้งานได้ฟรี แต่อย่าลืมว่าการเผยแพร่โค้ดซ้ำนั้นจะต้องเป็นไปตามกฎระเบียบการใช้งานของเรา
คำจำกัดสิทธิ์ความรับผิดชอบ
ข้อมูลและบทความไม่ได้มีวัตถุประสงค์เพื่อก่อให้เกิดกิจกรรมทางการเงิน, การลงทุน, การซื้อขาย, ข้อเสนอแนะ หรือคำแนะนำประเภทอื่น ๆ ที่ให้หรือรับรองโดย TradingView อ่านเพิ่มเติมที่ ข้อกำหนดการใช้งาน