MACD คืออะไร ตั้งค่าเท่าไหร่ดี — และทำไม MACD ใน MT4/MT5 ถึงไม่ตรงกับในตำรา (ตรวจจากซอร์สโค้ด)

12 · 26 · 9 คนละวัน คนละราคา เส้นสัญญาณแบบ MT4 / MT5 = SMA 9 เส้นสัญญาณแบบตำรา = EMA 9 MACD ใน MT4 / MT5 ไม่เหมือนในตำรา และไม่เหมือน TradingView โดย คนเล่น Forex สัญญาณตัดกันที่ตรงวันกัน แค่ 54% วัดสองตลาด ได้ 54% เท่ากัน ตอนที่ไม่ตรงกัน ราคาต่างกัน 30.6 pip ทองคำต่างกัน $38.56 ต่อออนซ์ เปิดซอร์สโค้ดดูของจริง
อินดิเคเตอร์

MACD คืออะไร ดูยังไง ตั้งค่าเท่าไหร่ดี — และเรื่องที่ไม่มีใครบอก คือ MACD ในโปรแกรมคุณอาจไม่ใช่ตัวเดียวกับในตำรา

MACD คือผลต่างระหว่างเส้นค่าเฉลี่ยแบบ EMA สองเส้น แล้วเอาผลต่างนั้นมาหาค่าเฉลี่ยอีกทีเป็น “เส้นสัญญาณ” คำค้นยอดนิยมของคนไทยเกือบทั้งหมดเป็นเรื่องการตั้งค่า — “ควรตั้งเท่าไหร่” “ตั้งค่าเทรดสั้น” “ตั้งค่า 2 เส้น mt5” หน้านี้ตอบคำถามพวกนั้น แต่ต้องเริ่มจากเรื่องที่สำคัญกว่าและแทบไม่มีใครพูดถึงก่อน: MACD ที่ติดมากับ MetaTrader ใช้สูตรเส้นสัญญาณคนละแบบกับตำราและคนละแบบกับ TradingView — และเราเปิดซอร์สโค้ดของ MetaQuotes เองมายืนยัน พร้อมวัดว่ามันทำให้สัญญาณต่างกันแค่ไหน

หน้าต่างอินดิเคเตอร์ MACD บนกราฟเทรด
หน้านี้ไม่มีคำว่า “แม่น” และไม่มีตัวเลขอัตราชนะ สิ่งที่มีคือนิยามที่คำนวณตามได้ ซอร์สโค้ดที่เปิดดูได้ และการนับจากราคาจริงที่ระบุช่วงเวลาไว้ครบ

MACD คืออะไร — สามบรรทัดจบ

MACD (Moving Average Convergence Divergence) ประกอบด้วยของสามชิ้น และทุกชิ้นเป็นแค่ค่าเฉลี่ย

  • เส้น MACD = EMA 12 − EMA 26 (คำนวณจากราคาปิด) · ตัวเลขนี้เป็นบวกเมื่อค่าเฉลี่ยสั้นอยู่เหนือค่าเฉลี่ยยาว และเป็นลบเมื่ออยู่ใต้
  • เส้นสัญญาณ = ค่าเฉลี่ย 9 คาบ ของเส้น MACD (ไม่ใช่ของราคา) · ตรงนี้แหละที่โปรแกรมแต่ละตัวไม่ตรงกัน อ่านหัวข้อถัดไป
  • ฮิสโตแกรม = แท่งที่วาดอยู่รอบเส้นศูนย์ · ตรงนี้ก็ไม่ตรงกันอีกเช่นกัน ในตำราคือ (เส้น MACD − เส้นสัญญาณ) แต่ใน MetaTrader แท่งพวกนั้นคือตัวเส้น MACD เอง

สังเกตว่า MACD ไม่มีอะไรใหม่เลยนอกจาก เส้นค่าเฉลี่ยเคลื่อนที่ สามชั้นซ้อนกัน — ซึ่งแปลว่าความช้าของมันก็เป็นความช้าของค่าเฉลี่ยตามปกติ ไม่มีเวทมนตร์อะไรมาหักล้าง


