Expert Advisor (EA) แตกต่างจากทุกไฟล์ดาวน์โหลดอื่นบนเว็บไซต์นี้ — อินดิเคเตอร์เพียงพล็อตหรือแจ้งเตือน ในขณะที่ EA ส่งออเดอร์แทนคุณจริงๆ EA ฟรีตัวนี้เทรดกลยุทธ์เดียวที่โปร่งใส สร้างขึ้นรอบการที่ histogram ของ OsMA ตัดผ่านเส้น zero line — มันเข้าเทรดทันทีที่เส้น MACD ตัด signal line ของมัน แล้วจัดการ Stop Loss, Take Profit และขนาดโพซิชันโดยอัตโนมัติจากเครื่องมือบริหารความเสี่ยงชุดเดียวกับที่สอนในที่อื่นบนเว็บไซต์นี้
กลยุทธ์ทำงานอย่างไร
สัญญาณเข้าคือการตัดเส้น zero line ของ histogram OsMA — Moving Average of Oscillator ที่อธิบายในบทเรียน OsMA OsMA คือระยะห่างระหว่างเส้น MACD กับ signal line ของมัน: เป็นบวกเมื่อเส้น MACD อยู่เหนือ signal และเป็นลบเมื่ออยู่ใต้ ดังนั้นการตัดศูนย์ของ OsMA จึงเป็นเหตุการณ์เดียวกับการตัด signal line ของ MACD เพียงแต่อ่านจาก histogram แทนสองเส้น EA ตัวนี้ใช้ค่า MACD มาตรฐาน 12/26/9 จึงเทรดการตัดกันของ MACD แบบ classic โดยปราศจากความคลุมเครือของการเพ่งดูว่าสองเส้นที่แกว่งไปมามาบรรจบกันตรงไหน
การเทรด OsMA แทนการดูสองเส้น MACD โดยตรงมีข้อดีเชิงปฏิบัติหนึ่งอย่างแม้แต่สำหรับระบบอัตโนมัติ: สัญญาณคือค่าเดียวที่ตัดผ่านระดับเดียว ซึ่งไม่คลุมเครือทั้งในการเขียนโค้ดและในการ backtest มีเงื่อนไขให้ตรวจสอบเพียงหนึ่งข้อต่อแท่ง — histogram อยู่เหนือหรือใต้ศูนย์ และเพิ่งเปลี่ยนหรือไม่ — ซึ่งทำให้กลยุทธ์สั้นและพฤติกรรมของมันเข้าใจได้ง่าย
Stop Loss, Take Profit และการปรับขนาดโพซิชัน
ทั้ง Stop Loss และ Take Profit กำหนดขนาดจาก ATR แทนระยะ pip คงที่ — คู่เงินหรือ session ที่ผันผวนจะได้ stop ที่กว้างขึ้นโดยอัตโนมัติ และคู่ที่นิ่งจะได้ stop ที่แคบลง ดังนั้น stop จึงสะท้อนสิ่งที่ตลาดกำลังทำอยู่จริงในตอนนี้เสมอ ไม่ใช่ตัวเลขที่เลือกไว้ครั้งเดียวแล้วปล่อยไว้ ระยะ Stop Loss คือ ATRMultiplier × ATR (ค่าเริ่มต้นตัวคูณ 2.0 โดยคำนวณ ATR จาก ATRPeriod = 14 แท่ง) และ Take Profit ตั้งไว้ที่ RiskRewardRatio × ระยะ Stop Loss (ค่าเริ่มต้น 2.0) ดังนั้นทุกเทรดจึงมีสัดส่วนผลตอบแทนต่อความเสี่ยงที่คงที่และรู้ล่วงหน้า ไม่ว่าจะคู่เงินหรือ timeframe ใด
ขนาดโพซิชันคำนวณจาก RiskPercent (ค่าเริ่มต้น 1.0%) เทียบกับยอดเงินในบัญชีและระยะ Stop Loss — เป็นวิธีตัวอย่างที่คำนวณไว้แล้วเป๊ะๆ จาก พื้นฐานการบริหารความเสี่ยง: จำนวนเงินที่เสี่ยง ÷ ระยะ Stop Loss = ขนาด lot stop ที่กว้างขึ้นจาก ATR บนคู่เงินที่ผันผวนจะให้ lot ที่เล็กลงโดยอัตโนมัติ และ stop ที่แคบบนคู่ที่นิ่งจะให้ lot ที่ใหญ่ขึ้น ดังนั้นความเสี่ยงเป็นเงินต่อเทรดจึงคงที่โดยประมาณ แม้ระยะราคาถึง stop จะเปลี่ยนไปในแต่ละเทรด มี input UseFixedLot เป็นทางออกสำรองสำหรับขนาด lot คงที่ — มีประโยชน์สำหรับการทดสอบ หรือบัญชีเล็กที่การคำนวณตามเปอร์เซ็นต์ปัดลงเป็น lot ขั้นต่ำของ broker อยู่ดี
เงื่อนไขการเข้าเทรด
- BUY — OsMA ตัดจากระดับที่เท่ากับหรือต่ำกว่าศูนย์ขึ้นไปเหนือศูนย์บนแท่งที่ปิดสมบูรณ์ติดกัน (เส้น MACD เพิ่งตัดขึ้นเหนือ signal line ของมัน)
- SELL — OsMA ตัดจากระดับที่เท่ากับหรือสูงกว่าศูนย์ลงไปใต้ศูนย์ — เป็นการตั้งค่าแบบสะท้อนกลับ (เส้น MACD เพิ่งตัดลงใต้ signal line ของมัน)
นอกเหนือจากตัวสัญญาณเอง มีกลไกความปลอดภัยสามอย่างที่ควบคุมทุกเทรด: EA ประเมินเงื่อนไขเหล่านี้เพียงครั้งเดียวต่อแท่งใหม่ (ไม่ใช่ทุก tick ดังนั้นการตัดกันครั้งเดียวจึงไม่สามารถสั่งเทรดหลายครั้งภายในแท่งเดียว) เปิดโพซิชันครั้งละหนึ่งรายการเท่านั้น (สัญญาณใหม่จะถูกละเว้นขณะที่ยังมีโพซิชันของ EA ตัวนี้เปิดอยู่) และจัดการเฉพาะโพซิชันที่ติด magic number ของตัวเอง (20260802) — จึงไม่แตะต้องเทรดที่คุณเปิดเองหรือเทรดที่วางโดย EA ตัวอื่นในบัญชีเดียวกัน นอกจากนี้ยังมี spread filter อยู่หน้าทุกการเข้าเทรด: ถ้า spread ปัจจุบันกว้างกว่า MaxSpreadPoints EA จะข้ามแท่งนั้นไปทั้งแท่งแทนที่จะเปิดเทรดที่ราคาไม่ดีในสภาวะสภาพคล่องต่ำ
Parameters
- FastEMA (ค่าเริ่มต้น 12) — period EMA เร็วในตัว MACD ที่ OsMA มาจาก
- SlowEMA (ค่าเริ่มต้น 26) — period EMA ช้า
- SignalSMA (ค่าเริ่มต้น 9) — period การ smooth ของ signal line ที่ OsMA วัดเทียบ
- AppliedPrice (ค่าเริ่มต้น Close) — ราคาชุดที่การคำนวณใช้
- ATRPeriod (ค่าเริ่มต้น 14) — period ย้อนหลังที่ใช้คำนวณ ATR สำหรับกำหนดขนาด Stop Loss
- ATRMultiplier (ค่าเริ่มต้น 2.0) — ระยะ Stop Loss = ATR × ตัวคูณนี้
- RiskRewardRatio (ค่าเริ่มต้น 2.0) — ระยะ Take Profit = ระยะ Stop Loss × อัตราส่วนนี้
- UseFixedLot — สลับการปรับขนาดโพซิชันจากแบบอิงความเสี่ยงเป็นขนาด lot คงที่
- FixedLotSize (ค่าเริ่มต้น 0.01) — ขนาด lot ที่ใช้เมื่อเปิด
UseFixedLot - RiskPercent (ค่าเริ่มต้น 1.0) — เปอร์เซ็นต์ของยอดเงินในบัญชีที่เสี่ยงต่อเทรด ถูกละเว้นหากเปิด
UseFixedLot - MaxSpreadPoints (ค่าเริ่มต้น 30) — ข้ามการเข้าเทรดใหม่ขณะที่ spread กว้างกว่านี้
- MagicNumber (ค่าเริ่มต้น 20260802) — ติดแท็กทุกออเดอร์ที่ EA ตัวนี้วาง เพื่อไม่ให้ตรรกะจัดการแตะต้องเทรดอื่น
- EnableTrading — สวิตช์เปิด/ปิดหลัก มีประโยชน์สำหรับหยุด EA ชั่วคราวโดยไม่ต้องนำออกจากกราฟ
ทำไมต้องเทรดการตัด Histogram แทนการกลับตัวของ Histogram
บทเรียน OsMA อธิบายว่า histogram กลับตัว (หยุดโตและเริ่มหด) ก่อนที่มันจะ ตัด ศูนย์หนึ่งจังหวะ EA ตัวนี้จงใจเทรดเหตุการณ์ที่มาทีหลังและอนุรักษ์นิยมกว่า — การตัดศูนย์ — แทนการกลับตัวที่มาก่อน และเหตุผลคือความน่าเชื่อถือ การกลับตัวของ histogram เป็นการอ่านเชิงรุกที่มาก่อนว่า momentum กำลังชะลอตัว แต่ momentum ที่ชะลอตัวมักเร่งตัวกลับใหม่โดยไม่เคยตัดศูนย์เลย ดังนั้น EA ที่เข้าที่ทุกการกลับตัวจะเข้าเทรดก่อนเวลาจำนวนมากที่เทรนด์ทำให้เป็นโมฆะในภายหลัง การรอการตัดศูนย์จริงจึงยอมเสียราคาเข้าบางส่วนแลกกับสัญญาณที่ยิงเฉพาะเมื่อความสัมพันธ์ของ MACD พลิกจริงแล้ว ซึ่งเป็นกฎที่สะอาดกว่ามากในการทำเป็นระบบอัตโนมัติ
ความอนุรักษ์นิยมนั้นไม่ได้ช่วย OsMA ให้พ้นจากจุดอ่อนหลักที่มันสืบทอดมาจาก MACD โดยตรง นั่นคือมันเป็นโครงสร้าง lagging แบบ moving average ของ moving average ดังนั้นในการกลับตัวที่รุนแรง มันยืนยันการกลับตัวหลังจากราคาเคลื่อนไปแล้ว และในตลาด sideway มันตัดศูนย์ซ้ำแล้วซ้ำเล่าจากการสั่นที่ไม่มีความหมาย EA ตัวนี้จึงทำงานได้ดีที่สุดในตลาดที่มีเทรนด์หรือเพิ่ง breakout และแย่ที่สุดในกรอบแคบที่ไร้ทิศทาง การยืนยันสภาวะ เทรนด์กับกรอบราคา ก่อนรันมันบนคู่เงินหนึ่งๆ หรือการวาง ADX หรือ trend filter จาก timeframe ที่ใหญ่กว่าทับข้างบน คือวิธีที่เป็นธรรมชาติในการปรับปรุงผลลัพธ์ — ตัว EA เองไม่พยายามตรวจจับสภาวะนั้นและเพียงเทรดการตัดตรงที่มันเกิดขึ้น
การติดตั้งและตั้งค่า
EA ติดตั้งในโฟลเดอร์ที่ต่างจากอินดิเคเตอร์ — นี่คือขั้นตอนที่คนพลาดบ่อยที่สุด
- ดาวน์โหลดไฟล์ด้านล่างสำหรับ platform ของคุณ
- เปิด MetaTrader → คลิก
File→Open Data Folder - นำไฟล์ไปวางใน
MQL4/Experts(MetaTrader 4) หรือMQL5/Experts(MetaTrader 5) — ไม่ใช่โฟลเดอร์ Indicators - รีสตาร์ท MetaTrader จากนั้นลาก EA จากหน้าต่าง Navigator มาวางบนกราฟ
- เปิด AutoTrading (MT4) หรือ Algo Trading (MT5) ในแถบเครื่องมือ — EA จะไม่วางเทรดใดๆ ขณะที่สิ่งนี้ปิดอยู่ แม้จะติดอยู่บนกราฟแล้วก็ตาม
- ตรวจสอบและปรับ input parameters ในหน้าต่างตั้งค่าของ EA ก่อนยืนยัน
ข้อควรระวัง
ทดสอบบนบัญชี Demo ก่อน ในสภาวะตลาดที่หลากหลาย ก่อนเสี่ยงเงินจริง — ผลงานในอดีต ไม่ว่าจาก backtest หรือ live ไม่เคยรับประกันผลในอนาคต ไม่มีกลยุทธ์ใด ไม่ว่าอัตโนมัติหรือมือ ที่ชนะทุกเทรด และ EA ตัวนี้สามารถและจะขาดทุนในบางเทรดได้ เพราะ OsMA สร้างจาก moving average สัญญาณตัดศูนย์ของมันจึงล่าช้ากว่าการกลับตัวของราคาจริงและ whipsaw หนักในตลาดที่แกว่งตัวในกรอบ ที่คุณควรคาดว่าจะเจอเทรดขาดทุนเล็กๆ ต่อเนื่องกันอย่างรวดเร็ว ควรพิจารณาจับคู่ EA ตัวนี้กับ trend filter หรือรันเฉพาะบนคู่เงินและ timeframe ที่คุณยืนยันแล้วว่ามีเทรนด์ แทนที่จะปล่อยไว้บนทุกกราฟในทุกสภาวะ ไฟล์ทั้งสองเป็น source code — เปิดและตรวจสอบให้ครบ และเข้าใจว่าทุก parameter ทำอะไร ก่อนใช้งาน เนื้อหานี้เป็นการศึกษาทั่วไป ไม่ใช่คำแนะนำการลงทุนส่วนบุคคล
ดาวน์โหลด EA
วิธีติดตั้ง — MetaTrader 4
- ดาวน์โหลดไฟล์
osma-cross-ea.mq4ด้านล่าง - เปิด MetaTrader 4 → คลิก
File→Open Data Folder - นำไฟล์ไปวางในโฟลเดอร์
MQL4/Experts - รีสตาร์ท MetaTrader 4 จากนั้นลาก EA จากหน้าต่าง Navigator มาวางบนกราฟ
วิธีติดตั้ง — MetaTrader 5
- ดาวน์โหลดไฟล์
osma-cross-ea.mq5ด้านล่าง - เปิด MetaTrader 5 → คลิก
File→Open Data Folder - นำไฟล์ไปวางในโฟลเดอร์
MQL5/Experts - รีสตาร์ท MetaTrader 5 จากนั้นลาก EA จากหน้าต่าง Navigator มาวางบนกราฟ
ไฟล์ทั้งสองเป็น source code — เปิดและตรวจสอบโค้ดทั้งหมดก่อนใช้งาน เพื่อความปลอดภัยของคุณเอง