อินดิเคเตอร์ของคุณ repaint หรือเปล่า? วิธีตรวจสอบ

ตรวจสอบล่าสุด: · เนื้อหาระยะยาวที่ยังคงทันสมัย
คำเตือนความเสี่ยง · YMYL บทความนี้จัดทำขึ้นเพื่อการศึกษาเท่านั้น และไม่ถือเป็นคำแนะนำการลงทุน การซื้อขายในตลาด Forex มีความเสี่ยงสูงที่อาจสูญเสียเงินทุน — ESMA รายงานว่าบัญชีรายย่อย 74–89% ขาดทุน

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

repaint คืออะไรกันแน่

repaint คือปรากฏการณ์ที่อินดิเคเตอร์เปลี่ยนค่าหรือสัญญาณก่อนหน้าของตัวเองเมื่อมีแท่งเทียนใหม่ปรากฏบนชาร์ต ลูกศรซื้อที่คุณเห็นเมื่อสองแท่งที่แล้วที่ระดับ 1.0850 อยู่ดีๆ ก็ย้ายลงมาห้า pip หลังจากแท่งถัดไปปิด — หรือหายไปเลยราวกับไม่เคยมีอยู่ เส้นอินดิเคเตอร์ที่เมื่อวานบ่งชี้การ breakout วันนี้ถูกวาดใหม่ราวกับว่าไม่เคยมี breakout ที่จุดนั้น

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

repaint มาจากไหน

repaint มีสามแหล่งที่มา และควรแยกแยะให้ได้เพราะไม่ใช่ทุกกรณีที่ไม่ซื่อสัตย์ แหล่งแรกคืออินดิเคเตอร์ที่คำนวณซ้ำตามธรรมชาติ ZigZag เป็นตัวอย่างที่ชัดเจน — มันวาดเส้นระหว่างจุดสูงและจุดต่ำที่ต่อเนื่องกัน แต่ตามนิยามมันไม่รู้ว่าจุดใดเป็นจุดต่ำจริงๆ จนกว่าตลาดจะกลับทิศตามเปอร์เซ็นต์ที่กำหนด ดังนั้นขาสุดท้ายจะสมบูรณ์ก็ต่อเมื่อการเคลื่อนไหวได้รับการยืนยัน — และก่อนจุดนั้นมันยังล่องลอยได้ เช่นเดียวกับจุด Parabolic SAR ที่คำนวณบนแท่งเทียนปัจจุบัน การวิเคราะห์ทางเทคนิคเหล่านี้เป็นพื้นฐานสำคัญสำหรับการวิเคราะห์ทางเทคนิคทุกรูปแบบ

แหล่งที่สองคือข้อผิดพลาดที่เรียกว่า look-ahead bias — อินดิเคเตอร์ใช้ข้อมูลที่ยังไม่มีอยู่ ณ ขณะนั้น บางครั้งเกิดจากการเลื่อนชุดข้อมูลไปทางขวา บางครั้งเป็นการเข้าถึงราคาปิดของแท่งที่ยังก่อตัวอยู่อย่างตั้งใจ แหล่งที่สามคือลูกศร "มหัศจรรย์" แบบเสียเงิน ที่โฆษณาว่า "non-repaint" แต่ในความเป็นจริงคำนวณใหม่ทุกครั้งที่มีแท่งใหม่มา นี่คือกลโกงทางการตลาดแบบคลาสสิกของผู้ขายระบบ — ชาร์ตสมบูรณ์แบบในโฆษณามาจาก repaint ที่ผู้ซื้อไม่เคยได้รับแจ้ง

เมื่อไหร่ที่ repaint ซื่อสัตย์ และเมื่อไหร่คือกลโกง

เส้นแบ่งไม่ได้อยู่ระหว่าง "อินดิเคเตอร์ repaint" กับ "ไม่ repaint" แต่อยู่ระหว่างความซื่อสัตย์กับการปกปิด ZigZag repaint และใช้งานได้ดีเยี่ยม ตราบเท่าที่คุณใช้มันในสิ่งที่มันถูกสร้างมาทำ — จัดระเบียบโครงสร้างตลาดหลังจากเหตุการณ์เกิดขึ้น วัดคลื่น หรือวาง retracement บนการเคลื่อนไหวที่ปิดไปแล้ว ปัญหาเกิดขึ้นเฉพาะเมื่อมีคนนำเครื่องมือที่คำนวณซ้ำตามธรรมชาติมาสร้างสัญญาณเข้าออเดอร์แบบ real-time โดยแกล้งทำเป็นว่าขาสุดท้ายนั้นแน่นอน

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

