หมวดหมู่
เทคนิค
ระดับความยาก
เริ่มต้น
ใช้ใน
การออกแบบกลยุทธ์การใช้งาน MT5

Exponential Moving Average

เส้นค่าเฉลี่ยเคลื่อนที่ที่ถ่วงน้ำหนักราคาล่าสุดมากกว่าราคาเก่า จึงกลับตัวเร็วกว่าค่าเฉลี่ยแบบธรรมดา ตัวกรองเทรนด์และจุดเข้าแบบตัดกันของอีเอถูกสร้างบนมันบ่อยกว่าอินดิเคเตอร์ตัวใดก็ตาม

หรือ: EMA, ค่าเฉลี่ยแบบเอ็กซ์โพเนนเชียล

อัปเดต · ตรวจทาน

อธิบายแบบเข้าใจง่าย

ค่าเฉลี่ยของราคาล่าสุดที่ให้ความสนใจกับสิ่งที่เพิ่งเกิดขึ้นมากกว่าสิ่งที่เกิดเมื่อสักครู่ มันกลับตัวเร็วกว่าค่าเฉลี่ยธรรมดา จึงมีประโยชน์กว่าเมื่ออยู่ในเทรนด์ และพูดมากกว่าเมื่ออยู่ในกรอบแคบ

ทำไมจึงสำคัญ

EMA คือชิ้นส่วนตั้งต้นของตรรกะเทรนด์ในอีเอ มันให้ทิศทางที่อินดิเคเตอร์อย่าง ADX จงใจไม่ให้ และในเวลาเดียวกันก็เป็นองค์ประกอบที่ถูกใช้เกินตัวและถูกออปติไมซ์เกินพอดีมากที่สุดในอีเอของรายย่อย เพราะกฎการตัดกันเขียนง่าย และคาบทั้งสองของมันก็ปรับได้ง่ายจนประวัติใด ๆ ก็ดูมีกำไร

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

ใน MetaTrader 5

อยู่ตรงไหนใน MT5

  • Insert → Indicators → Trend → Moving Average แล้วตั้ง Method เป็น Exponential
  • หน้าต่างคุณสมบัติของ MA ยังกำหนด applied price ด้วย โดย Close เป็นตัวเลือกปกติและเปลี่ยนค่าอย่างเห็นได้ชัด
  • กราฟวาดมันในหน้าต่างหลักบนสเกลราคา ต่างจาก ATR หรือ ADX
  • Strategy Tester → Inputs — คาบเร็วและคาบช้าคืออินพุตสองตัวที่มีโอกาสถูกออปติไมซ์เกินพอดีมากที่สุด

EA ใช้อย่างไร

  • สร้าง handle ใน OnInit — iMA(_Symbol, PERIOD_CURRENT, 21, 0, MODE_EMA, PRICE_CLOSE) — คาบละหนึ่งตัว และเก็บไว้ตลอดอายุของอีเอ
  • ใช้เป็นตัวกรองทิศทาง เปิดซื้อเฉพาะตอนที่ราคาหรือ EMA เส้นเร็วอยู่เหนือเส้นช้า และเปิดขายเฉพาะตอนที่อยู่ใต้
  • ใช้เป็นจุดเข้าแบบตัดกัน คือ EMA เส้นเร็วตัดเส้นช้าบนแท่งที่ปิดแล้ว ซึ่งต้องอ่านทั้งแท่ง 1 และแท่ง 2 เพื่อจับการตัดกันแทนที่จะจับสถานะ
  • ใช้เป็นจุดอ้างอิงของการเลื่อนสต็อป ออกเมื่อราคาปิดอีกฝั่งของ EMA ที่เลือกไว้ เป็นกฎเลื่อนสต็อปที่ปรับตามจังหวะของเทรนด์เอง
  • EMA ของไทม์เฟรมใหญ่กว่าอ่านด้วยการเรียกแบบเดียวกันโดยเปลี่ยนอาร์กิวเมนต์คาบ นี่คือวิธีที่อีเอบน M15 รับทิศทางจาก H4

ค่าตั้งทั่วไป

