XAULearn

งานวิจัย · การตรวจซอร์ส · เครื่องมือทั้งสี่

ตรวจซอร์สอินดิเคเตอร์ทั้งสี่
พบข้อบกพร่องที่ทำให้อ่านผิด — แก้ระดับ 1 แล้ว

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

แก้ระดับ 1 · ระดับ 2–4 พักไว้ ตรวจ 17 ก.ย. 2026 4 ไฟล์ · 7,938 บรรทัด คอมไพล์ 0 error ทุกไฟล์ R1 look-ahead: ไม่พบ

1 · ผลการตรวจโดยรวม

เครื่องมือเวอร์ชันบรรทัดerror / warningplot budgetลิงก์
GEX + EFP Basis Matrixv29 → v302,4640 / 063/64หน้าเครื่องมือ →
Liq Heat Map + Vol Profv20 → v222,3330 / 4 (เดิม 5)60/64หน้าเครื่องมือ →
QC MomentumConfluencev12 → v131,3350 / 048/64หน้าเครื่องมือ →
Gold Session Frameworkv10 → v111,8060 / 7 (เท่าเดิม)46/64หน้าเครื่องมือ →

คอมไพล์ผ่านทุกไฟล์ และสแกน repaint ไม่พบการมองอนาคตแบบ R1 (lookahead_on บน series ที่ไม่ shift) ในไฟล์ใดเลย — ต่างจากสคริปต์ยอดนิยมบน TradingView ที่เราเคยสแกน 700 กว่าตัวและพบ R1 ราว 15–18% · แต่ “คอมไพล์ผ่าน” กับ “คำนวณถูก” เป็นคนละเรื่อง สิ่งที่พบข้างล่างล้วนคอมไพล์ผ่านมาตลอด

2 · ปัญหาร่วมทั้งชุด — สำคัญที่สุด เพราะกระทบทุกตัวพร้อมกัน

#ปัญหาไฟล์ผลที่เกิดสถานะ
Aเวลา session และหน้าต่าง fix เป็น UTC คงที่ ไม่รองรับ DSTGEX · QC · LiqHM (ตัวเลขเดียวกันสามไฟล์)LBMA fix จริงคือ 10:30/15:00 เวลาลอนดอน → หน้าร้อนกรอบเลื่อน 1 ชม. · QC/GEX มีช่องโหว่ 17:00–20:00 UTC ที่ถูกนับเป็น “ASIA” · ตัวเลข 20/03/08/17 ที่ใช้เป็นเวลานิวยอร์กอยู่แล้ว แค่ถูกอ่านผิดเขตแก้แล้ว (ระดับ 1)
BHurst ใน QC คำนวณบนระดับราคา ไม่ใช่ผลตอบแทนQC (และ KV-MACD ที่เลิกใช้)H ≈ 0.91 ใน 99.8% ของแท่ง แม้กับ random walk สังเคราะห์ · “TREND” ติดถาวร “MR” ไม่เคยเกิด · Gold Session ใช้ log-return ถูกต้องอยู่แล้วแก้แล้ว (ระดับ 1)
Cอ่านค่ากรอบเวลาสูงกว่าแบบ lookahead_off โดยไม่ shift [1]ทั้งสี่ไฟล์ประวัติเห็นแท่ง HTF ที่ปิดแล้ว แต่ตอนสดเห็นแท่งที่กำลังวิ่ง → สิ่งที่เลื่อนดูย้อนหลังไม่ใช่สิ่งที่จะเห็นสด (ไม่ใช่การรั่ว แต่ replay หลอกตา) · QC ยัดเทรดหลอกเข้าความจำ kNN จนกว่าจะรีโหลดยังไม่แก้ (ระดับ 2)
Ddelta 4 สูตร · volume profile 4 ตัว · AMT engine ซ้ำ 3 ชุดทั้งสี่ไฟล์VARS ใช้ close ≥ open · CVD ใช้ footprint · LiqHM ใช้ CLV×vol · QC ใช้ wick-delta z-score · VA% 70/84/90 ต่างกัน · Rejection/Iceberg เดียวกันวาดสาม pane ดูเหมือนยืนยันสามชั้นยังไม่แก้ (ระดับ 3)
Emax_bars_back ตั้งเป็น global ในทุกไฟล์ทั้งสี่ไฟล์ทุก series ในไฟล์ที่มี series หลายร้อยตัวได้บัฟเฟอร์ 2,000 แท่ง → โหลดประวัติช้าโดยไม่จำเป็นยังไม่แก้ (ระดับ 4)
Fชื่อ alert ค้างเวอร์ชันเก่า · หัวไฟล์ผิดเวอร์ชัน · เลขหมวดซ้ำ (GEX มี §19 สองอัน)ทั้งสี่ไฟล์ชื่อ alert บน TradingView ผิดเวอร์ชัน · แก้ไฟล์ครั้งหน้าเสี่ยงแทรกผิดที่แก้ชื่อเวอร์ชันแล้ว · เลขหมวดยังไม่แก้