"การ overfitting กลยุทธ์กับข้อมูลประวัติศาสตร์นำไปสู่ข้อสรุปที่ผิดพลาด — ระบบที่ดูยอดเยี่ยมในอดีตล้มเหลวในการเทรดจริง" — Robert Pardo, The Evaluation and Optimization of Trading Strategies, 2008

ตัวอย่างเพื่อความเข้าใจ — ลูกศรมหัศจรรย์

สมมติว่านิรันดร์ทดสอบอินดิเคเตอร์แบบลูกศรที่โฆษณาว่า "non-repaint ความแม่นยำ 90%" บนชาร์ตสามเดือนที่ผ่านมาเขานับสัญญาณด้วยมือและได้เก้าครั้งถูกจากสิบจริงๆ — ลูกศรวางตัวสมบูรณ์แบบบนจุดต่ำและจุดสูง เขาจึงเปิดบัญชีทดลอง (demo account) และสังเกตเครื่องมือแท่งต่อแท่งนานสองสัปดาห์ คราวนี้ภาพต่างออกไป ลูกศรบางส่วนปรากฏล่าช้าหลังการ breakout และประมาณหนึ่งในสี่หายไปหลังแท่งที่มันเกิดขึ้นปิด สัดส่วนสัญญาณที่ใช้งานได้จริงลดลงเหลือประมาณครึ่งหนึ่ง

นั่นคือความต่างทั้งหมดระหว่าง backtest แบบมองผ่านๆ กับ forward-test บนข้อมูลที่เดินหน้า ชาร์ตประวัติศาสตร์แสดงเวอร์ชันหลังจากเหตุการณ์ — เวอร์ชันที่ตกผลึกหลังรู้แล้วว่าราคาไปทางไหน บัญชีทดลองแสดงเวอร์ชันที่นิรันดร์มีอยู่จริงหน้าต่อหน้าในขณะตัดสินใจ ตัวเลขในตัวอย่างนี้เป็นตัวอย่างสมมติ แต่รูปแบบนี้เกิดขึ้นจริงและซ้ำแล้วซ้ำเล่ากับนักเทรดหลายคนที่ส่งเรื่องราวผิดหวังมาให้ผม

วิธีตรวจสอบว่าอินดิเคเตอร์ repaint หรือไม่

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

ในทางปฏิบัติคุณมีสามเครื่องมือ แรกสุดคือ history replay โดยใช้ฟีเจอร์ "bar replay" ใน TradingView หรือ strategy tester ในโหมดภาพใน MetaTrader 5 — คุณเดินผ่านชาร์ตทีละแท่งและดูว่าสัญญาณอยู่นิ่งหรือไม่ ที่สองคือการเปรียบเทียบภาพหน้าจอ บันทึกมุมมองตอนนี้และกลับมาดูส่วนเดิมอีกชั่วโมงต่อมา ที่สาม ซึ่งชี้ขาดที่สุด คือ forward-test บนบัญชีทดลองจริง ซึ่งเป็นส่วนหนึ่งของการฝึกฝนและทดสอบกลยุทธ์ที่ดี ระวังเครื่องมือที่ "เสมอ" จับจุดสูงและจุดต่ำได้แม่นยำ — ในตลาดจริงไม่มีอินดิเคเตอร์ใดที่ซื้อทุกจุดต่ำโดยไม่มีข้อผิดพลาดเลย

