XAULearn

คลังความรู้ · ระบบและการทดสอบ

บอทเรียนรู้เสริมแรงบนทอง 60% นอกตัวอย่าง — และสิ่งที่เครื่องมือโอเพนซอร์ส 11 ตัวบอกเรื่องการพิสูจน์

CodeTrading ปล่อยบอท RL เทรดทอง 20 ปี ได้ 60% บนข้อมูลที่ไม่เคยเห็น แล้วใช้ครึ่งคลิปพยายามหักล้างผลของตัวเอง · ⭐ ด่านที่ดีที่สุดของเขาคือ ประตูความสม่ำเสมอ — ไม่ถามว่ากำไรรวมเท่าไร แต่ถามว่า มีกี่ช่วงเวลาที่ทำเงินได้เองโดยอิสระ · ⚑⚑ และเขาโชว์ตัวอย่างโมเดลที่เทรน +86% เหลือ +12% ตอนตรวจสอบ และ +6.9% บนข้อมูลจริง · เราเทียบกับเครื่องมือโอเพนซอร์ส 11 ตัวที่ผู้ใช้ส่งมา และวัดสิ่งที่คลิปไม่ได้วัดบนทองของเราเอง

เรียบเรียงจากวิดีโอต้นทาง · ไม่ใช่คำแนะนำการลงทุน ระดับ สูง 21 นาที เผยแพร่ 18 มิถุนายน 2569 ต้นฉบับภาษาอังกฤษ

วิดีโอต้นทาง

“I Built a Gold RL Trading Bot With 60% OOS Returns [Free Code]”

โดย CodeTrading · ผู้พูด: CodeTrading

หน้านี้เป็นการเรียบเรียงเป็นภาษาไทยโดย XAULearn ไม่ใช่การถอดคำต่อคำและไม่ใช่คำบรรยายทางการของช่อง ลิขสิทธิ์เนื้อหาต้นฉบับเป็นของผู้ผลิตวิดีโอ ตัวเลขเวลาในบทความอ้างอิงตำแหน่งในคลิปเพื่อให้กลับไปดูต้นทางได้ เปิดใน YouTube →

สรุป 9 ข้อ

  1. ⭐ ประตูความสม่ำเสมอ คือของดีที่สุดในคลิป (10:22) — ไม่ถามว่ากำไรรวมเท่าไร แต่ถามว่า *มีกี่ช่วงเวลาที่ทำเงินได้เองโดยอิสระ* · เขาพูดไว้ตั้งแต่ 3:06 ว่า "ถ้าช่วงเวลาส่วนใหญ่ออกมาเป็นบวก นั่นคือลายนิ้วมือของขอบที่มีจริง ไม่ใช่ความบังเอิญในช่วงเดียว"
  2. ⚑⚑ ตัวเลขที่ควรจำที่สุดคือตัวเลขที่เขาเอามาเตือน (12:11–12:21) — โมเดลหนึ่งให้ +86% ตอนเทรน → +12% ตอนตรวจสอบ → +6.9% บนข้อมูลที่ไม่เคยเห็น และเขาบอกว่าบางครั้งตัวสุดท้ายติดลบด้วยซ้ำ
  3. หน้าต่างเลื่อนขนาดคงที่ (3:30) — เทรน ตรวจสอบ และทดสอบ เลื่อนไปข้างหน้าพร้อมกัน ข้อมูลเก่าสุดหล่นออก · ต่างจากการแบ่งครั้งเดียวที่ใช้กันทั่วไป
  4. เลือกจุดบันทึกด้วยสองคะแนน ไม่ใช่เอาตัวสุดท้าย (7:28) — บันทึกหลายจุดระหว่างเทรน แต่ละจุดต้องผ่านคะแนนบนหางของข้อมูลเทรน *และ* บนข้อมูลตรวจสอบ
  5. รางวัล = เงินที่ทำได้ ลบ บทลงโทษเมื่อขาดทุนสะสมลึก (8:53) — ไม่ใช่กำไรดิบ · เขาเรียกฟังก์ชันรางวัลว่า "หัวใจของการเรียนรู้เสริมแรง" (3:48)
  6. ⭐ กฎการนำเสนอที่เขาย้ำท้ายคลิป (20:06) — *"อย่าใช้ค่าสัมบูรณ์ ... ถ้าผมบอกว่าทองอยู่ที่ 4,100 ดอลลาร์ตอนนี้ มันไม่มีความหมายอะไรเลย แต่ถ้าผมบอกว่าพิสัยคือ 10 ดอลลาร์ต่อชั่วโมง นั่นมีความหมายเรื่องความผันผวน"* — ป้อนอัตราส่วนให้โมเดล ไม่ใช่ราคา
  7. ⚑ เครื่องมือโอเพนซอร์ส 11 ตัวที่สำรวจ — 6 ตัวเป็นคริปโตล้วน (freqtrade · hummingbot · Superalgos · OctoBot · jesse และ repo ของคลิป) · backtrader หยุดพัฒนาแล้ว (พุชล่าสุด 19 ส.ค. 2024) · ตัวที่ใช้กับทองสปอตได้จริงคือ Lean · nautilus_trader · qlib
  8. ⭐ สามอย่างที่เครื่องมือเหล่านั้นมีและเรายังไม่มี — แบบจำลองความหน่วง (nautilus) · สลิปเพจตามส่วนแบ่งปริมาณและผลกระทบตลาด (Lean มี 7 แบบ) · และกรอบตัดสินใจซ้อนชั้นที่แยก TF ของสัญญาณออกจาก TF ของการส่งคำสั่ง (qlib)
  9. ⚑⚑ และสิ่งที่เรามีแต่เครื่องมือเหล่านั้นไม่มี — ต้นทุนที่ วัดจากโบรกเกอร์จริงบนสินทรัพย์จริง (สเปรด 0.42 bp ตามรูปชั่วโมง · สลิปสต็อป +0.287 bp จากการตรวจจริง 394 ไม้) ของเขาทุกตัวเป็นแบบจำลองที่ต้องไปคาลิเบรตเอง