ข้อ B เป็นตัวอย่างที่ควรจำ: ฟังก์ชัน Hurst ถูกคัดลอกไปสามไฟล์ สองไฟล์รับ “ราคา” เข้าไปตรง ๆ หนึ่งไฟล์รับ log-return · ป้าย TREND ที่ขึ้นทุกวันจึงเป็นผลของสูตร ไม่ใช่ของตลาด — และไม่มีใครสังเกตเพราะ “ทองเทรนด์อยู่แล้ว” ฟังดูสมเหตุสมผลเสมอ

3 · รายไฟล์ — สิ่งที่แก้ในระดับ 1 และสิ่งที่ยังเปิดอยู่

ระดับ 1 = แก้เฉพาะสิ่งที่ทำให้อ่านชาร์ตผิดจริง · ไม่เปลี่ยนตรรกะสัญญาณ ไม่เพิ่ม plot · ค่าตั้งทุกตัวยังเป็นของเจ้าของชาร์ต (อ่านจากชาร์ตแล้วใส่เป็นค่าเริ่มต้นของไฟล์ใหม่)

GEX + EFP Basis Matrix v30

แก้แล้ว

  • GVZ crisis/spike z-score คำนวณบนแท่งชาร์ตทับ series รายวัน → ยิงแทบทุกวันที่ GVZ ขยับขึ้น (บล็อก MR · หัก CONF · alert รายวัน) · ตอนนี้คำนวณในกรอบรายวัน
  • ฟีด GC1! ล่าช้า 10–15 นาทีไม่เคยถูกจัดการ → basis สดดูดซับการเคลื่อนไหวของทอง สร้าง EFP ARB / DIV / Frozen zone ปลอม · ตอนนี้ค้าง basis เมื่อฟิวเจอร์สตามหลังเกิน 2 แท่ง และเขียน “⚠GC1! delayed”
  • เงื่อนไข CONF สองข้อที่ไม่มีวันเปลี่ยน (frame > 0.5σ จริงเสมอ · frame < 12$ ไม่มีวันจริง) → ถอดออก เลื่อนฐาน 50 → 60
  • MLMI neutral ผ่าน gate ทุกครั้งที่โหวตเสมอ 0 → ผ่านเฉพาะช่วง warm-up

ยังเปิดอยู่

  • Zone Tolerance 3$ · Strike block 25$ ตั้งสมัยทอง 2,000$ (วันนี้ 3$ = 0.07% ของราคา อยู่ในระยะสั่นของแท่ง M3) — ค่าของเจ้าของชาร์ต รอเขาตัดสินใจ
  • input 30 ตัวไม่ถูกอ่าน (Show gFlip labels, สี g1/g2/g3, PHI/Delta line style, Q-Block colours …) เปลี่ยนแล้วไม่มีผล
  • Bubble Context บน M3 มี 3 intrabar แบ่ง 20 bins = แทบสุ่ม · label pool รวม ~2,250 แต่ cap 500

Liq Heat Map + Vol Prof v22