🔑 หลักฐานจากซอร์สโค้ด: MetaTrader ใช้ SMA ทำเส้นสัญญาณ ไม่ใช่ EMA

MetaQuotes แจกซอร์สโค้ดอ้างอิงของอินดิเคเตอร์มาตรฐานมาพร้อมกับ MT5 อยู่แล้ว ไฟล์อยู่ที่ MQL5/Indicators/Examples/MACD.mq5 เปิดดูได้จากเครื่องตัวเอง ไม่ต้องเชื่อใคร บรรทัดที่สำคัญมีสี่บรรทัด

บรรทัดโค้ดจริงในไฟล์แปลว่า
23input int InpFastEMA=12;เส้นเร็ว = EMA 12 ✔ ตรงกับตำรา
24input int InpSlowEMA=26;เส้นช้า = EMA 26 ✔ ตรงกับตำรา
25input int InpSignalSMA=9;ชื่อตัวแปรเขียนว่า SMA ตรง ๆ — ไม่ใช่ EMA
119SimpleMAOnBuffer(...)เรียกฟังก์ชันค่าเฉลี่ยแบบ Simple ทั้งที่ในไฟล์เดียวกันมี ExponentialMAOnBuffer ให้ใช้อยู่แล้ว

และในส่วนหัวของไฟล์เดียวกัน บรรทัด indicator_type1 DRAW_HISTOGRAM คู่กับ indicator_label1 "MACD" ยืนยันข้อที่สอง: แท่งฮิสโตแกรมที่คุณเห็นใน MetaTrader คือเส้น MACD ที่วาดเป็นแท่ง ไม่ใช่ผลต่างระหว่าง MACD กับเส้นสัญญาณอย่างที่ตำรานิยามไว้

นี่คือคำตอบของคำค้นที่คนไทยพิมพ์กันเยอะมากอย่าง “ตั้งค่า macd 2 เส้น mt5” — ที่ต้องไปหาอินดิเคเตอร์ “MACD 2 เส้น” มาลงเพิ่ม ก็เพราะตัวที่ติดมากับโปรแกรมมันวาดมาเป็น แท่ง + เส้น ไม่ใช่ เส้น + เส้น อย่างที่เห็นในคลิปสอนจากต่างประเทศซึ่งส่วนใหญ่ใช้ TradingView · ไม่ได้แปลว่าอันไหนพัง มันคนละสูตรกันตั้งแต่ต้น

รูปแบบนี้ตกทอดมาตั้งแต่ MT4 ซึ่งเป็นเหตุผลที่ห้องเทรดไทยมีอินดิเคเตอร์ชื่อทำนอง “MACD 2 line” แจกกันมานานหลายปี ถ้าคุณเคยงงว่าทำไม MACD ในเครื่องตัวเองหน้าตาไม่เหมือนในคลิป — นี่คือคำตอบ และมันไม่ใช่ความผิดของคุณ


วัดจริง: ความต่างนี้ทำให้สัญญาณเพี้ยนไปเท่าไหร่

รู้ว่าสูตรต่างกันแล้ว คำถามถัดมาคือ “แล้วมันต่างกันจนมีผลไหม” — เราคำนวณ MACD(12,26,9) ทั้งสองแบบบนข้อมูลชุดเดียวกัน แล้วนับจุดที่เส้น MACD ตัดเส้นสัญญาณ