ค่าตั้ง ค่าที่ใช้ทั่วไป หมายเหตุ
คู่เร็ว/ช้า ระยะสั้น 8 / 21 ตอบสนองไว ให้การตัดกันจำนวนมาก และส่วนใหญ่ไม่ใช่เทรนด์
คู่เร็ว/ช้า ระยะกลาง 50 / 200 คู่ที่คนจับตากันมาก สัญญาณน้อย และที่ให้มาก็มาช้า
ตัวกรองเทรนด์เดี่ยว EMA 200 บนไทม์เฟรมที่เข้าออเดอร์ ใช้เป็นประตูกั้นทิศทาง ไม่ใช่เป็นจุดเข้า
Applied price Close เป็นค่าปกติและนิ่ง ส่วนราคามัธยฐานหรือราคาทั่วไปจะเรียบขึ้นอีกและเปลี่ยนผลแบ็กเทสต์ทุกครั้ง
แท่งสัญญาณ แท่งล่าสุดที่ปิดแล้ว การอ่านแท่งที่กำลังก่อตัวจะให้การตัดกันที่โผล่มาแล้วหายไปกลางแท่ง

ปัญหาการใช้งานที่พบบ่อย

  • ตรวจสถานะ (เส้นเร็วอยู่เหนือเส้นช้า) แทนที่จะตรวจเหตุการณ์ (เส้นเร็วเพิ่งตัดเส้นช้า) ทำให้เข้าออเดอร์ใหม่ทุกแท่งตลอดที่เทรนด์ยังอยู่
  • อ่านดัชนี 0 ทำให้การตัดกันกะพริบตามทุกทิก และได้ผลแบ็กเทสต์ที่การเทรดจริงทำซ้ำไม่ได้
  • handle ที่สร้างใน OnTick จะรั่วไปเรื่อยจนกระทั่ง iMA คืนค่า INVALID_HANDLE
  • เรียก CopyBuffer ตอนเริ่มก่อนที่คาบช้าจะมีประวัติพอ จะได้ค่าศูนย์ที่ถูกนำไปเปรียบเทียบราวกับเป็นการตัดกัน
  • ออปติไมซ์ทั้งสองคาบบนหน้าต่างเดียวแล้วส่งยอดที่สูงที่สุดออกไป เป็นวิธีที่พบบ่อยที่สุดที่อีเอดูยอดเยี่ยมตอนทดสอบแล้วพังทันทีหลังจากนั้น

ฟังก์ชัน MT5 ที่เกี่ยวข้อง

iMA(symbol, timeframe, period, shift, MODE_EMA, applied_price)
สร้าง handle และ MODE_EMA คือสิ่งที่ทำให้มันเป็นแบบเอ็กซ์โพเนนเชียลแทนที่จะเป็นแบบธรรมดา
CopyBuffer(handle, 0, start, count, array)
อ่านค่าเฉลี่ยออกจากบัฟเฟอร์เดียวที่มันมี
ArraySetAsSeries(array, true)
ทำให้ดัชนี 0 เป็นแท่งปัจจุบัน ซึ่งเป็นธรรมเนียมที่โค้ดตรวจการตัดกันส่วนใหญ่ตั้งสมมติไว้
iTime(symbol, timeframe, 0)
ใช้เพื่อทำงานครั้งเดียวต่อแท่งแทนที่จะเป็นครั้งเดียวต่อทิก

ตัวอย่าง

ความต่างระหว่างการอ่านสถานะกับการอ่านเหตุการณ์ ซึ่งเป็นบั๊กเกี่ยวกับ EMA ที่พบบ่อยที่สุดในโค้ดอีเอ

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

ทั้งสองเวอร์ชันดูมีกำไรในเทรนด์ที่แข็งแรงระหว่างการทดสอบ แต่มีเพียงเวอร์ชันเดียวที่เป็นกลยุทธ์ที่ตั้งใจไว้

การคำนวณ if (fast[2] <= slow[2] && fast[1] > slow[1]) → ตัดขึ้น

ผลลัพธ์ หนึ่งจุดเข้าต่อการตัดกันหนึ่งครั้ง แทนที่จะเป็นหนึ่งจุดเข้าต่อแท่ง

ใช้อย่างไร

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