ทำไมหน้านี้อยู่ในคลัง — เพราะครึ่งหลังของคลิปคือสิ่งที่คลังนี้ทำมาตลอด: ได้ตัวเลขที่ดูดีมาแล้วพยายามหักล้างมันเอง · และเพราะผู้พูดแสดงตัวเลขที่ทำลายข้ออ้างของตัวเองให้ดูด้วย ซึ่งหายากในหมวดนี้ · ส่วนที่เราเติมคือการสำรวจเครื่องมือ 11 ตัว และสิ่งที่เราวัดเองบนทอง

1. ข้อเสนอหลัก และสิ่งที่ผู้พูดทำกับมัน 0:02

เขาเปิดด้วยตัวเลข: บอทเรียนรู้เสริมแรงเทรดทองบนข้อมูล 20 ปี ได้ 60% บนข้อมูลนอกตัวอย่าง แล้วพูดประโยคที่ทำให้คลิปนี้ต่างจากคลิปอื่นในหมวดเดียวกันทันที

“นั่นอาจเป็นขอบที่มีจริง หรือเป็นการรันที่โชคดีครั้งเดียว · โปรเจกต์ทั้งหมดนี้คือความพยายามของผมที่จะแยกสองอย่างนั้นออกจากกัน”

ตัวแทน (agent) ทำได้แค่สามอย่าง — ซื้อ ขาย หรืออยู่เฉย (1:22) · เมื่อเปิดไม้ มันตั้งสต็อปจาก ATR ณ ขณะนั้น ความเสี่ยงจึงปรับตามความผันผวนของทองเอง และตั้งเป้าเป็นตัวคูณของความเสี่ยง · เขาจงใจให้ชุดการตัดสินใจเล็กและสะอาด “เพื่อให้เราเห็นจริง ๆ ว่าอะไรทำงาน”

2. โครงการพิสูจน์สามชั้น

ชั้นที่ 1 — หน้าต่างเลื่อนขนาดคงที่ 3:30

แทนการแบ่งข้อมูลครั้งเดียวเป็นเทรน/ตรวจสอบ/ทดสอบ เขาให้ทั้งสามส่วนเลื่อนไปข้างหน้าพร้อมกัน และข้อมูลเก่าสุดหล่นออก ทำให้ได้ช่วงเวลาหลายช่วง (folds) แทนที่จะได้คำตอบเดียว

