Understanding ZigZag: From Parameter Tuning to Algorithmic Thinking

Development Log · 2025-01-26

1. Title

Understanding ZigZag: From Parameter Tuning to Algorithmic Thinking


2. Date / Phase

Date: January 26, 2025 at 9:19 AM
Phase: Foundations of Structural Market Representation


3. Background

บทสนทนาเริ่มต้นจากคำถามพื้นฐานว่า “ZigZag ทำงานอย่างไร”

แม้ในเวลานั้นเป้าหมายหลักยังเป็นเพียงการทำความเข้าใจ Indicator สำหรับการใช้งานใน MT4 แต่ทิศทางของบทสนทนาได้ค่อย ๆ เปลี่ยนจากการถามว่า “ตั้งค่าอะไรดี” ไปสู่คำถามที่สำคัญกว่า คือ “อัลกอริทึมภายในของ ZigZag ตัดสินใจอย่างไร”

นี่เป็นจุดเริ่มต้นของการเปลี่ยนมุมมองจาก User of Indicator ไปสู่ Algorithmic Thinking — การพยายามเข้าใจว่าเครื่องมือแปลง Price Movement ให้กลายเป็นโครงสร้าง High–Low ที่อ่านได้อย่างไร


4. Key Insights

4.1 ZigZag ไม่ใช่เครื่องมือทำนายราคา

ZigZag ไม่ได้มีหน้าที่ Predict ทิศทางราคาในอนาคต แต่ทำหน้าที่ลดรายละเอียดของการเคลื่อนไหวที่ไม่สำคัญ เพื่อทำให้ Swing High, Swing Low และโครงสร้างของราคาเด่นชัดขึ้น

แนวคิดจึงเปลี่ยนจาก

ZigZag = Indicator สำหรับหาจุดกลับตัว

ไปสู่

ZigZag = เครื่องมือสำหรับย่อและแสดงโครงสร้างราคา (Structural Representation)

4.2 Depth ควบคุมขอบเขตการค้นหา Extreme

Depth เชื่อมโยงกับจำนวนแท่งที่ใช้ในการค้นหา High หรือ Low ที่มีนัยสำคัญภายในช่วงข้อมูลที่กำหนด ค่า Depth ต่ำทำให้ ZigZag ไวต่อโครงสร้างย่อยมากขึ้น ขณะที่ Depth สูงทำให้มองเห็น Swing ที่ใหญ่ขึ้นและลด Noise

ดังนั้น Depth ไม่ควรถูกมองเพียงเป็น “ตัวเลขจำนวนแท่ง” แต่เป็นตัวแปรที่กำหนด ระดับความละเอียดของโครงสร้างตลาด ที่ ZigZag จะมองเห็น

4.3 Deviation เป็นตัวกรองด้านระยะราคา

Deviation ทำหน้าที่กำหนดว่าการเปลี่ยนแปลงของราคาจะต้องมีขนาดเพียงพอจึงจะมีความหมายต่อการสร้าง ZigZag จุดประสงค์สำคัญคือการป้องกันไม่ให้การแกว่งตัวเล็ก ๆ กลายเป็นโครงสร้างหลัก

ในเชิงแนวคิด Deviation จึงเป็น Price Significance Filter ซึ่งทำงานคนละมิติกับ Depth ที่พิจารณาโครงสร้างผ่านจำนวนแท่ง

4.4 Backstep เกี่ยวข้องกับการคัดเลือก Extreme ที่อยู่ใกล้กัน

การศึกษา Backstep ทำให้เห็นว่า Parameter นี้ไม่ได้ควรถูกเข้าใจเพียงว่าเป็น “เวลารอ” ระหว่าง High และ Low แต่เกี่ยวข้องกับการจัดการ Candidate Extremes ที่เกิดใกล้กัน หากเกิด Extreme ที่เหมาะสมกว่าภายในช่วง Backstep จุดก่อนหน้าสามารถถูกแทนที่หรือไม่ถูกเลือกเป็น Pivot สุดท้ายได้

นี่นำไปสู่ความเข้าใจเรื่อง Repainting ของ ZigZag ได้ชัดเจนขึ้น เพราะ Pivot ล่าสุดยังไม่ใช่ข้อสรุปถาวรตราบใดที่ข้อมูลราคาใหม่ยังสามารถสร้าง Extreme ที่ดีกว่าได้

4.5 Parameter ทั้งสามต้องมองเป็นระบบเดียวกัน

