งานวิจัย · ผลเป็นลบ · แก้บั๊กของตัวเอง
ทดสอบใหม่ทั้งหมด
ด้วยค่าตั้งจริงของชาร์ต ไม่ใช่ค่าที่เราคิดเอง
เจ้าของชาร์ตทักว่า “เคยให้จำ setting ของอินดิเคเตอร์ทั้งหมดไปแล้ว แปลว่าไม่เคยเอามาใช้เลยใช่ไหม” — ตรวจแล้วพบว่า มีเพียง 4 จาก ~40 สคริปต์ที่อ่านค่าจากชาร์ตจริง ที่เหลือเรากำหนดค่าเอง กรณีที่แย่ที่สุดคือเราอ่านตัวคูณจากข้อความบนป้ายในภาพหน้าจอแล้วได้ผิดทั้งหมด หน้านี้คือการรื้อทำใหม่ตั้งแต่ต้น — อ่านสูตรจากซอร์ส Pine ที่เขาใช้จริง ยืนยันกับชาร์ตสดทุกหลัก แล้วรัน 645 สมมติฐานใหม่หมด
1 · สิ่งที่เราเคยใช้ผิด และของจริงเป็นอย่างไร
วิธีที่ถูกไม่ใช่การถอดย้อนกลับจากตัวเลขที่วาดบนจอ — วิธีนั้นให้ระดับที่ตรงกับชาร์ตวันนี้ก็จริง
แต่ไม่บอกว่าจุดยึดมาจากไหน จึงเอาไปสร้างระดับย้อนหลังไม่ได้
ทางที่ถูกคือเปิดไฟล์ .pine ที่เขาคอมไพล์ใช้จริงแล้วอ่านบรรทัดที่คำนวณ
| สิ่งที่วัด | ที่เราเคยใช้ | ของจริงจากซอร์ส |
|---|---|---|
| ตัวคูณ g2 / g3 (M3) | 3.414 / 5.000 | 3.236 / 5.272 |
| จุดยึดของ g1/g2/g3 | ราคาปัจจุบัน | VWAP เซสชันลอนดอน |
| เซสชันเอเชีย | 21:00–07:00 UTC | 14:00–23:00 เวลานิวยอร์ก |
| σ | Yang-Zhang ล้วน | max(YZ, ATR14 × 2) — มีพื้น |
| จุดยึดของ PBV | ราคาสปอต | ราคาปิดวันก่อนของ COMEX GC1! |
| σ โดยนัย | anchor × GVZ/√252 | close × GVZ/√252 |
ข้อที่เปลี่ยนทุกอย่างคือจุดยึด — ระดับ g1/g2/g3 ไม่ได้วัดจากราคาล่าสุด แต่วัดจาก VWAP ของเซสชันลอนดอน ที่เริ่มนับใหม่เมื่อ 03:00 UTC และรีเซ็ตเมื่อขึ้นวันใหม่ตามปฏิทินตลาด ถ้ายังไม่ถึงลอนดอนจะใช้ VWAP รายวันแทน
วิธีกันไม่ให้เดาอีก
สร้างโมดูลที่อ่านพารามิเตอร์จากสแนปช็อตของชาร์ตตามชื่อ input โดยตรง และถ้าหาไม่เจอจะโยน error ทันที ไม่มีค่าเริ่มต้น — เพราะค่าเริ่มต้นที่เดาเอาเองคือสิ่งที่ทำให้ผลการทดลองไม่ตรงกับสิ่งที่ผู้เทรดเห็นบนจอ
2 · ยืนยันว่าโมดูลคำนวณตรงกับชาร์ต ก่อนแตะข้อมูลย้อนหลัง
เทียบที่แท่งเดียวกัน (OANDA:XAUUSD · M3 · 2026-09-04 20:57 UTC)
| ค่า | โมดูลของเรา | ชาร์ตของเจ้าของ |
|---|---|---|
| anchor | 4434.665 | 4434.6652 |
| sigma | 17.5906 | 17.5906 |
| close | 4429.825 | 4429.825 |
กับดักการอ่านป้าย ที่เกือบทำให้แก้สูตรที่ถูกอยู่แล้ว
ป้ายบนชาร์ตเขียนว่า EM+1σ ... [28.1% GVZ] แต่คำนวณย้อนกลับแล้วได้ 27.79
เราเกือบสรุปว่าตัวหาร √252 ในสูตรผิด — จนไปอ่านซอร์สแล้วพบว่าป้ายใช้รูปแบบ
str.tostring(gvz,"#.1") ซึ่งพิมพ์จำนวนเต็มแล้วต่อท้ายด้วย “.1”
เลขที่เห็นบนจอไม่ใช่ค่าที่โปรแกรมใช้เสมอไป · อ่านซอร์ส อย่าอ่านป้าย
3 · ผลที่ผ่านทุกด่าน แล้วกลายเป็นบั๊กของเราเอง
ระหว่างทางเจอสิ่งที่ดูเหมือนขอบจริง ๆ — ราคาที่ทะลุออกจากแถบ PBV ให้ −32 bp และที่กลับเข้าแถบให้ +35 bp ชนะ 70% ของครั้ง ผ่านด่านควบคุมทุกด่าน: เทียบนาฬิกา ป้ายหลอกที่เลื่อนครึ่ง ATR สุ่มจำนวนเท่ากัน 200 รอบ และ t = 5.45
บั๊กคืออะไร
แท่งรายวันของ TradingView ติดป้ายด้วยเวลาเปิด ไม่ใช่เวลาปิด
แท่งที่ป้าย 2026-09-03 17:00 NY กินข้อมูลตั้งแต่ 3 เวลา 17:00
ถึง 4 เวลา 17:00 ราคาปิดของมันจึงเกิดขึ้นในวันที่ 4
เราจับคู่แท่ง M3 ของวันที่ 4 กับแท่งรายวันป้ายวันที่ 3 แล้วเรียกว่า “เมื่อวาน” — เท่ากับเอาราคาปิดของวันนั้นเองมาใช้ตั้งแต่เที่ยงคืน = มองอนาคตนานถึง 17 ชั่วโมง ระดับ PBV ทั้งชุดจึงถูกวางไว้รอบราคาปิดของวันที่ยังไม่จบ การที่ “ราคาวิ่งกลับเข้าแถบ” จึงแปลว่าราคาวิ่งกลับหาราคาปิดของตัวเอง
| สิ่งที่วัด (k=96 แท่ง) | ตอนมีบั๊ก | หลังแก้ |
|---|---|---|
| ทะลุเส้น PBV ไปต่อ | +4.350 bp · t 5.45 | −0.878 bp · t −1.65 |
| จำลองเป็นระบบจริง | ชนะ 70% | ไม่เหลืออะไร |
สิ่งที่ต้องจำ: ด่านควบคุมทุกด่านผ่านหมด เพราะบั๊กอยู่ในคุณลักษณะ ไม่ได้อยู่ในวิธีทดสอบ สิ่งที่จับได้จริงคือขนาดที่เป็นไปไม่ได้ ไม่ใช่ด่านไหนเลย — ต้องถามเสมอว่า “ผลนี้ใหญ่เกินกว่าที่ตลาดจะยอมให้มีไหม” ก่อนดีใจ
สถิติที่ต้องเปลี่ยนด้วย
เดิมใช้ Newey-West แก้การทับซ้อนของหน้าต่างผลตอบแทน แต่ถ้าชุดสัญญาณมีทั้งฝั่งซื้อและขาย ผลตอบแทนที่คูณทิศแล้วจะสลับเครื่องหมาย = สหสัมพันธ์ติดลบ → Newey-West หดความแปรปรวนและดัน t ให้สูงเกินจริง ชุดเดียวกันนี้: รวมสองฝั่งได้ t 5.53 แต่แยกฝั่งแล้วได้ t 0.24 และ 1.66 จึงเปลี่ยนมาใช้ t ที่จับกลุ่มตามวัน เป็นสถิติหลัก เพราะไม่ต้องสมมติรูปแบบสหสัมพันธ์ภายในวัน
4 · ลมทองมีจริง แต่มันอยู่กลางคืน ซึ่งเป็นที่เดียวที่ต้องจ่ายค่าถือ
แยกผลตอบแทนล่วงหน้า 96 แท่ง (4.8 ชม.) ตามชั่วโมงนิวยอร์ก — ซึ่งเป็นนาฬิกาที่อินดิเคเตอร์ใช้จริง ไม่ใช่ UTC (ถ้าแบ่งตาม UTC ช่องเวลาจะผสมชั่วโมงคนละอย่างกันตามฤดู เพราะ CME พัก 17:00–18:00 นิวยอร์ก)
| ชั่วโมง NY | ผลตอบแทน 4.8 ชม. | t | เซสชัน |
|---|---|---|---|
| 08:00 | -0.772 bp | -0.72 | นิวยอร์ก |
| 09:00 | -0.024 bp | -0.03 | นิวยอร์ก |
| 10:00 | +0.452 bp | 0.57 | นิวยอร์ก |
| 11:00 | -0.086 bp | -0.12 | นิวยอร์ก |
| 12:00 | +2.536 bp | 3.68 | นิวยอร์ก |
| 13:00 | +3.699 bp | 5.17 | นิวยอร์ก |
| 14:00 | +3.647 bp | 5.40 | นิวยอร์ก |
| 15:00 | +4.287 bp | 6.61 | นิวยอร์ก |
| 16:00 | +4.511 bp | 6.29 | นิวยอร์ก |
| 18:00 | +1.701 bp | 2.53 | นิวยอร์ก |
| 19:00 | +1.012 bp | 1.49 | เอเชีย |
| 20:00 | +0.959 bp | 1.50 | เอเชีย |
แบ่งวันเป็นสองส่วนแล้วสะสมผลตอบแทนจริงตลอด 11.7 ปี: กลางคืน 17:00–08:00 NY ได้ +127.14% ส่วน กลางวัน 08:00–17:00 NY ได้ +3.88% ลมทองเกือบทั้งหมดเกิดนอกเวลาทำการหลัก
ทดสอบขั้นเด็ดขาด — บังคับปิดก่อน 17:00 ทุกวัน
ค่าถือฝั่งซื้อคือ 0.50$ ต่อออนซ์ต่อคืน = 2.87 bp ของราคา คูณ 3,635 คืน = 8.94%/ปี ถ้าลมทองอยู่กลางคืนจริง ก็แปลว่าต้องจ่ายค่าเข้าชมทุกคืน คำถามที่เหลือคือ: เก็บเฉพาะช่วงบ่ายที่ t สูงถึง 6.61 โดยไม่ถือข้ามคืนได้ไหม
| เข้าเวลา NY | วัน | เฉลี่ยต่อไม้ | t | CAGR |
|---|---|---|---|---|
| 10:00 | 3,015 | +0.948 bp | 0.97 | 2.10% |
| 13:00 | 2,970 | +0.371 bp | 0.60 | 0.80% |
| 15:00 | 2,923 | +0.031 bp | 0.09 | 0.03% |
| 16:00 | 2,921 | -0.089 bp | -0.42 | -0.24% |
หายหมด · พอไม่ให้ถือข้ามคืน ก็ไม่เหลืออะไร ผลที่เห็นตอนวัดล่วงหน้า 4.8 ชม. จากบ่ายสามบ่ายสี่ มาจากส่วนของหน้าต่างที่ล้ำเข้าไปในคืนนั้น และ 7 ใน 12 ปีเท่านั้นที่เป็นบวก
5 · สิ่งที่ใกล้เคียงขอบที่สุด — ทางเข้า AVR ของเจ้าของชาร์ต แต่ SL เป็นของเราเอง
เข้าเมื่อราคาปิดข้ามเส้น AVR (ขึ้น = ซื้อ · ลง = ขาย) · หยุดขาดทุนคงที่ 3.236σ ของ GEX นับจากราคาเข้า · ไม่มีเป้ากำไร · ปล่อยได้สูงสุดหนึ่งวันทำการ ตัวเลขข้างล่างหักต้นทุนและค่าถือข้ามคืนจริงแล้ว (ฝั่งซื้อจ่าย ฝั่งขายฟรี รวม 468 คืน)
แก้ไข 11 ก.ย. 2026 — ตอนเผยแพร่ครั้งแรกเราเรียก SL นี้ว่า Chandelier และเรียกทั้งชุดว่า “กฎที่เจ้าของชาร์ตใช้อยู่แล้ว” ซึ่งผิด: Chandelier ของ Gold Session v8 เลื่อนตาม อ้างอิงราคาปิดสูงสุดของ 20 แท่ง ใช้ความผันผวน Yang-Zhang ของตัวเอง และสลับตัวคูณตาม Hurst (5.618 / 3.236 / ค่าฐาน 6.1278) ส่วนตัวคูณ 3.236 ที่เราใช้ พิมพ์เองจากข้อความบนเว็บ ไม่ได้อ่านจากค่าตั้ง — ความผิดแบบเดียวกับที่หน้านี้ตั้งใจแก้ · กฎที่เจ้าของชาร์ตเขียนมาเองทั้งชุด ทดสอบแล้วที่ กฎของเจ้าของชาร์ต บน M3
| ชุด | CAGR | MaxDD | Sharpe | Calmar | เวลาในตลาด |
|---|---|---|---|---|---|
| AVR + SL คงที่ 3.236σ | 12.14% | −27.1% | 1.10 | 0.45 | ~9% |
| ถือทอง หลังหักค่าถือ | 2.93% | −29.3% | — | 0.10 | 100% |
| ถือทอง ก่อนหักค่าถือ | 11.86% | −29.3% | 0.77 | 0.41 | 100% |
สิ่งที่มันผ่าน
- ชนะป้ายหลอกทุกระยะที่ทดสอบ — ระดับจริงให้ผลดีที่สุดในบรรดาระยะที่เลื่อนไป
- นอกกลุ่มดีกว่าในกลุ่ม — ครึ่งแรก +10.88 bp · ครึ่งหลัง +13.94 bp
- ทั้งสองฝั่งเป็นบวก (ซื้อ +10.82 · ขาย +16.11) ไม้ซื้อ 47.6% → ไม่ใช่แค่กินตลาดกระทิง
- 9 ใน 12 ปีเป็นบวก · ชนะ “ถือทองหลังหักค่าถือ” ทั้ง CAGR และ Calmar อย่างชัดเจน
| ป้าย | ไม้ | เฉลี่ยหลังหักค่าถือ | t |
|---|---|---|---|
| ของจริง | 1,136 | +12.410 bp | 1.83 |
| เลื่อน +0.25 ATR | 530 | +8.240 bp | 0.79 |
| เลื่อน +0.50 ATR | 281 | +10.260 bp | 0.65 |
| เลื่อน −0.25 ATR | 2,616 | +3.500 bp | 0.78 |
| เลื่อน −0.50 ATR | 5,549 | -0.020 bp | -0.01 |
สิ่งที่มันไม่ผ่าน
- t = 1.83 ต่อเกณฑ์คูณความถี่ √(2 ln 535) = 3.54 — ห่างมาก
- ถ้าขนาดผลคงเดิม ต้องใช้ตัวอย่าง 3.8 เท่า = ประมาณ 44 ปี ข้อมูลรายนาทีของทองมีแค่ 11.7 ปี → สมมติฐานนี้ตัดสินไม่ได้ด้วยข้อมูลที่มีอยู่
- ส่วนเกินเหนือ “ถือทิศเดิมไปเฉย ๆ ในหน้าต่างเดียวกัน” = +0.88 bp · t 0.37 → สิ่งที่ทำงานคือการทายทิศ ไม่ใช่ระดับ AVR และไม่ใช่ Chandelier
- กำไรกระจุกตัว: ปี 2026 ให้ +121 bp/ไม้ จาก 42 ไม้ และปี 2020 ให้ +51 bp/ไม้ — รูปแบบเดียวกับที่เคยเจอใน DeskTrend ที่ 10 ไม้ดีที่สุด = 142% ของกำไรสุทธิ
คำตอบที่ซื่อสัตย์คือ ยังตัดสินไม่ได้ ไม่ใช่ไม่มี · และ 97 ไม้ต่อปีคือสาเหตุ ไม่ใช่ขนาดของขอบ
6 · ตระกูลที่ตายซ้ำ และตายชัดกว่าเดิม
| ตระกูล | ผลรอบนี้ |
|---|---|
| สวนที่ระดับ · ทุกตระกูลระดับ | ติดลบทั้งหมด แพ้ป้ายหลอกเกือบทุกแถว |
| ทะลุแล้วไปต่อ · ทุกตระกูลระดับ | ติดลบทั้งหมด |
| กวาดแล้วยึดคืน (เคยเป็นความหวังเดียว) | ติดลบทุกตระกูลระดับ |
| ระดับซ้อนกัน ≥ 2 ตระกูล | 45,014 แท่ง · ไม่ต่างจากป้ายหลอกเลย |
| เงื่อนไขซ้อน 6 ชั้น | คราวนี้เกิดจริง 952 แท่ง / 279 วัน · t สูงสุด 1.71 |
| EFP basis z < −2 ซื้อ | +6.84 bp แต่ t 1.56 และมีแค่ 86 วัน |
| TP ที่ระดับถัดไปของอินดิเคเตอร์เอง | ชนะบ่อย 50–57% แต่ PF 0.85–0.92 |
| คู่ ทอง–เงิน | สุทธิ −11.8 bp/ไม้ · ทศวรรษที่เป็นบวก 0/4 |
| ปรับขนาดตามความผันผวน (ทำซ้ำ F4) | ผกผัน σ ทำให้ CAGR ลดครึ่ง — กำไรอยู่ที่ไม้ SL กว้าง ซึ่งวิธีนี้ให้น้ำหนักน้อยที่สุดพอดี |
ข้อสังเกตที่ใหญ่ที่สุดของงานทั้งหมดนี้ — ระดับเกือบทุกเส้นบนชาร์ตเป็น ฟังก์ชันของราคาล่าสุด (g/EM/delta วัดจาก VWAP ลอนดอน · AVR และกล่องเอเชียวัดจากช่วงราคาเมื่อคืน) ป้ายหลอกที่เลื่อนไปครึ่ง ATR จึงลอกเลียนได้เกือบสมบูรณ์ และนั่นคือเหตุผลที่ทุกตระกูลแพ้ป้ายหลอก มีเพียง PBV ที่ยึดกับราคาปิดสัญญาล่วงหน้า COMEX ซึ่งเป็นของนอกระบบจริง ๆ — และมันก็ไม่ทำงานเมื่อเลิกมองอนาคต
7 · ต่อจากนี้
- เพิ่มอัตราไม้ ไม่ใช่เพิ่มปี — 97 ไม้/ปีคือเหตุผลที่ต้องรอ 44 ปี ถ้าหาเงื่อนไขที่ให้ขอบขนาดเดียวกันแต่เกิดบ่อยกว่า 4 เท่า จะตัดสินได้ด้วยข้อมูลที่มีอยู่แล้ว
- ทดสอบตัวทายทิศตรง ๆ — เพราะส่วนเกินเหนือการถือทิศเดิมเท่ากับศูนย์ แปลว่าคุณค่าไม่ได้อยู่ที่ระดับ ควรวัดสิ่งที่ทำให้ทายทิศถูกโดยไม่ต้องผ่านระดับ
- ⚑ แก้ไข 11 ก.ย. 2026 — การทดสอบในหน้านี้ใช้ข้อมูลตลอด 2015–2026 ซึ่งรวมช่วง 2023–26 ที่เคยกันไว้เป็นห้องนิรภัยของโปรแกรม EDGE สำหรับกฎชุดนี้ ช่วงนั้นจึงไม่ใช่ข้อมูลที่ไม่เคยเห็นอีกต่อไป · ผลไม่เปลี่ยน เพราะไม่มีชุดไหนผ่าน จึงไม่มีการเลือกที่ปนเปื้อน · สมมติฐานถัดไปทดสอบเฉพาะ 2015–2022
โค้ดที่ใช้ซ้ำได้: โมดูลอ่านค่าตั้งจากสแนปช็อตชาร์ต · โมดูลสร้างระดับตามสูตร Pine พร้อมฟังก์ชันจัดแนววันเทรดที่กันบั๊กมองอนาคต · และเครื่องยนต์ด่านควบคุมกลางที่บังคับให้ทุกตระกูลผ่านด่านเดียวกัน ผลดิบทั้งหมดเก็บไว้ รวมถึงไฟล์ที่ผิดจากบั๊ก ซึ่งเก็บไว้เป็นหลักฐานไม่ลบทิ้ง