งานวิจัย · ทำซ้ำข้ออ้างภายนอก · S52
บอตทองที่ Claude เขียน
ทำซ้ำ OCO straddle ±1% แล้วไม่ผ่าน
เจ้าของชาร์ตส่งวิดีโอ “I Asked Claude AI to Build a Gold Trading Bot (And It Actually Works)” มาให้เรียนรู้ · ระบบง่ายที่สุดที่นึกออก: ทุกวันเวลาเดิมวาง buy stop เหนือราคา 1% และ sell stop ใต้ราคา 1% ใครฟิลก่อนยกเลิกอีกฝั่ง SL 1% · ผู้ทำโชว์ backtest MT5 ตั้งแต่ 2015 ที่ไม่กำไรจนราวปี 2020 แล้วกำไรหลังจากนั้น และยังไม่มีการทดสอบนอกตัวอย่าง · ที่น่าทดสอบคือ SL 1% ≈ 40 bp ทำให้สเปรดกับสลิปเพจเหลือราว 0.01R — ต่างจากทุกงาน M3 ของเราที่ต้นทุนกิน 0.05–0.11R · ถ้าไม่ผ่านครั้งนี้ ตัวฆ่าจะไม่ใช่ต้นทุน
1 · การตีความและกติกา (แช่แข็งก่อนเห็นผล)
- “06:00” ในวิดีโอ = เวลาเซิร์ฟเวอร์ MT5 มาตรฐาน (EET ผูกกับปิดตลาดนิวยอร์ก) → วางคำสั่ง 23:00 นิวยอร์ก · ลบคำสั่ง 18:00 เซิร์ฟเวอร์ = 11:00 NY ของวันถัดไป · ผู้ทำไม่ได้บอกเขตเวลา จึงบันทึกเป็นข้อจำกัด ไม่ขยายเป็นหลายเวลา
- buy stop ที่ P0 × 1.01 · sell stop ที่ P0 × 0.99 · OCO · SL 1% ของ P0 · TP 1% หรือ 2% · สองโหมด: C ปิดไม้ที่ยังเปิดตอน 11:00 NY (ตามวิดีโอ) และ H ถือจนชน SL/TP (เพดาน 5 วัน) → 4 เซลล์
- ต้นทุน: สเปรดบัญชีจริง 0.42 bp × รูปร่างรายชั่วโมง · stop ขาเข้าชน ask/bid + สลิป 0.340 bp · SL สลิป 0.205 bp · นาทีเดียวแตะทั้งคู่ = SL
- ตัวควบคุม: Sharpe รายวันเทียบถือทอง และการถือทองที่ปรับความผันผวนให้เท่ากลยุทธ์ · วาง OCO เดียวกันที่ต้นชั่วโมงสุ่มของวันเดียวกัน 10 รอบ
- อำนาจ: DEV ฟิลแค่ 258 วันจาก 1,286 (ปี 2017 มี 20 ไม้) → เกณฑ์ z 3.80 ต้องได้ราว +0.24R ซึ่งแทบเป็นไปไม่ได้ · แผนจึงระบุล่วงหน้าว่าจะดู VAL หนึ่งครั้งไม่ว่า DEV จะผ่านหรือไม่ เพราะข้ออ้างภายนอกระบุช่วงเวลาไว้เอง (เกณฑ์ VAL: R > 0 · z ≥ 2 · Sharpe > ถือทอง · ชนะชั่วโมงสุ่ม z ≥ 2)
| ปี | วันที่ฟิล / วันที่วางคำสั่ง |
|---|---|
| 2015 | 91 / 258 |
| 2016 | 75 / 258 |
| 2017 | 20 / 256 |
| 2018 | 28 / 258 |
| 2019 | 44 / 256 |
| 2020–22 (VAL) | 264 / 775 |
2 · DEV 2015–2019 — เหมือนที่ผู้ทำเห็นเอง: ไม่ทำเงิน
| เซลล์ | ไม้ | R สุทธิ | ก่อนต้นทุน | ชนะ | ออก | Sharpe | ต่อปี | DD | ถือทอง (ปรับ vol) ต่อปี | DD | ชั่วโมงสุ่ม | z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TP 1% · ปิด 11:00 NY | 258 | -0.0064 | -0.0011 | 47% | time 85% | -0.04 | -0.14% | -6.9% | +1.52% | -5.6% | +0.0011 | -0.16 |
| TP 1% · ถือจนชน | 258 | +0.0169 | +0.0214 | 50% | TP 45% · SL 43% | +0.35 | +2.19% | -9.3% | +2.80% | -10.1% | +0.0252 | -0.08 |
| TP 2% · ปิด 11:00 NY | 258 | -0.0014 | +0.0040 | 47% | time 93% | +0.03 | +0.11% | -6.3% | +1.61% | -5.9% | +0.0122 | -0.33 |
| TP 2% · ถือจนชน | 258 | +0.0534 | +0.0585 | 42% | SL 49% · time 31% | +0.27 | +2.23% | -13.2% | +3.66% | -13.1% | +0.0113 | 0.32 |
Sharpe ของการถือทองช่วงเดียวกัน +0.45 — ไม่มีเซลล์ไหนชนะ · ผลไม่ต่างจากการวางคำสั่งเดียวกันที่ชั่วโมงสุ่ม (z −0.3 ถึง +0.3) · ผ่าน 0/4 ตามคำทำนายข้อ 1
3 · VAL 2020–2022 — ช่วงที่ผู้ทำอ้างว่ากำไร
| เซลล์ | ไม้ | R สุทธิ | ก่อนต้นทุน | ชนะ | ออก | Sharpe | ต่อปี | DD | ถือทอง (ปรับ vol) ต่อปี | DD | ชั่วโมงสุ่ม | z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TP 1% · ปิด 11:00 NY | 264 | +0.0521 | +0.0572 | 54% | time 74% | +0.57 | +3.09% | -6.9% | +2.39% | -7.6% | -0.0141 | 1.48 |
| TP 1% · ถือจนชน | 264 | -0.0400 | -0.0355 | 48% | SL 49% · TP 46% | -0.78 | -6.63% | -22.7% | +3.75% | -11.7% | -0.0203 | -0.25 |
| TP 2% · ปิด 11:00 NY | 264 | +0.0441 | +0.0494 | 52% | time 85% | +0.55 | +3.38% | -6.9% | +2.70% | -8.5% | -0.0105 | 0.98 |
| TP 2% · ถือจนชน | 264 | -0.0154 | -0.0104 | 38% | SL 57% · time 20% | -0.36 | -4.10% | -19.7% | +5.00% | -15.3% | +0.0563 | -0.65 |
| รายปี (R สุทธิ) | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 |
|---|---|---|---|---|---|---|---|---|
| ปิด 11:00 · TP 1% | -0.007 | -0.005 | -0.063 | +0.010 | +0.009 | +0.014 | +0.127 | +0.036 |
| ถือ · TP 1% | -0.141 | +0.128 | +0.169 | +0.116 | +0.023 | +0.020 | +0.020 | -0.160 |
| ปิด 11:00 · TP 2% | -0.003 | +0.025 | -0.063 | +0.010 | -0.021 | -0.011 | +0.123 | +0.046 |
| ถือ · TP 2% | -0.107 | +0.226 | +0.137 | +0.082 | +0.036 | +0.021 | +0.054 | -0.115 |
- ดีขึ้นจริงตั้งแต่ 2020 แต่เฉพาะโหมดปิดไม้ 11:00 NY: +0.05R ต่อไม้ ≈ +3.1% ต่อปีที่เสี่ยง 1% ต่อไม้ DD −6.9% · ทั้งซื้อและขายเป็นบวก · แทบไม่สัมพันธ์กับการถือทอง (corr −0.10) · Sharpe 0.57 ชนะถือทอง 0.44 ในเซลล์นี้ — แต่ z 1.42 ไม่ถึงเกณฑ์ 2 และชนะการวางชั่วโมงสุ่มไม่ถึงเกณฑ์ (z 1.48)
- ถ้าถือไว้จนชน SL/TP จะขาดทุน โดยเฉพาะปี 2022 (−0.16R) และ Sharpe ติดลบ — ตรงข้ามกับสัญชาตญาณ “ปล่อยให้กำไรวิ่ง”
- ต้นทุนราว 0.005R ต่อไม้ตามที่คาด — ครั้งนี้ต้นทุนไม่ใช่ตัวฆ่า สิ่งที่ขาดคือแรงไปต่อหลังทะลุ ±1% ซึ่งมีน้อยและไม่คงที่
VAL ผ่าน 0 จาก 4 · ทำซ้ำข้ออ้าง “กำไรตั้งแต่ 2020” ไม่ได้ · ข้อมูล 2023–26 ไม่ถูกแตะ: ต่อให้ +0.05R เป็นของจริง ต้องใช้ราว 1,900 ไม้ (≈ 7 ปี) จึงจะถึงเกณฑ์ระดับโปรแกรม ห้องนิรภัยรวมกับ VAL มีแค่ ~650 ไม้ เปิดดูก็สรุปไม่ได้
4 · บั๊กที่พบระหว่างรัน (เปิดเผย)
ตอนดู VAL ครั้งแรก โหมดปิด 11:00 มีเซลล์ละหนึ่งไม้ที่ R เป็น NaN เพราะฟิลในนาทีสุดท้ายก่อนเวลาปิดบังคับ (ฟีเจอร์ exit_end_tmin ที่เพิ่มเข้า exec_model สำหรับงานนี้) ·
แก้ให้ปิดที่ราคาปิดของนาทีที่ฟิล เพิ่มเทสต์ (18/18) · รัน DEV ซ้ำได้ผลเหมือนเดิมทุกตัว · VAL จึงถูกดูสองครั้งเพราะบั๊กนี้ บันทึกไว้ในไฟล์ล็อกของแผน
สิ่งที่ใช้ได้
- ระบบนี้ใช้เป็นระบบหลักไม่ได้ · ถ้าจะลอง ให้ใช้เฉพาะแบบปิดไม้ 11:00 NY ขนาดเล็ก และมองเป็นตัวกระจายความเสี่ยงที่ผลตอบแทนต่ำ — อย่าถือจนชน SL/TP
- บทเรียนเรื่อง “AI เขียนบอตให้” : โค้ดที่ Claude เขียนจากหนึ่ง prompt ทำงานได้จริงตามที่ผู้ทำอ้าง — แต่การที่โค้ดถูกไม่ได้บอกว่ากลยุทธ์มีขอบ นี่คือคำถามที่ต้องตรวจแยกต่างหากเสมอ
- SL กว้าง (~40 bp) คือครั้งแรกในโปรแกรมที่ต้นทุนหายไปจากสมการ — ทำให้เห็นชัดว่าสัญญาณทะลุระดับคงที่บนทองมีแรงไปต่อน้อยเพียงใดโดยตัวมันเอง