Depth, Deviation และ Backstep ไม่ควรถูกปรับแบบแยกส่วน แต่ควรถูกมองว่าเป็นกลไกที่ร่วมกันกำหนดว่า Price Movement ใดจะได้รับการเก็บไว้เป็นโครงสร้าง และ Price Movement ใดจะถูกทิ้งเป็น Noise

แนวคิดสำคัญจึงเปลี่ยนจาก

“ค่าไหนดีที่สุด?”

เป็น

“โครงสร้างแบบใดที่เราต้องการให้ ZigZag มองเห็น?”

นี่เป็นคำถามที่สำคัญกว่าสำหรับการพัฒนาระบบ Algorithmic Trading


5. Decisions

จากบทสนทนานี้เกิดข้อสรุปเชิงแนวทางว่า การใช้ ZigZag ต่อไปควรตั้งอยู่บนความเข้าใจกลไกของ Depth, Deviation และ Backstep มากกว่าการเลือกค่าจาก Default หรือจากคำแนะนำทั่วไป

ZigZag จะถูกมองเป็นเครื่องมือสำหรับสร้าง Market Structure และควรศึกษาพฤติกรรมของ Pivot โดยเฉพาะ Pivot ล่าสุดและปัญหา Repainting ก่อนนำสัญญาณไปใช้ในระบบอัตโนมัติ

ยังไม่มีการกำหนด Parameter Set ใหม่เป็นมาตรฐานถาวรในบทสนทนานี้


6. Architecture Changes

RAIDER

ไม่มีการเปลี่ยนแปลง Architecture

HROOM

ยังไม่มีส่วนเกี่ยวข้องในช่วงเวลานี้

AMARA

ยังไม่มีการเปลี่ยน Architecture โดยตรง แต่ความเข้าใจ ZigZag ในบทสนทนานี้เป็นพื้นฐานทางความคิดที่สามารถนำไปสู่การใช้ Swing Structure เป็นส่วนหนึ่งของ Logic ในอนาคต

KOOeda6

ยังไม่มี KOOeda6 Architecture อย่างเป็นรูปธรรมในช่วงเวลานี้ แต่บทสนทนาแสดงร่องรอยแรกของวิธีคิดที่ต่อมาจะกลายเป็นลักษณะสำคัญของ KOOeda6 คือ ไม่หยุดอยู่ที่การใช้เครื่องมือ แต่พยายามเข้าใจกลไกภายในของเครื่องมือ


7. Philosophy

บทสนทนานี้ก่อให้เกิดแนวคิดพื้นฐานที่สามารถอธิบายได้ว่า

ก่อนจะปรับ Parameter ต้องเข้าใจก่อนว่า Parameter นั้นกำลังควบคุมอะไร

Edge ไม่ได้เกิดจากการค้นหาตัวเลขวิเศษ แต่เกิดจากการเข้าใจความสัมพันธ์ระหว่างข้อมูลดิบ กลไกการกรอง และโครงสร้างที่ระบบสร้างขึ้น

ZigZag จึงเป็นตัวอย่างแรก ๆ ของการเปลี่ยนจาก Indicator Thinking ไปสู่ Algorithmic Thinking ซึ่งต่อมาจะมีความสำคัญต่อแนวทางของ KOOeda6 อย่างมาก


8. Future Work

สิ่งที่ควรดำเนินการต่อจากบทสนทนานี้ ได้แก่

  • ศึกษา Source Code ของ ZigZag ใน MT4/MT5 เพื่อยืนยันพฤติกรรมของ Depth, Deviation และ Backstep ในระดับ Implementation
  • ทดลองเปรียบเทียบ Parameter Set หลายชุดบนข้อมูลเดียวกัน
  • ศึกษา Repainting และเงื่อนไขที่ Pivot จะถูกแทนที่
  • แยกความแตกต่างระหว่าง Candidate Pivot, Current Pivot และ Confirmed Pivot
  • ทดลองใช้ ZigZag สองระดับเพื่อแยกโครงสร้างใหญ่และโครงสร้างย่อย
  • พัฒนา Logic ที่สามารถนำโครงสร้าง ZigZag ไปใช้กับ EA โดยไม่หลงเชื่อ Pivot ที่ยังไม่ยืนยัน

9. Impact

ผลสำคัญของบทสนทนานี้ไม่ได้อยู่ที่การได้ค่า ZigZag ชุดหนึ่ง แต่อยู่ที่การเปลี่ยนวิธีตั้งคำถาม

จากเดิมที่สนใจว่า