เหตุผลอยู่ที่ 3:06: “ถ้าช่วงเวลาส่วนใหญ่ออกมาเป็นบวก นั่นคือลายนิ้วมือของขอบที่มีจริง ไม่ใช่ความบังเอิญในช่วงเดียว”

ชั้นที่ 2 — เลือกจุดบันทึกด้วยสองคะแนน 7:28

โมเดลไม่ได้ถูกบันทึกแค่ตอนจบการเทรน · เขาบันทึกหลายจุดระหว่างทาง และทุกจุดต้องผ่านคะแนนสองตัว — ตัวหนึ่งบนหางของข้อมูลเทรน อีกตัวบนข้อมูลตรวจสอบ เพื่อเลี่ยงทั้งการจำข้อมูลและการเลือกโมเดลที่ไม่เข้ากับช่วงนั้น

ฟังก์ชันรางวัล ซึ่งเขาเรียกว่า “หัวใจของการเรียนรู้เสริมแรง” (3:48) คือ เงินที่ทำได้ ลบบทลงโทษเมื่อขาดทุนสะสมลึก (8:53) ไม่ใช่กำไรดิบ

⭐ ชั้นที่ 3 — ประตูความสม่ำเสมอ 10:22

นี่คือส่วนที่มีค่าที่สุดของคลิป และเป็นสิ่งที่เอาไปใช้กับงานอะไรก็ได้ ไม่ใช่แค่ RL

“ประตูนี้ถามคำถามง่าย ๆ ว่า มีช่วงเวลามากพอไหมที่ทำเงินได้เองโดยอิสระ”

ไม่ใช่ “กำไรรวมเป็นบวกไหม” เพราะกำไรรวมบวกได้จากช่วงเดียวที่ระเบิด · เป็นด่านเดียวกับที่คลังนี้ใช้ตอนรายงานผลรายปี และเป็นเหตุผลที่เราเขียนกำกับไว้เสมอว่า “บวกกี่ปีจาก 5 ปี”

3. ⚑⚑ ตัวเลขที่เขาเอามาทำลายข้ออ้างตัวเอง 12:11

เขาเปิดโมเดลที่โอเวอร์ฟิตให้ดูเป็นตัวอย่าง:

ชุดข้อมูลผลตอบแทน
เทรน+86%
ตรวจสอบ+12%
ทดสอบ (ไม่เคยเห็น)+6.9%

และเติมที่ 12:23 ว่า “บางครั้งคุณอาจได้ค่าติดลบตรงนี้ ซึ่งไม่น่าแปลกใจ”

86 → 12 → 6.9 คือรูปร่างของการโอเวอร์ฟิตที่อ่านได้ด้วยตาเปล่า และการที่เขาเอามาโชว์เองทำให้ตัวเลข 60% ในหัวคลิปน่าเชื่อถือขึ้น ไม่ใช่น้อยลง — เพราะเขาแสดงให้เห็นว่าเขารู้ว่ากำลังระวังอะไรอยู่

เขายังเทียบกับเส้นฐานที่เป็น EMA (14:13) ไม่ใช่เทียบกับศูนย์ ซึ่งตรงกับกฎของคลังนี้

4. เครื่องมือโอเพนซอร์ส 11 ตัว — อะไรใช้กับทองได้จริง

สำรวจจาก API ของ GitHub เมื่อ 5 ตุลาคม 2026 ทุกตัวเลขดึงสด:

เครื่องมือดาวไลเซนส์อัปเดตล่าสุดใช้กับทองสปอตได้ไหม
OpenBB73,861NOASSERTION2026-10-02เป็นแพลตฟอร์มข้อมูล ไม่ใช่เครื่องทดสอบ
freqtrade55,042GPL-3.02026-10-05⚑ คริปโตล้วน
qlib49,155MIT2026-09-22✅ หุ้นเป็นหลัก แต่กรอบประเมินย้ายมาได้
nautilus_trader29,633LGPL-3.02026-10-05✅ หลายสินทรัพย์ · เขียนด้วย Rust
backtrader23,396GPL-3.02024-08-19⚑⚑ หยุดพัฒนาไปแล้วกว่า 2 ปี
Lean21,864Apache-2.02026-10-05✅ รองรับ CFD/ฟอเร็กซ์/ฟิวเจอร์สจริง
hummingbot20,308Apache-2.02026-10-05⚑ คริปโตล้วน · เน้นทำตลาด
jesse8,611MIT2026-10-05⚑ คริปโตล้วน
OctoBot6,679GPL-3.02026-10-05⚑ คริปโตล้วน
Superalgos5,674Apache-2.02026-10-04⚑ คริปโตล้วน
repo ของคลิปนี้160ไม่มีไลเซนส์2026-06-16อ่านได้ ⚑ ไม่มีไฟล์ LICENSE = สงวนสิทธิ์ทั้งหมด นำโค้ดไปใช้ซ้ำไม่ได้ตามกฎหมาย

⭐ สามอย่างที่เครื่องมือเหล่านี้มี และเรายังไม่มี

ตรวจจากโครงสร้างไฟล์จริงในแต่ละ repo:

  1. แบบจำลองความหน่วง — nautilus_trader มี crates/execution/src/models/latency.rs และเครื่องจับคู่คำสั่งเต็มรูปแบบ · ของเรามีแค่ด่าน “หน่วงฟิล 1 นาที” ซึ่งเป็นด่าน ไม่ใช่แบบจำลอง
  2. สลิปเพจตามขนาดไม้ — Lean มี 7 แบบจำลองสลิปเพจ รวมถึง MarketImpactSlippageModel และ VolumeShareSlippageModel และ 36 แบบจำลองค่าธรรมเนียม · ของเราไม่ขึ้นกับขนาดไม้เลย
  3. กรอบตัดสินใจซ้อนชั้น — qlib มี examples/nested_decision_execution ซึ่งแยก TF ของการตัดสินใจออกจาก TF ของการส่งคำสั่งอย่างเป็นทางการ · เป็นรูปแบบเดียวกับที่เราทำด้วยมือทุกครั้งที่ใช้ H1 เป็นบริบทแล้วส่งคำสั่งบน M3

⚑⚑ และสิ่งที่เรามี แต่เครื่องมือเหล่านั้นไม่มี

ต้นทุนที่วัดจากโบรกเกอร์จริงบนสินทรัพย์จริง — สเปรด 0.42 bp ตามรูปชั่วโมง และสลิปสต็อป +0.287 bp ที่มาจากการตรวจจริง ไม่ใช่การสมมติ

แบบจำลองทุกตัวในเครื่องมือเหล่านั้นเป็นโครงที่ต้องเอาตัวเลขไปใส่เอง · การย้ายไปใช้เครื่องมือเหล่านั้นจึงไม่ได้ทำให้การทดสอบแม่นขึ้นโดยอัตโนมัติ — ต้องไปหาตัวเลขเดิมที่เราวัดมาแล้วใส่กลับเข้าไปอยู่ดี

5. การวิเคราะห์ — สิ่งที่เราวัดแล้ว

เราไม่ได้รันบอท RL ซ้ำ แต่เราเอาวินัยของเขาไปใช้กับงานของเราเองในวันเดียวกัน และมันจับของปลอมได้สองครั้ง

ประตูความสม่ำเสมอทำงาน — ในงานภายในเรื่องระดับ VWAP ของเรา ช่องหนึ่งให้ส่วนเกิน +0.124R ที่ z 3.40 ซึ่งสูงกว่าทุกอย่างที่โปรแกรมเราเคยวัดได้ แต่มันบวกแค่ช่องเดียวจากหกช่องในตารางเดียวกัน ส่วนเพื่อนบ้านให้ +0.018 / −0.033 / +0.036 · ตามเกณฑ์ของเขา (“ช่วงเวลาส่วนใหญ่ต้องเป็นบวกเอง”) ช่องนี้ตกทันที — และด่านระดับปลอมก็ยืนยันหลังจากนั้นว่ามันไม่จริง