วิธีวัด (ทำซ้ำได้) — ดึงแท่งราคา D1 จากเทอร์มินัล MetaTrader 5 ของโบรกเกอร์จริง คำนวณ EMA12 − EMA26 จากราคาปิด แล้วทำเส้นสัญญาณ 9 คาบสองเวอร์ชัน (SMA แบบ MetaTrader · EMA แบบตำรา) นับจุดตัดของแต่ละเวอร์ชัน แล้วจับคู่จุดตัดที่ใกล้กันที่สุดเพื่อดูว่าห่างกันกี่แท่งและราคาต่างกันเท่าไหร่ · EURUSD 448 แท่ง 18 มี.ค. 2025 → 21 ส.ค. 2026 · ทองคำ XAUUSD 600 แท่ง 19 ก.ย. 2024 → 21 ส.ค. 2026
สิ่งที่วัดEURUSD (D1)ทองคำ XAUUSD (D1)
จุดตัด · เส้นสัญญาณแบบ MetaTrader (SMA 9)35 ครั้ง = 24.5/ปี50 ครั้ง = 26.0/ปี
จุดตัด · เส้นสัญญาณแบบตำรา (EMA 9)37 ครั้ง = 25.9/ปี44 ครั้ง = 22.9/ปี
ตัดกันตรงแท่งเดียวกันทั้งสองเวอร์ชัน19 จาก 35 = 54%27 จาก 50 = 54%
จุดตัดที่โผล่เฉพาะเวอร์ชัน MetaTrader16 จุด23 จุด
จุดตัดที่โผล่เฉพาะเวอร์ชันตำรา18 จุด17 จุด
ตอนที่ไม่ตรงกัน ห่างกันเฉลี่ย1.8 แท่ง (สูงสุด 7)3.3 แท่ง (สูงสุด 16)
ตอนที่ไม่ตรงกัน ราคาต่างกัน (มัธยฐาน)30.6 pip$38.56 ต่อออนซ์
ราคาต่างกันสูงสุดที่เจอ86.5 pip$140.33 ต่อออนซ์
สัญญาณ MACD ที่ตรงวันกันระหว่างสองเวอร์ชัน มีแค่ 54% — และตัวเลขนี้ออกมา เท่ากันเป๊ะทั้งสองตลาด ที่วัด

ให้เทียบกับสิ่งที่คนถกเถียงกันบ่อยกว่า: ค่าสเปรดของ EURUSD ในบัญชีที่วัดคือ 0.8 pip ส่วนทองคำคือ $0.16 ต่อออนซ์ แปลว่าความต่างที่เกิดจาก “ใช้ MACD คนละเวอร์ชัน” ใหญ่กว่าค่าสเปรดราว 38 เท่าบน EURUSD และราว 240 เท่าบนทองคำ — ในขณะที่คนส่วนใหญ่เลือกโบรกเกอร์เพราะสเปรดต่างกัน 0.2 pip แต่ไม่เคยรู้เลยว่าอินดิเคเตอร์ที่ใช้อยู่เป็นคนละสูตรกับที่เรียนมา

!
สิ่งที่ตัวเลขชุดนี้ไม่ได้บอก — ไม่ได้บอกว่าเวอร์ชันไหนดีกว่า ทั้งสองเวอร์ชันให้จุดตัดใกล้เคียงกันในเชิงจำนวน (23–26 ครั้ง/ปี) ต่างกันแค่ว่าตัดตรงไหน · และกลุ่มตัวอย่างคือ 1.4–1.9 ปี บนสองตลาด ซึ่งเล็ก — ตัวเลข “54%” จะขยับได้ถ้าเปลี่ยนช่วงเวลา สิ่งที่ยืนยันได้แน่คือสองเวอร์ชันนี้ไม่ใช่ของอย่างเดียวกัน ซึ่งพิสูจน์จากซอร์สโค้ดไปแล้วก่อนจะวัดด้วยซ้ำ

แล้ว “ตั้งค่าเท่าไหร่ดี” — คำตอบที่ตรงไปตรงมา

เลข 12, 26, 9 มาจากยุคที่ตลาดหุ้นอเมริกาเปิดสัปดาห์ละ 6 วัน — 26 คือประมาณหนึ่งเดือนทำการ 12 คือครึ่งหนึ่ง 9 คือสองสัปดาห์ มันไม่ใช่เลขที่ผ่านการพิสูจน์ว่าดีที่สุด มันคือเลขที่ติดมาแล้วไม่มีใครเปลี่ยน

สิ่งที่เกิดขึ้นจริงเมื่อคุณเปลี่ยนเลขคือความเร็ว ไม่ใช่ความแม่น และความเร็วมีราคาของมัน