ช่วงค่า ความหมาย
ผลลัพธ์พังเมื่อขยับคาบไป 10% ถูกดัดให้เข้ากับหน้าต่างทดสอบ ค่าที่แข็งแรงจะมีเพื่อนบ้านที่ใช้ได้ด้วย
คู่คาบในช่วงกว้างให้ผลใกล้เคียงกัน ผลน่าจะมาจากโครงสร้างมากกว่าการดัด ซึ่งก็คือความหมายของที่ราบสูงบนพื้นผิวการออปติไมซ์
ใช้การตัดกันโดยไม่มีตัวกรองสภาวะตลาด สัญญาณยิงในกรอบแคบด้วย และที่นั่นมันแพ้เป็นส่วนใหญ่ นี่คือสิ่งที่ ADX หรือตัวกรองความผันผวนมักถูกเพิ่มเข้ามาแก้
อ่านบนแท่งที่กำลังก่อตัว ทำซ้ำไม่ได้ ตลาดเดียวกันให้จุดเข้าต่างกันขึ้นกับจังหวะที่ทิกเข้ามา
  • เวลาเลือกคาบ ให้เลือกที่ราบสูงแทนยอดแหลม ผลลัพธ์เดี่ยวที่ดีที่สุดของแบ็กเทสต์คือผลที่มีโอกาสเกิดซ้ำน้อยที่สุด
  • จับคู่การตัดกันเข้ากับตัวกรองสภาวะตลาด กฎเทรนด์ที่ไม่มีตัวกรองจะเข้าไม้ที่แย่ที่สุดในสภาวะที่มันอ่อนแอที่สุดพอดี
  • ตรวจจับการตัดกันด้วยสองแท่ง อย่าใช้การเปรียบเทียบครั้งเดียว และลงมือเฉพาะบนแท่งที่ปิดแล้วเท่านั้น
  • จำไว้ว่าค่าเฉลี่ยเคลื่อนที่ตามราคา มันนำไม่ได้ กลยุทธ์ที่สร้างบนมันจึงเป็นกลยุทธ์เข้าร่วม ไม่ใช่กลยุทธ์ทำนาย

หน้า `/indicators` ของค่าเฉลี่ยเคลื่อนที่ครอบคลุมวิธีคำนวณและการเทียบกับ SMA ส่วนรายการนี้ว่าด้วยการต่อสาย EMA เข้ากับตรรกะของอีเอ

ความเข้าใจผิดที่พบบ่อย

สับสนระหว่างสถานะกับเหตุการณ์

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

ออปติไมซ์ทั้งสองคาบแล้วส่งคู่ที่ดีที่สุดออกไป

พารามิเตอร์อิสระสองตัวบนพื้นผิวที่เรียบจะสร้างแบ็กเทสต์ที่น่าประทับใจได้เสมอ สิ่งที่มีค่าคือคู่ข้างเคียงมีพฤติกรรมใกล้เคียงกันหรือไม่ นั่นคือเส้นแบ่งระหว่างผลจริงกับการดัดให้เข้ารูป

ใช้การตัดกันโดยไม่กรองสภาวะตลาด

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

คิดว่า EMA ดีกว่า SMA เสมอ

มันตอบสนองเร็วกว่า ซึ่งคมทั้งสองด้าน เข้าเร็วกว่าในเทรนด์จริง และสัญญาณหลอกมากกว่าในสัญญาณรบกวน อันไหนดีกว่าขึ้นกับกลยุทธ์ และความต่างนี้เล็กกว่าความต่างจากการเลือกคาบ

รายละเอียดเพิ่มเติม

อีเอที่เผยแพร่ไว้ใช้อะไรกำหนดทิศทางแทน

ที่นี่มีอีเอสิบสี่ตัวเผยแพร่พร้อมบันทึกการปิดออเดอร์ทั้งหมด และไม่มีสักตัวที่รับทิศทางมาจากเส้นค่าเฉลี่ยเคลื่อนที่แบบเอ็กซ์โพเนนเชียล

กลไกกำหนดทิศทางจำนวนอีเอคืออะไร
การตัดกันของ Tenkan/Kijun ในอิชิโมกุ5Kestrel Hover, Orrery, Peregrine, Tessera, Zerqon
ค่าเฉลี่ยเคลื่อนที่แบบธรรมดาเรียงซ้อน1Lanternfish — SMA 25/50/75 บน M30 เข้าไม้บน M5
เส้นค่าเฉลี่ยเคลื่อนที่แบบเอ็กซ์โพเนนเชียล0
อย่างอื่นที่ไม่ใช่การตัดกัน8จุดสุดขั้วของ RSI, การเฟดที่ขอบเอนเวโลป, รูปแบบแท่งเทียน