กฎ “อย่าใช้ค่าสัมบูรณ์” ของเขามีราคาที่วัดได้ — เราวัดการกระจายตัวของราคารอบ VWAP บนทอง M1 ปี 2015–2019 แล้วพบว่า ส่วนเบี่ยงเบนมาตรฐานที่สะสมภายในเซสชันเป็นตัวหารที่กลบหางของตัวเอง (ส่วนเกินความโก่ง −0.3 ถึง −0.5 คือหางบางกว่าปกติ) แต่เมื่อเปลี่ยนไปใช้ค่าที่รู้ล่วงหน้าจากพิสัยของเซสชันเดียวกัน 20 ครั้งก่อน ค่าเดียวกันกลายเป็น +4.0 ถึง +68 ซึ่งคือหางอ้วนของจริง · เป็นข้อเดียวกับที่เขาพูดที่ 20:06 แต่ในรูปที่ตรวจสอบได้

และสิ่งที่เราวัดได้ซึ่งคลิปไม่มี — หลังราคาแตะระดับสุดขั้ว มันกลับเข้าหา VWAP ก่อนจะไปต่อ มากกว่าที่การเดินสุ่มทำนายไว้ 16 ถึง 23 จุดเปอร์เซ็นต์ ในทั้ง 12 ช่องที่วัด (z −4.0 ถึง −16.7) · นั่นเป็นพฤติกรรมที่มีจริงและใหญ่ แต่ยังแปลงเป็นการเทรดไม่ได้ เพราะสต็อปที่ตรรกะนั้นเรียกร้องอยู่ที่ 0.10–0.16 เท่าของ ATR ซึ่งต่ำกว่าเส้นที่เราวัดไว้ว่าสต็อปเริ่มถูกข้าม

6. สิ่งที่คลิปไม่มี

  • ไม่มีต้นทุนที่ตรวจสอบได้ — คลิปไม่ได้ระบุสเปรด ค่าคอมมิชชัน หรือสลิปเพจที่ใช้ · บนทอง ต้นทุนคือตัวแปรที่ฆ่ากลยุทธ์มากที่สุด
  • ไม่มีจำนวนไม้ในผลหลัก — มีการพูดถึงจำนวนไม้ที่ 16:27 แต่ตัวเลข 60% ไม่ได้มาพร้อมขนาดตัวอย่างหรือช่วงความเชื่อมั่น
  • ไม่เทียบกับการถือทอง — เส้นฐานเป็น EMA ซึ่งดีกว่าเทียบศูนย์ แต่ทองขึ้นมามากในช่วง 20 ปี การถือเฉย ๆ ที่ปรับความเสี่ยงเท่ากันคือคู่เทียบที่ตรงกว่า
  • 60% คือผลตอบแทนสะสม ไม่ใช่ต่อปี และไม่มีค่าขาดทุนสะสมสูงสุดกำกับในหัวคลิป

7. ตั้งคำถามกับคลิปนี้

“60% นอกตัวอย่าง แปลว่ามีขอบไหม” — คลิปเองไม่ได้อ้างแบบนั้น เขาอ้างว่า พยายามแยกให้ออกว่าเป็นขอบหรือโชค และเปิดตัวอย่างโมเดลที่พังให้ดู · เขายังขอให้คนช่วยตรวจโค้ด (20:49) และบอกว่าตรวจการรั่วของข้อมูลแล้วไม่เจอ (20:42) ซึ่งเป็นการอ้างที่ตรวจสอบได้ เพราะโค้ดเปิดอยู่

“ทำไม repo ถึงสำคัญกว่าที่คิด” — เพราะมันมีไฟล์ชื่อ leakage_checks.py, baselines.py และ final_holdout_eval.py อยู่จริง นั่นคือวินัยที่เขาอ้าง แปลงเป็นโมดูลถาวร ไม่ใช่การตรวจครั้งเดียว ⚑ แต่ repo ไม่มีไฟล์ LICENSE จึงอ่านเพื่อเรียนรู้ได้ นำโค้ดไปใช้ซ้ำไม่ได้

8. ใคร ทำอะไร ที่ไหน อย่างไร