ถ้าคุณ…สิ่งที่เกิดขึ้นราคาที่ต้องจ่าย
ลดเลขลง (เช่น 6,13,5 “เทรดสั้น”)เส้นตอบสนองไวขึ้น จุดตัดถี่ขึ้นจำนวนไม้เพิ่ม → ค่าสเปรดต่อปีเพิ่มตามสัดส่วนตรง ๆ
เพิ่มเลขขึ้น (เช่น 24,52,18)เส้นนิ่งขึ้น จุดตัดน้อยลงเข้าช้าลง และจำนวนสัญญาณต่อปีน้อยจนประเมินไม่ได้ว่าระบบดีจริงไหมในเวลาไม่กี่ปี
ใช้ 12,26,9 ตามค่ามาตรฐาน~23–26 จุดตัด/ปี บน D1 (วัดได้ข้างบน)EURUSD ~$200/ปี ต่อ 1 ล็อต · ทองคำ ~$416/ปี ต่อ 1 ล็อต
เปลี่ยนไทม์เฟรมแทนการเปลี่ยนเลขได้ผลเหมือนเปลี่ยนเลข แต่ควบคุมง่ายกว่าเพราะรู้ว่าหนึ่งแท่งคือเวลาเท่าไหร่
ข้อแนะนำที่ให้ได้อย่างมั่นใจมีข้อเดียว — ไม่ว่าจะตั้งเลขอะไร ให้ตั้งเหมือนกันทุกที่ที่คุณดู ถ้าคุณย้อนทดสอบบน TradingView แล้วเทรดจริงบน MT5 คุณกำลังใช้อินดิเคเตอร์คนละตัว และผลย้อนหลังที่เห็นก็ไม่ตรงกับสิ่งที่จะเกิดขึ้นจริงราวครึ่งหนึ่งของสัญญาณ

ไดเวอร์เจนซ์ของ MACD — และข้อจำกัดที่ต้องรู้

การใช้งานที่คนพูดถึงบ่อยรองจากจุดตัด คือ “ราคาทำจุดสูงใหม่แต่ MACD ไม่ทำตาม” หรือที่เรียกว่าไดเวอร์เจนซ์ — แนวคิดนี้ใช้ได้จริงและมีบทความแยกไว้แล้วที่ Divergence และ Convergence คืออะไร

แต่มีข้อจำกัดสองข้อที่ต้องพูดพร้อมกันเสมอ

  • ไดเวอร์เจนซ์ยืนยันได้หลังจากยอดที่สองก่อตัวเสร็จแล้วเท่านั้น — ระหว่างที่ราคายังวิ่งอยู่ คุณยังไม่รู้ว่ายอดนั้นคือยอดจริงหรือแค่พักกลางทาง สิ่งที่เห็นบนกราฟย้อนหลังจึงชัดกว่าสิ่งที่เห็นตอนเทรดเสมอ
  • ไดเวอร์เจนซ์เกิดได้ยาวมากในเทรนด์ที่แข็ง — ราคาทำจุดสูงใหม่ต่อกันสิบครั้งโดยที่ MACD อ่อนแรงลงเรื่อย ๆ เป็นเรื่องปกติ การสวนทุกครั้งที่เห็นไดเวอร์เจนซ์คือการสวนเทรนด์ ซึ่งเป็นคนละเรื่องกับที่โพสต์ส่วนใหญ่บอกไว้

ถ้าจะใช้ไดเวอร์เจนซ์ ให้ใช้คู่กับกฎที่เขียนไว้ก่อนว่าจะยอมผิดถึงตรงไหน ไม่ใช่ใช้เป็นเหตุผลให้เข้าไม้ — วิธีเขียนกฎแบบนั้นอยู่ที่ การสร้างระบบเทรดของตัวเอง