แก้แล้ว

  • ⑮ Confluence นับ iceberg ทั้งสองฝั่ง → นับตามฝั่ง (VAL→buy · VAH→sell)
  • ⑮ “ใกล้ระดับสำคัญ” ใช้ RQ-kernel เร็วที่เกาะราคาตลอด → ใช้ kernel ช้าเท่านั้น · แถบ Monte Carlo หมดอายุตามหน้าต่างฉาย
  • ⑳ Donchian breakout ยิงซ้ำทุกแท่งที่ทำ new high และรีเซ็ต impulse → ยิงครั้งเดียวต่อทิศ
  • กล่อง “dip-buy zone” เขียนเขียวทั้งขาขึ้นขาลง → ขาลงเขียน “rally-sell zone” สีแนวต้าน
  • ta.atr(14) ในบล็อก islast (ป้ายอาจอยู่ที่ na) → ATR global ตัวเดียว

ยังเปิดอยู่

  • กล่อง Monte Carlo 200 กล่อง/100 แท่งไม่เคยลบ → cap 500 กวาดกล่อง HTF pattern เก่าทิ้ง
  • HTF pattern และ ⑮/⑯ อ่าน HTF แบบไม่ shift · ⑯ บนชาร์ต H1 เงื่อนไข “M5+H1” ยุบเหลือ H1
  • ตัวแปรตาย: _vp_top/_bot · mc_bandMax/Min · hm_labels · mc_srLines · ⑱ CVD gate หน้าต่างผิด (นับหลัง pivot)

QC MomentumConfluence v13

แก้แล้ว

  • Hurst บน log-return (สูตรเดียวกับ Gold Session)
  • session เป็นเวลานิวยอร์ก ปิดช่องโหว่ 17:00–20:00 · LBMA/CME คนละเขตเวลา

ยังเปิดอยู่

  • MTF kNN อ่านแท่ง H1/H4 ที่ยังวิ่งอยู่ · บน M3 kNN ของ H4 ไม่เคยถึง k=50 และเกณฑ์ OB/OS นับเป็นแท่งชาร์ต → “H4 OB” บน M3 กับบน H1 คนละความหมาย
  • เกณฑ์ DELTA 5.0 เป็นหน่วย volume ดิบ → เงื่อนไขซื้อจริง 98% / ขายจริง 1.8% ของแท่ง
  • Fast-RSI 34 กับ 90/10 เกิด 0.01% ของแท่ง (ค่าของเจ้าของชาร์ต) · Adaptive SMI ทำให้ SMI ของ QC ไม่ใช่ตัวเดียวกับที่ GEX ใช้ gate · ป้าย DIV วาดย้อน 5 แท่งโดยไม่บอก

Gold Session Framework v11

แก้แล้ว

  • กฎ tick ถือเครื่องหมายเดิมเมื่อ close ไม่เปลี่ยน (เดิมทิ้ง volume ของนาทีนั้น)
  • gate EMA ของ ±RD เทียบที่แท่ง pivot ไม่ใช่ EMA ปัจจุบัน
  • Chandelier ที่กรอบเวลาเร็วกว่าชาร์ตถูกปิด (Ch1 “3” บน H1) · alert VARS เคารพสวิตช์หลัก · header/ตาราง/ดีบักอัปเดต

ยังเปิดอยู่

  • CVD เย็บสามแหล่งคนละหน่วย (footprint → tick → CLV) → divergence ปลอมตรงรอยต่อ โดยเฉพาะ H1
  • Chandelier Ch2/Ch3 และ CRD อ่าน HTF แบบไม่ shift · M10 บน M3 ไม่ลงตัว (แท่ง :09–:12 คร่อมขอบ) · anchor 4 แบบในไฟล์เดียว
  • ซาก rev1–3 (พารามิเตอร์ที่ไม่ใช้ สาขา bid/ask) · tooltip “100 tick = 0.10$” ผิดถ้า mintick 0.01

4 · ค่าตั้งและ Style ถูกเก็บอย่างไร

กฎของเว็บนี้คือค่าตั้งต้องมาจากชาร์ตจริงเสมอ รอบนี้จึงอ่าน Input ทุกตัว, Style tab ของทุก plot และการซ่อนกลุ่มวาด ของทั้งสี่ study ทั้งสอง pane ออกมาก่อนแตะไฟล์ แล้วใส่กลับเป็นค่าเริ่มต้นของไฟล์ใหม่ · M3 และ H1 ตั้งค่าต่างกันหลายจุด (GEX ต่าง 15 ตัว · Gold Session 17 ตัว) จึงมีไฟล์สองชุด: ชุดหลักสำหรับ M3 และชุด TFH1 สำหรับ H1 ที่โค้ดเหมือนกันทุกบรรทัด · ตรวจบนชาร์ตแล้วว่า input ตรงกับที่เก็บ 268 / 220 / 138 / 192 ตัว (ต่างหนึ่งค่า: ความโปร่งใสของสี 0.146 → 0.15 จากการปัดเลข)