ใครCodeTrading — ช่องสอนเขียนโค้ดเทรด · เผยแพร่ 18 มิถุนายน 2026 · ยาว 21 นาที
ทำอะไรเทรนตัวแทน PPO ให้เทรดทองด้วยชุดการตัดสินใจ 3 อย่าง สต็อปจาก ATR เป้าเป็นตัวคูณความเสี่ยง
ที่ไหนข้อมูลทอง 20 ปี · โค้ด Python เปิดอยู่บน GitHub
อย่างไรหน้าต่างเลื่อนขนาดคงที่ → เลือกจุดบันทึกด้วยสองคะแนน → ประตูความสม่ำเสมอ → ทดสอบบนข้อมูลที่ไม่เคยเห็น
ขายอะไรไม่มีสินค้า · โค้ดฟรี · ขอความช่วยเหลือในการตรวจสอบแทน

9. นำไปใช้กับ XAUUSD

  1. เอาประตูความสม่ำเสมอไปใช้ก่อนเอาโมเดลไปใช้ — ถามว่า “กี่ช่วงเวลาที่บวกเอง” ก่อนถาม “กำไรรวมเท่าไร” · ด่านนี้ไม่ต้องใช้ RL และจับของปลอมได้แล้วในงานของเราเอง
  2. ป้อนอัตราส่วน ไม่ใช่ราคา — ตามกฎของเขาที่ 20:06 · และบนทองปี 2026 เรื่องนี้สำคัญเป็นพิเศษ เพราะความผันผวนต่างจากปี 2015–2019 ราว 8 เท่า ค่าที่เป็นดอลลาร์จึงย้ายข้ามยุคไม่ได้เลย
  3. ถ้าจะย้ายไปเครื่องมือโอเพนซอร์ส เลือกได้แค่สามตัว — Lean (ครบที่สุดเรื่องสินทรัพย์และต้นทุน) · nautilus_trader (ความหน่วงและการจับคู่คำสั่งจริง) · qlib (กรอบประเมินและตัดสินใจซ้อนชั้น) · ที่เหลือเป็นคริปโตหรือหยุดพัฒนาแล้ว
  4. อย่าคาดว่าการย้ายเครื่องมือจะทำให้ผลแม่นขึ้น — แบบจำลองต้นทุนในเครื่องมือเหล่านั้นเป็นโครงเปล่า ตัวเลขจริงยังต้องมาจากการวัดโบรกเกอร์ของตัวเองอยู่ดี

10. ข้อจำกัด

  • เราไม่ได้รันโค้ดของเขาซ้ำ ข้อสรุปเรื่องวิธีการมาจากคลิปและจากรายชื่อไฟล์ใน repo ไม่ใช่จากการตรวจโค้ดบรรทัดต่อบรรทัด
  • ตัวเลขทั้งหมดที่เราอ้างว่าเป็นของเรา วัดบนทอง XAUUSD ปี 2015–2019 ซึ่งเป็นโซนพัฒนา และยังไม่ผ่านโซนตรวจสอบ
  • สถิติของ GitHub ดึงเมื่อ 5 ตุลาคม 2026 · ดาวและวันอัปเดตเปลี่ยนได้ตลอด
  • ไม่ใช่คำแนะนำการลงทุน

11. สรุป

คลิปนี้มีค่าไม่ใช่เพราะเลข 60% แต่เพราะโครงที่ใช้ตรวจสอบเลข 60% — หน้าต่างเลื่อน การเลือกจุดบันทึกด้วยสองคะแนน และโดยเฉพาะประตูความสม่ำเสมอ ที่ถามว่า มีกี่ช่วงเวลาที่ทำเงินได้เอง แทนที่จะถามว่ากำไรรวมเท่าไร · และตัวเลข 86 → 12 → 6.9 ที่เขาเอามาเตือนเองคือภาพของการโอเวอร์ฟิตที่ควรจำไว้

ส่วนเครื่องมือโอเพนซอร์ส 11 ตัว เมื่อตรวจของจริงแล้วเหลือ สามตัวที่ใช้กับทองสปอตได้ และสิ่งที่พวกมันเพิ่มให้เราได้คือ ความหน่วง สลิปเพจตามขนาดไม้ และกรอบตัดสินใจซ้อนชั้น — ส่วนตัวเลขต้นทุนจริง ยังเป็นสิ่งที่ต้องวัดเอง ไม่มีใครให้ได้

หัวข้อในคลิป

reinforcement learningwalk-forwardout-of-sampleoverfittingreward functionเครื่องมือโอเพนซอร์สแบบจำลองการส่งคำสั่ง