นักเทรดส่วนใหญ่รู้จัก Pattern การหดตัวแค่แบบเดียว แต่ผมติดตามสามแบบ เพราะมันถูกสร้างต่างกัน ดึงดูดหุ้นต่างประเภท และให้ผลลัพธ์ต่างกันขึ้นอยู่กับสิ่งที่คุณ Optimize
สิ่งที่ทั้งสาม Pattern มีเหมือนกัน
พื้นฐานเดียวกัน: - หุ้นอยู่เหนือ Moving Average 200 วัน (Stage 2 Uptrend) - RS Rating ≥ 80 (ความแข็งแกร่งเทียบกับตลาด) - Volume แห้งลงระหว่างฐาน - Recovery High Pivot ก่อตัวขึ้น: Signal เข้าซื้อคือการปิดเหนือมัน
Type A: การหดตัวในพื้นที่ (Horizontal Coil)
หุ้นกำลัง Build — ช่วง Sideways เงียบๆ ที่แต่ละ Swing แคบลงเรื่อยๆ High ค่อยๆ ลง Low ค่อยๆ ขึ้น ช่วงแคบเข้าเหมือนสปริงที่ถูกบีบอัด
สิ่งที่เห็น: - ช่วงราคาแคบลงเรื่อยๆ - High ลดลง, Low ขึ้น (สามเหลี่ยมหรือ Flat Base แบบ Classic) - Volume เงียบมาก - แล้ว: ทะลุ Pivot พร้อม Volume Pop
GUNKUL ปี 2023 เป็นตัวอย่างที่สะอาด — 8 สัปดาห์ของช่วงแคบลงก่อน Breakout 40%
Signal เข้าซื้อ: ปิดเหนือ Recovery High สูงสุดภายในฐาน
Stop: Swing Low ล่าสุดที่เป็น Higher Low ภายในฐาน
Scanner: detect_contracting_pivot() — Contracting Horizontal Base
Type B: การหดตัวใน Swing Amplitude (Zigzag หลัง Anchor Run)
หุ้น พิสูจน์แรงซื้อแล้ว ด้วยขาแรกที่ใหญ่ (≥22%) จากนั้นทำ Zigzag ที่เห็นได้ชัดซึ่งแต่ละ Swing เล็กลงกว่าเดิม ไม่ใช่แคบในพื้นที่ — แต่เล็กลงในขนาดของแต่ละรอบ
โครงสร้าง: 1. Anchor Run — วิ่งขึ้น ≥22% จาก Base Low (พิสูจน์ความสนใจของสถาบัน) 2. Swing 1: Pullback ครั้งแรก → Bounce ครั้งแรก (Amplitude A1) 3. Swing 2: Pullback ครั้งที่สอง → Bounce ครั้งที่สอง (Amplitude A2 โดย A2 < A1) 4. Pivot = Recovery High ล่าสุด (ต่ำกว่า Anchor Peak) 5. Stop = Swing Low ล่าสุด (สูงกว่า Swing Low ก่อนหน้า)
กุญแจสำคัญ: แต่ละรอบ Zigzag เล็กลง Supply กำลังถูกดูดซับ
COM7 — ตัวอย่างหลัก (ม.ค.–พ.ค. 2026)
| วันที่ | เหตุการณ์ | ราคา |
|---|---|---|
| 14 ม.ค. | Base Low (เหนือ 200-MA) | ฿18.2 |
| 19 ก.พ. | Anchor Peak (+42.9%) | ฿26.0 |
| 4 มี.ค. | SL1 — Pullback ครั้งแรก | ฿20.6 Low |
| 16 มี.ค. | SH1 — Bounce ครั้งแรก | ฿24.3 High |
| 23 มี.ค. | SL2 — Pullback ครั้งที่สอง | ฿21.3 Low |
| 1 เม.ย. | Pivot (Recovery High) | ฿22.7 |
| 22 เม.ย. | Breakout (Volume 3.4× ปกติ) | ฿22.8 |
Swing Amplitude: A1 = 18%, A2 = 6.6% — หดตัว 3×
อะไรทำให้ไม่ valid: (1) SL2 ต่ำกว่า SL1 (พื้นกำลังลง), (2) การฟื้นตัวจาก SL2 เกิน Anchor Peak (ไม่มีการ Compress), (3) Amplitude ไม่ได้หดตัว
Scanner: detect_zigzag_after_run() — แสดง Label ⟳ Zigzag สีส้ม
Type C: ช่วงราคาสี่เหลี่ยม (Darvas Box / Flat Base)
Nicolas Darvas อธิบายไว้ตั้งแต่ปี 1960 หุ้นทำ High ใหม่หลังการวิ่งขึ้น แล้ว Consolidate ในสี่เหลี่ยมแบน: เพดานถูกทดสอบซ้ำๆ (ภายใน ~5%), พื้นยืนหยัด Volume แห้งในการทดสอบพื้นครั้งสุดท้าย แล้ว Break เหนือเพดานพร้อม Volume
โครงสร้าง: 1. การวิ่งขึ้น — หุ้นทะลุเหนือ 200-EMA แล้ววิ่งถึง High ใหม่ 2. เพดาน — High แรกนั้นกลายเป็น Resistance ถูกทดสอบ ≥2 ครั้งภายใน 5% 3. พื้น — จุดต่ำสุดของสี่เหลี่ยมทั้งหมด (ความลึก Box ≤15%) 4. Volume แห้ง — แต่ละการทดสอบเพดานเงียบกว่าครั้งก่อน 5. Pivot = เพดานสูงเดิม (Resistance แรกที่กำหนดขึ้น) 6. Stop = พื้น Box
ความแตกต่างระหว่าง TypeC กับ TypeA: TypeA ต้องการ Recovery High ที่ลดลง (เพดานต่ำลงทุกการทดสอบ) TypeC อนุญาตให้การทดสอบเพดานเท่ากับหรือเกินเล็กน้อย — เพดานแบน คือ Pattern ไม่ใช่เพดานที่ลดลง
CCET — ตัวอย่างหลัก (เม.ย.–พ.ค. 2026)
| วันที่ | เหตุการณ์ | ราคา |
|---|---|---|
| 16 เม.ย. | ทะลุเหนือ 200-EMA | ฿5.30 ปิด |
| 27 เม.ย. | เพดานแรก (Pivot) | ฿6.40 High |
| 5 พ.ค. | ทดสอบพื้น | ฿5.75 Low |
| 6 พ.ค. | ทดสอบเพดาน #2 | ฿6.50 High (ห่างเพียง 1.6%) |
| 12 พ.ค. | ทดสอบพื้น #2 | ฿5.70 Low |
| 14 พ.ค. | ทดสอบเพดาน #3 | ฿6.45 High |
| 19 พ.ค. | ทดสอบพื้นพร้อม Volume แห้ง | ฿5.85 Low |
| 20 พ.ค. | Breakout พร้อม Volume | ฿6.60 High, ฿6.45 ปิด |
Box: เพดาน ฿6.40, พื้น ฿5.70, ความลึก = 10.9% ทดสอบเพดานสามครั้ง Volume แห้งถึงขั้นต่ำสุดวันที่ 19 พ.ค. แล้วระเบิดเมื่อ Break แบบ Darvas คลาสสิก
Scanner: detect_darvas_box() — แสดง Label □ Box สีเขียวน้ำทะเล
ผลการทดสอบ Backtest (ตลาดหุ้นไทย, RS≥80 + SET Confirmed Uptrend, ปี 2005–2026)
หลังทดสอบทั้งสาม Pattern Type บน 880 หุ้นไทย:
| ตัวชี้วัด | TypeA (Coil) | TypeB (Zigzag) | TypeC (Darvas Box) | รวมกัน |
|---|---|---|---|---|
| Signal (กรองแล้ว) | 2,910 | 602 | 3,289 | 6,801 |
| Median R ที่ 30 วัน | +0.11 | +0.06 | +0.19 | +0.15 |
| โอกาสได้ ≥2R ที่ 30 วัน | 18.1% | 23.6% | 15.7% | 17.4% |
| อัตรา Stop | 31.6% | 40.2% | 26.8% | 30.0% |
| % ที่บวกที่ 30 วัน | 52.3% | 50.5% | 55.0% | 53.4% |
ตีความ:
TypeC นำในสามจากสี่ตัวชี้วัด Median R สูงสุด (+0.19), Stop ต่ำสุด (26.8%), % บวกสูงสุด (55.0%) เพดานแบนที่ถูกทดสอบซ้ำๆ หมายความว่า Overhead Supply ถูกดูดซับก่อน Break เมื่อทะลุแล้วมี Resistance น้อยกว่าทันที
TypeC มีโอกาส ≥2R น้อยที่สุด มันเป็น Pattern "ค่อยๆ เดิน" Breakout มักต่อเนื่องได้อย่างน่าเชื่อถือแต่ไม่ระเบิด TypeC ทำงานได้ดีที่สุดกับการขายบางส่วนที่ 1R–1.5R แล้ว Trail ไม่ใช่ Hold แบบ Full Run
TypeB มีความแปรผันสูงที่สุด Stop มากที่สุด (40.2%) แต่ ≥2R Hit Rate สูงที่สุด (23.6%) Anchor Run เลือกหุ้น Momentum ที่วิ่งได้ใหญ่ — แต่โครงสร้าง Zigzag ก็ปรากฏในหุ้นขาลงด้วย การกรองคุณภาพจำเป็น
TypeA เป็น Baseline โปรไฟล์สมดุล: 31.6% Stop, 18.1% ≥2R, +0.11 Median R ไม่มี Signal คุณภาพพิเศษ แค่ช่วง Contracting ที่สะอาด ใช้งานได้กว้าง — จำนวน Signal มากที่สุดก่อนกรอง
รวมกัน (6,801 Signal): Median +0.15, 30.0% Stop การเพิ่ม TypeC เข้าพอร์ตโฟลิโอ Scanner เป็นประโยชน์ — มันระบุ Setup ที่ TypeA และ TypeB พลาด และให้ผลดีที่สุดในแง่ Median
การเลือก Pattern: ใช้อะไรเมื่อไหร่
| คำถาม | TypeA | TypeB | TypeC |
|---|---|---|---|
| หุ้นวิ่งใหญ่มาก่อนหรือเปล่า? | ไม่สำคัญ | ต้องการ (≥22%) | มีประโยชน์แต่ไม่จำเป็น |
| ต้องการผลที่สม่ำเสมอ | ดี | Stop เยอะเกิน | ดีที่สุด |
| ต้องการ Runner ที่อาจได้ 2R+ | ดี | ดีที่สุด | จับได้ยากกว่า |
| ฐานมีเพดานแบนถูกทดสอบ ≥2 ครั้ง | ไม่ตรง | ไม่ตรง | จำเป็น |
Signal ปัจจุบัน (12 มิ.ย. 2026)
จาก Scanner วันนี้:
Breakout แล้ว: KCE (RS=92, TypeC Darvas Box — Break 29 พ.ค., ตอนนี้ +8.1% เหนือ Pivot)
ใกล้ Signal: TSE (RS=89, TypeC, -3.8% ต่ำกว่า Pivot), TFG (RS=88, TypeC, -7.8% ต่ำกว่า Pivot)
TypeC เป็น Detector ใหม่ที่สุด เหมือนทุก Pattern Type: Scanner หา Candidate ได้ กราฟยืนยันคุณภาพ
ข้อมูล Backtest: ตลาดหุ้นไทย ปี 2005–2026, 880 หุ้น, RS≥80 + SET ปิดเหนือ 200-EMA ทุกการเข้า: Entry ที่ปิดวันที่ Breakout, Exit ที่ 30 วันหรือ Stop (แล้วแต่อย่างใดก่อน) Stop = พื้น Base R = (Exit − Entry) / (Entry − Stop)