สิ่งที่ MACD ทำไม่ได้

  • ไม่ได้บอกว่าเทรนด์แรงแค่ไหนในเชิงสัมบูรณ์ — ค่าของ MACD เป็นหน่วยราคา ทองคำที่ $4,600 กับ EURUSD ที่ 1.16 ให้ตัวเลข MACD คนละสเกลกันคนละโลก เทียบข้ามสินค้าไม่ได้
  • ไม่ได้เป็นตัวชี้วัดอิสระจากราคา — มันคือราคาที่ผ่านการเฉลี่ยสองชั้น ถ้าราคาไม่ขยับ MACD ก็ไม่มีข้อมูลใหม่ให้บอก
  • ไม่ได้บอกขนาดไม้หรือจุดตัดขาดทุน — ซึ่งเป็นสองตัวแปรที่มีผลต่อพอร์ตมากกว่าการเลือกเลข 12/26/9 · คำนวณขนาดล็อตให้ทุกไม้เสี่ยงเท่ากัน

ถ้าอยากเห็นตัวอย่างของสัญญาณที่ระบุจุดเข้า จุดตัดขาดทุน และเป้าหมายไว้ครบตั้งแต่ก่อนเปิดออเดอร์ — คือข้อมูลชุดที่เอาไปวัดย้อนหลังได้จริง ไม่ใช่แค่ลูกศรบนกราฟ — ดูวิธีที่ AlphaSignals บันทึกไว้ แล้วเอาโครงเดียวกันไปใช้กับระบบของตัวเองได้


สรุป — 4 ข้อที่ยืนยันได้ และ 1 ข้อที่ยืนยันไม่ได้

  • MACD ใน MetaTrader ใช้ SMA ทำเส้นสัญญาณ ไม่ใช่ EMA — ยืนยันจากซอร์สโค้ดอ้างอิงของ MetaQuotes เอง (MACD.mq5 บรรทัด 25 และ 119)
  • แท่งฮิสโตแกรมใน MetaTrader คือเส้น MACD ไม่ใช่ผลต่าง MACD กับเส้นสัญญาณ — ยืนยันจาก DRAW_HISTOGRAM คู่กับ label ชื่อ "MACD" ในไฟล์เดียวกัน
  • สองเวอร์ชันให้สัญญาณตรงวันกันเพียง 54% — วัดบนสองตลาด ได้ตัวเลขเดียวกัน
  • ตอนที่ไม่ตรงกัน ราคาต่างกันมัธยฐาน 30.6 pip (EURUSD) และ $38.56 ต่อออนซ์ (ทองคำ) — ใหญ่กว่าค่าสเปรดของบัญชีเดียวกันหลายสิบถึงหลายร้อยเท่า
!
ข้อที่ยืนยันไม่ได้: หน้านี้ไม่ได้บอกว่าเวอร์ชันไหนทำเงินได้ดีกว่า ไม่ได้บอกว่าเลขตั้งค่าชุดไหนดีที่สุด และไม่มีอัตราชนะอยู่ในหน้านี้เลย — สิ่งที่วัดคือจำนวนและตำแหน่งของสัญญาณ ซึ่งตอบเรื่องกำไรไม่ได้ ใครก็ตามที่บอกว่ารู้ค่าที่ดีที่สุดของ MACD ควรถูกขอให้แสดงข้อมูลก่อนเสมอ

อ่านต่อในเรื่องที่ใช้คู่กันโดยตรง: Moving Average ตั้งค่าเท่าไหร่ดี (ฉบับวัดจริง) · Overbought / Oversold คืออะไร · ค่า spread คิดเป็นเงินจริงเท่าไร · สารบัญคู่มือ Forex ทั้งหมดของบล็อกนี้

บทความนี้จัดทำเพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน ตัวเลขที่ระบุว่า “วัดจริง” มาจากแท่งราคา D1 บนเทอร์มินัล MetaTrader 5 ของโบรกเกอร์รายหนึ่งในช่วงเวลาที่ระบุไว้ในบทความ ส่วนบรรทัดโค้ดที่อ้างถึงมาจากไฟล์ตัวอย่างที่ติดมากับ MetaTrader 5 ซึ่งเปิดดูได้จากเครื่องของคุณเอง เลขบรรทัดอาจขยับได้ตามเวอร์ชันที่ติดตั้ง

ความคิดเห็น

Related stories