ขั้นวิธี
คอมไพล์translate_light API ของ TradingView ผ่าน Research/pine_compile_check.py — ไม่แตะ editor
สแกน repaintResearch/tv_repaint_scan.py : R1 look-ahead · R2 วาดใหม่ทั้งแท่งสุดท้าย · R3 pivot วาดย้อน · R4 ค่า HTF สั่นตอนสด
เก็บค่าตั้งอ่าน metaInfo() + properties().state() ของทุก study ทั้งสอง pane ผ่าน CDP → Input ทุกตัว, Style tab ทุก plot, การซ่อนกลุ่มวาด
จับคู่ input ↔ ซอร์สตามลำดับการประกาศ · ⚑ TradingView รายงาน input.string เป็น type “text” เหมือน source blob — ต้องกรองด้วย id ไม่ใช่ type (เจอตอนเทียบบนชาร์ต)
สร้างไฟล์ใหม่_settings/build_*.py : แก้ทีละจุดพร้อม assert ว่าพบครั้งเดียว → ใส่ค่าตั้งเป็น default → ใส่ Style ที่โค้ดตั้งได้ (display / linewidth / plottype) → คอมไพล์
ตรวจบนชาร์ตวางลงสคริปต์ใหม่ (เมนู Create new → Indicator) → Add to chart → อ่านสถานะ → เทียบ input ทุกตัวกับที่เก็บ → ใส่ Style ที่โค้ดตั้งไม่ได้ (เส้น dotted · ซ่อน Lines/Tables) แล้วเทียบอีกครั้ง → ลบ study ทดสอบ

สิ่งที่โค้ด Pine ตั้งให้ไม่ได้และต้องตั้งใน Style tab เอง: เส้นแบบ dotted (GEX g1/g2/g3 · LiqHM VWAP band · QC SMI) และการปิด Lines / Tables / Polylines ของ study — เจ้าของชาร์ตตั้งเองหลัง add ทั้งสอง pane

5 · ทำไมระดับ 2–4 ยังไม่ทำ

ระดับ 2 (ให้ประวัติเท่ากับสด) แลกกับสัญญาณสดที่ช้าลงหนึ่งแท่งของกรอบเวลาสูงกว่า — จำเป็นก่อนจะใช้การเลื่อนดูย้อนหลังหรือ replay ตัดสินว่าสัญญาณไหน “แม่น” แต่ไม่จำเป็นสำหรับการเทรดสดที่ผู้ใช้อยู่กับพฤติกรรมสดอยู่แล้ว · ระดับ 3 (ลดความซ้ำซ้อน) เป็นเรื่องการอ่าน: ถ้าจำได้ว่า Rejection ที่ขึ้นสาม pane คือสัญญาณเดียว ก็ไม่เสียหาย · ระดับ 4 (ประสิทธิภาพ) ทำตอนแก้ไฟล์ครั้งถัดไป · เจ้าของชาร์ตเลือกใช้ชุดระดับ 1 ไปก่อนและไม่ทำต่อ — ซึ่งถูก เพราะไม่มีข้อไหนร้ายแรง และงานวิจัยไม่กระทบ (พอร์ตใน Python ใช้แท่งที่ปิดแล้วเสมอ)

ข้อบกพร่องเหล่านี้ไม่ได้อธิบายว่าทำไมสมมติฐาน 1,342 ข้อไม่ผ่าน — งานวิจัยพอร์ตสูตรจากซอร์สและตรวจกับชาร์ตสดทุกครั้ง จึงไม่ได้พึ่ง z-score ที่ผิดหรือ Hurst ที่ผิด · สิ่งที่มันอธิบายคือทำไมบางป้ายบนจอ (GVZ CRISIS · H:0.91 TREND · dip-buy ในขาลง) ไม่เคยตรงกับความรู้สึก