ขั้นตอนถัดไป

  1. เปิด history replay กับทุกอินดิเคเตอร์แบบลูกศรบนชาร์ตของคุณ เปิด "bar replay" ใน TradingView หรือ visual tester ใน MetaTrader 5 เดินผ่านห้าสิบแท่งล่าสุดทีละแท่งและจดว่าลูกศรจำนวนเท่าไหร่ที่เคลื่อนที่หรือหายไปหลังจากแท่งของมันปิด การทดสอบนี้ใช้เวลาแค่ประมาณสิบห้านาทีและไม่ต้องซื้ออะไรเพิ่มเลย เป็นวิธีที่เร็วและแม่นยำที่สุดในการแยกแยะเครื่องมือที่ซื่อสัตย์ออกจากที่ปกปิดการ repaint
  2. ทำการทดสอบภาพหน้าจอแบบสด บันทึกภาพหน้าจอของชาร์ตพร้อมอินดิเคเตอร์ตอนนี้พร้อมระบุเวลา แล้วกลับมาดูจุดเดิมหลังจากสองหรือสามแท่งปิดแล้ว ถ้าสัญญาณวางตัวต่างจากภาพแรก คุณมีหลักฐานชัดเจนของ repaint โดยไม่ต้องพึ่งเครื่องมือพิเศษใดๆ
  3. ย้ายทุกอินดิเคเตอร์ที่ "น่าสนใจ" ไปทดสอบบนบัญชีทดลองอย่างน้อยสองสัปดาห์ อ่านสัญญาณเฉพาะหลังแท่งปิดและบันทึกอัตราความแม่นยำจริงลงในสเปรดชีต แทนที่จะเชื่อชาร์ตในอดีต สองสัปดาห์ในสภาพแวดล้อมตลาดจริงจะบอกความจริงที่ backtest ไม่สามารถบอกได้ นี่คือพื้นฐานของการบริหารความเสี่ยงที่มั่นคง
  4. แยกเครื่องมือวิเคราะห์กับเครื่องมือสัญญาณออกจากกันอย่างถาวร ทิ้ง ZigZag และช่องทางการถดถอยไว้สำหรับอธิบายโครงสร้างของการเคลื่อนไหวที่เสร็จสิ้นแล้ว และตัดสินใจเข้าออเดอร์บนอินดิเคเตอร์ที่ผ่านการทดสอบแท่งปิดเท่านั้น เขียนกฎนี้ลงในแผนการเทรดของคุณเพื่อไม่ให้สับสนระหว่างสองการใช้งานนี้ในยามกดดัน
Jarosław Wasiński
เกี่ยวกับผู้เขียน

Jarosław Wasiński

บรรณาธิการบริหาร MyBank.pl · นักวิเคราะห์การเงินและตลาด

นักวิเคราะห์และผู้ปฏิบัติงานอิสระที่มีประสบการณ์กว่า 20 ปีในภาคการเงิน ผู้ก่อตั้งและบรรณาธิการบริหารของ MyBank.pl ที่ดำเนินงานมาตั้งแต่ปี 2004 วิเคราะห์ปัจจัยพื้นฐานตลาดอัตราแลกเปลี่ยนและมหภาคตั้งแต่ปี 2007 เขียนจากมุมมองตลาดโลก การเทรด Forex แบบ leverage มีความเสี่ยงสูง อยู่ภายใต้การกำกับดูแลของ ก.ล.ต. ในประเทศไทย