ห้าตัวนั้นเก็บการตัดกันไว้และทิ้งการปรับจูน คาบของ Tenkan และ Kijun มาจากนิยามของอินดิเคเตอร์เอง ไม่ได้มาจากการค้นแบบกริด ทั้งห้าตัวอ่านแท่งที่ ปิดแล้ว และ Orrery กับ Peregrine จะลงมือก็ต่อเมื่อตัวแท่งสัญญาณใหญ่เกินค่าเฉลี่ยล่าสุดเป็นจำนวนเท่า ซึ่งก็คือตัวกรองสภาวะตลาดที่การตัดกันเปล่า ๆ ต้องการ ค่า profit factor ของพวกมันอยู่ระหว่าง 1.27 ถึง 1.46 ซึ่งเป็นย่านเดียวกับที่เหลือของแคตตาล็อก

แท็บ Inputs ของ Strategy Tester รับค่า Start, Step และ Stop สำหรับแต่ละคาบ ให้อ่านชุดผลลัพธ์ทั้งหมด ไม่ใช่แค่บรรทัดบนสุด ที่ราบสูงของคู่ที่อยู่ข้างเคียงกันคือผลจริง ส่วนยอดแหลมโดด ๆ คือการดัดให้เข้ารูป นั่นคือ โอเวอร์ฟิต ในรูปแบบที่ใช้งานจริง และเป็นเหตุผลที่ตัวกรองอย่าง ADX ควรมาก่อนการไปปรับคาบเพิ่มอีกตัว

คำถามที่พบบ่อย

อีเอบน MT5 ใช้คาบ EMA เท่าไร
คู่ 8/21 สำหรับระบบระยะสั้น และ 50/200 สำหรับจับเทรนด์ระยะกลาง เป็นค่าที่พบบ่อยที่สุด ส่วน EMA 200 เดี่ยว ๆ มักถูกใช้เป็นเพียงประตูกั้นทิศทาง ตัวเลขที่เจาะจงสำคัญน้อยกว่าคำถามว่ากลยุทธ์ยังทำงานได้ไหมเมื่อขยับมัน ผลลัพธ์ที่ขึ้นกับคู่ใดคู่หนึ่งเป๊ะ ๆ คือผลที่ถูกดัดให้เข้ากับหน้าต่างทดสอบ
สำหรับอีเอแล้ว EMA ดีกว่า SMA ไหม
EMA ตอบสนองเร็วกว่า จึงเข้าไม้เร็วกว่าในเทรนด์จริงและมีสัญญาณหลอกมากกว่าในสัญญาณรบกวน ไม่มีตัวไหนดีกว่าโดยทั่วไป และความต่างระหว่างสองตัวนี้มักเล็กกว่าความต่างระหว่างการเลือกคาบสองแบบภายในตัวเดียวกัน
ทำไมอีเอที่ใช้การตัดกันของ EMA ของผมถึงเปิดโพซิชันเยอะมาก
เกือบทุกครั้งเป็นเพราะโค้ดตรวจว่า EMA เส้นเร็วอยู่เหนือเส้นช้าหรือไม่ แทนที่จะตรวจว่ามันเพิ่งตัดหรือเปล่า เงื่อนไขแรกเป็นจริงตลอดทั้งเทรนด์และยิงทุกแท่ง ส่วนการจับการตัดกันต้องเทียบกับแท่งก่อนหน้าด้วย
EMA ทำนายการกลับตัวของเทรนด์ได้ไหม
ไม่ได้ มันคือค่าเฉลี่ยของราคาที่เกิดขึ้นไปแล้ว จึงตามหลังโดยจำเป็น การตัดกันยืนยันว่าความเปลี่ยนแปลงได้เกิดขึ้นแล้ว ไม่ใช่ว่ากำลังจะเกิด และความล่าช้านั้นคือราคาที่จ่ายให้กับการทำให้เรียบ

บทความที่เกี่ยวข้อง