“ZigZag ใช้อย่างไร?”

เริ่มเปลี่ยนไปสู่

“ZigZag สร้างโครงสร้างนี้ขึ้นมาอย่างไร?”

ความแตกต่างนี้มีความสำคัญ เพราะเป็นการเริ่มต้นเปลี่ยนบทบาทจากผู้ใช้งาน Indicator ไปสู่ผู้ที่ต้องการเข้าใจและออกแบบ Trading Logic ด้วยตนเอง


10. Final Architecture

                         PRICE DATA
                             │
                             ▼
                  ┌────────────────────┐
                  │ Candidate Extremes │
                  │   High / Low       │
                  └─────────┬──────────┘
                            │
                            ▼
                  ┌────────────────────┐
                  │       DEPTH        │
                  │ Search Resolution  │
                  └─────────┬──────────┘
                            │
                            ▼
                  ┌────────────────────┐
                  │     DEVIATION      │
                  │ Price Significance │
                  └─────────┬──────────┘
                            │
                            ▼
                  ┌────────────────────┐
                  │      BACKSTEP      │
                  │ Extreme Selection  │
                  └─────────┬──────────┘
                            │
                            ▼
                     ZIGZAG PIVOTS
                            │
                            ▼
                  MARKET STRUCTURE VIEW

11. Closing Note

บทสนทนาในวันที่ 26 มกราคม 2025 เริ่มต้นจากคำถามธรรมดาว่า ZigZag ทำงานอย่างไร แต่สิ่งที่เกิดขึ้นมีความหมายมากกว่าการเรียนรู้ Indicator หนึ่งตัว เมื่อ Depth, Deviation และ Backstep ถูกแยกออกมาศึกษาทีละส่วน ความสนใจเริ่มเคลื่อนจากภาพที่ปรากฏบนกราฟไปสู่กลไกที่สร้างภาพนั้นขึ้นมา Depth ไม่ได้เป็นเพียงตัวเลขจำนวนแท่ง Deviation ไม่ได้เป็นเพียงค่าที่ต้องทดลอง และ Backstep ไม่ได้เป็นเพียงเงื่อนไขเสริม แต่ทั้งหมดเป็นส่วนหนึ่งของกระบวนการที่คัดเลือกว่าการเคลื่อนไหวใดของตลาดสมควรถูกเก็บไว้เป็นโครงสร้าง และการเคลื่อนไหวใดควรถูกละทิ้งเป็น Noise

ความสำคัญของช่วงเวลานี้จึงไม่ได้อยู่ที่คำตอบว่า ZigZag ควรตั้งค่าเท่าไร แต่อยู่ที่การเริ่มตั้งคำถามใหม่ว่าเหตุใด Algorithm จึงตัดสินใจเช่นนั้น นี่คือหนึ่งในร่องรอยแรกของวิธีคิดที่ต่อมาจะปรากฏซ้ำใน KOOeda6 — การไม่ยอมรับเครื่องมือในฐานะกล่องดำ การแยกมันออกเป็นกลไกย่อย การค้นหาหน้าที่ของแต่ละตัวแปร และท้ายที่สุด การพยายามเปลี่ยนความเข้าใจเหล่านั้นให้กลายเป็นระบบที่สามารถอธิบาย ทดสอบ และพัฒนาได้ด้วยตนเอง


12. Historical Significance

★★★☆☆ Significant Improvement

บทสนทนานี้ยังไม่ใช่จุดกำเนิดของ RAIDER, HROOM หรือ Architecture หลักของ KOOeda6 และยังไม่มีการตัดสินใจเชิงระบบที่เปลี่ยนโครงการทันที จึงไม่ควรถูกจัดเป็น Historic หรือ Major Milestone

อย่างไรก็ตาม ความสำคัญของมันอยู่ที่ วิวัฒนาการของวิธีคิด จากการใช้ Indicator ไปสู่การศึกษากลไกภายในของ Indicator โดยเฉพาะการแยกบทบาทของ Depth, Deviation และ Backstep และเริ่มมอง ZigZag ในฐานะเครื่องมือสร้าง Market Structure

เมื่อมองย้อนหลังจากพัฒนาการของ KOOeda6 บทสนทนานี้จึงมีสถานะเป็น Early Algorithmic Foundation — ก้าวเล็กแต่มีนัยสำคัญบนเส้นทางจาก Manual Technical Analysis ไปสู่การสร้างระบบ Algorithmic Trading ที่สามารถอธิบายเหตุผลของตนเองได้