แหล่งอ้างอิงและบรรณานุกรม

  1. MetaQuotes — MQL5 Reference Custom Indicators · Oficjalna dokumentacja buforów wskaźnika, funkcji OnCalculate i parametru prev_calculated — wyjaśnia, dlaczego wartość już zapisana do bufora może być przeliczona ponownie na bieżącej świecy. www.mql5.com ↗
  2. MetaQuotes — MQL5 Reference Organizing Data Access (Timeseries and Indicators Access) · Dokumentacja dostępu do danych świecowych w MQL5 (CopyRates, Bars) — podstawa rozróżnienia między świecą zamkniętą a wciąż formującą się przy weryfikacji sygnału. www.mql5.com ↗
  3. MQL5 Community Forum Indicator: Repainting to non repainting (MQL5) · Wątek programistów MQL5 omawiający, dlaczego wskaźnik przemalowuje (przesunięcia w prawo, „patrzenie wstecz") i jak przerobić go na wersję ocenianą na zamkniętej świecy. www.mql5.com ↗
  4. CFA Institute Backtesting and Simulation (Refresher Reading) · Materiał programu CFA omawiający błędy w testowaniu strategii, w tym look-ahead bias (korzystanie z danych z przyszłości) i survivorship bias jako źródła zawyżonych wyników historycznych. www.cfainstitute.org ↗

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

อินดิเคเตอร์ที่ repaint ทุกตัวคือการหลอกลวงหรือเปล่า?

ไม่ใช่ repaint บางส่วนมาจากธรรมชาติของเครื่องมือและไม่มีความไม่ซื่อสัตย์แต่อย่างใด ZigZag ตามนิยามไม่รู้ว่าจุดต่ำอยู่ตรงไหนจนกว่าตลาดจะกลับทิศตามปริมาณที่กำหนด ดังนั้นขาสุดท้ายจึงถูกวาดด้วยการหน่วงเวลา Parabolic SAR และช่องทางการถดถอยที่คำนวณบนแท่งปัจจุบันก็เปลี่ยนค่าอยู่ตลอดจนกว่าแท่งนั้นจะปิด สิ่งนี้ซื่อสัตย์ตราบเท่าที่คุณเข้าใจกลไกและไม่ถือว่าสัญญาณที่ยังไม่ได้รับการยืนยันเป็นสัญญาณสุดท้าย ปัญหาเริ่มต้นเฉพาะเมื่อมีคนซ่อน repaint — แสดงชาร์ตประวัติศาสตร์สมบูรณ์แบบและขายมันในฐานะ "non-repaint" ในขณะที่นิ่งเงียบเกี่ยวกับว่าลูกศรนั้นดูเป็นอย่างไรจริงๆ เมื่อเทรดจริง

ตรวจสอบได้ในห้านาทีว่าอินดิเคเตอร์ repaint หรือไม่ได้อย่างไร?

วิธีเร็วที่สุดคือในโหมด history replay ใน TradingView ใช้ฟีเจอร์ "bar replay" ใน MetaTrader 5 ใช้ strategy tester ในโหมดภาพ — แล้วเดินผ่านชาร์ตทีละแท่ง หยุดเมื่อลูกศรปรากฏ จดแท่งและราคา จากนั้นเล่นอีกสองหรือสามแท่ง ถ้าลูกศรอยู่ที่เดิมหลังจากแท่งของมันปิด อินดิเคเตอร์ไม่ repaint ถ้ามันกระโดด หายไป หรือวาดซ้ำย้อนหลังไปยังระดับที่ดีกว่า คุณมี repaint วิธีที่สองคือเปรียบเทียบภาพหน้าจอที่ถ่ายเมื่อชั่วโมงก่อนกับมุมมองปัจจุบันของส่วนชาร์ตเดิม

look-ahead bias คืออะไรและเกี่ยวข้องกับ repaint อย่างไร?

look-ahead bias หมายถึงการใช้ข้อมูลระหว่างการทดสอบที่ ณ เวลานั้นยังไม่มีอยู่ อินดิเคเตอร์ที่ repaint คือแหล่งที่มาทั่วไปของข้อผิดพลาดนี้ เมื่อมันคำนวณประวัติใหม่จะใช้ราคาจากแท่งที่ยังไม่ปรากฏเมื่อเทรดจริง ดังนั้นบนชาร์ตในอดีตมันจึงรู้ว่าจะเกิดอะไรขึ้นต่อไป ผลลัพธ์คือ backtest แสดงผลที่ไม่สามารถทำได้ในการเทรดจริง CFA Institute ระบุ look-ahead bias ควบคู่กับ survivorship bias เป็นเหตุผลหลักที่การจำลองประวัติศาสตร์แสดงผลงานสูงเกินความเป็นจริง นี่คือเหตุที่ชาร์ตสวยงามในอดีตเพียงอย่างเดียวไม่เคยเพียงพอ — สิ่งที่สำคัญคือการทดสอบบนข้อมูลที่เดินหน้า

ยังสามารถใช้ ZigZag ได้อยู่ไหมแม้ว่ามันจะ repaint?

ได้ ตราบเท่าที่คุณใช้มันในสิ่งที่มันถูกสร้างมาทำ ZigZag ยอดเยี่ยมสำหรับการจัดระเบียบโครงสร้างตลาดหลังจากเหตุการณ์ — การทำเครื่องหมายจุดสูงและจุดต่ำที่ต่อเนื่องกัน การวัดคลื่น หรือการวาง Fibonacci retracement บนการเคลื่อนไหวที่ปิดไปแล้ว มันไม่เหมาะสำหรับการสร้างสัญญาณเข้าออเดอร์แบบ real-time เพราะขาสุดท้ายยังสามารถเคลื่อนที่ได้ กฎนั้นง่ายมาก เครื่องมือที่ repaint สามารถใช้วิเคราะห์การเคลื่อนไหวที่เสร็จสิ้นแล้ว แต่ไม่ใช่สำหรับตัดสินใจบนแท่งที่ยังก่อตัวอยู่ การสับสนระหว่างสองการใช้งานนี้คือข้อผิดพลาดที่พบบ่อยที่สุดในหมู่นักเทรดมือใหม่

เจาะลึกเพิ่มเติม · คู่มือฉบับสมบูรณ์