The Trading Mentorที่ปรึกษาการเทรดของคุณ

ทำไม EA MT5 ส่วนใหญ่ถึงล้มเหลวในการเทรดจริง (และวิธีแก้ไขที่ได้ผลจริง)

เมื่อวันที่ 14 มีนาคม 2023 คู่ EUR/USD ร่วงลง 180 pips ภายใน 4 ชั่วโมง หลังจากข่าวการล่มสลายของ SVB แพร่สะพัด ผมเฝ้าดู EA สามตัวบนเทอร์มินัลของผมทำงานผิดพลาดอย่างสิ้นเชิง ตัวหนึ่งเฉลี่ยราคาลงไปในการเคลื่อนไหว ตัวหนึ่งกลับตัวเร็วเกินไป และอีกตัวหนึ่งก็...

Daniel Harrington

Daniel Harrington

นักวิเคราะห์การเทรดอาวุโส · MT5 specialist

4 นาทีอ่าน

แชร์บทความนี้:

เมื่อวันที่ 14 มีนาคม 2023 คู่ EUR/USD ร่วงลง 180 pips ภายใน 4 ชั่วโมง หลังจากข่าวการล่มสลายของ SVB แพร่สะพัด ผมเฝ้าดู EA สามตัวบนเทอร์มินัลของผมทำงานผิดพลาดอย่างสิ้นเชิง ตัวหนึ่งเฉลี่ยราคาลงไปในการเคลื่อนไหว ตัวหนึ่งกลับตัวเร็วเกินไป และอีกตัวหนึ่งก็... ค้างไปเลย ทั้งสามตัวผ่านการ Backtest 2 ปีด้วยอัตราส่วน Sharpe ratio สูงกว่า 1.8 วันนั้นทำให้ผมเสียเงินจริง และมันทำให้ผมต้องทบทวนทุกสิ่งที่ผมเคยรู้เกี่ยวกับการเทรดอัตโนมัติ ความจริงคือ EA MT5 ส่วนใหญ่ไม่ได้ล้มเหลวเพราะตรรกะที่ไม่ดี แต่ล้มเหลวเพราะวิธีการสร้าง การทดสอบ และการนำไปใช้งาน

Backtest EA เทียบกับการเทรดจริง — Equity Curve ที่สมบูรณ์แบบแตกสลายกลายเป็นความจริงที่วุ่นวายด้วยหุ่นยนต์ที่พัง

อัตราการชนะ Backtest 92% ไม่มีค่าอะไรเลยเมื่อ Slippage, Spread ที่กว้างขึ้น และ Overfitting เข้ามาโจมตี EA ของคุณในตลาดจริง EA สามตัวของผมพังระหว่างการล่มสลายของ SVB — ทั้งหมดมี Backtest ที่สมบูรณ์แบบ

1

ภาพลวงตาของการ Backtest: ทำไมการทดสอบคุณภาพ 90% ของคุณถึงไม่มีความหมาย

ทุกสัปดาห์ผมเห็นคนโพสต์ Backtest ในฟอรัมการเทรดที่มีกราฟ Equity Curve ที่ราบรื่นและประกาศว่า EA ของพวกเขาพร้อมที่จะใช้งานจริง ปัญหาไม่ได้อยู่ที่ผลลัพธ์ ปัญหาคือสิ่งที่ผลลัพธ์นั้นกำลังวัดอยู่จริงๆ

Strategy Tester ของ MT5 แม้จะอยู่ในโหมด 'Every Tick Based on Real Ticks' ก็ไม่สามารถจำลองพฤติกรรม Spread ในตลาดจริงได้ Spread ของ EUR/USD ในช่วงวิกฤต SVB ที่ผมกล่าวถึงพุ่งสูงถึง 8-12 pips ในบางโบรกเกอร์ ในขณะที่ EA ถูกสร้างและทดสอบโดยสมมติว่ามี Spread คงที่ 1.2 pip ตัวแปรเดียวนี้เปลี่ยนการเทรดเป้าหมาย 60-pip ให้กลายเป็นการขาดทุนก่อนที่ราคาจะเคลื่อนไหวด้วยซ้ำ

มีการตั้งค่าเฉพาะใน Strategy Tester ที่คนส่วนใหญ่ละเลย: ช่องทำเครื่องหมาย 'Use date' ที่รวมกับเปอร์เซ็นต์คุณภาพการจำลอง หากคุณกำลังทดสอบด้วยคุณภาพการจำลอง 99% แต่ใช้ Fixed Spreads คุณกำลังทดสอบเครื่องมือในจินตนาการ ตลาดจริงมี Variable Spreads, Requotes (พบน้อยใน ECN แต่ก็ยังคงมีอยู่) และ Latency Spikes ที่ Backtest ในเครื่องของคุณไม่เคยเห็น

ผมได้รัน EA ตัวเดียวกันบนชุดข้อมูล 3 ปีเดียวกันด้วยการตั้งค่าสองแบบนี้:

  • Fixed spread: 1.5 pips, ไม่มี Slippage model
  • Variable spread โดยใช้ Broker Tick Data + Slippage แบบสุ่ม 1-3 pip

เวอร์ชัน Fixed Spread แสดงผลตอบแทนรายปี 34% ส่วนเวอร์ชัน Variable Spread? 11% EA ตัวเดียวกัน ช่วงเวลาเดียวกัน ความแตกต่างคือสิ่งที่คุณจะได้สัมผัสจริงๆ เมื่อการเทรดเริ่มใช้งานจริง ควรใช้โมเดลการดำเนินการ 'Random delays' ใน Strategy Tester เสมอ มันซ่อนอยู่ในการตั้งค่า แต่มันเป็นสิ่งที่ใกล้เคียงกับความเป็นจริงมากที่สุดที่แพลตฟอร์มมีให้ คุณสามารถค้นหาได้ภายใต้ Execution ในคุณสมบัติของ Tester ตั้งค่าเป็น 50-200ms เพื่อจำลอง Latency ของคำสั่งซื้อขายจริง

นี่คือจุดที่ เครื่องคำนวณขนาด Position ของคุณมีความสำคัญอย่างยิ่งในระหว่างการทดสอบ: หากคุณไม่ได้นำ Spread จริงมาพิจารณาในการคำนวณ Risk-per-trade ของคุณ ขนาด Position ของคุณจะผิดตั้งแต่เริ่มต้น

2

Overfitting: สาเหตุที่แท้จริงที่ EA ล้มเหลว 3 สัปดาห์หลังจากเริ่มใช้งานจริง

นี่คือข้อความที่ผมจะยืนยันโดยไม่มีการหลีกเลี่ยง: EA สำหรับรายย่อยส่วนใหญ่เกิด Overfit ไม่ใช่แค่นิดหน่อย แต่มากมหาศาล

Overfitting เกิดขึ้นเมื่อคุณปรับพารามิเตอร์ของ EA อย่างแม่นยำมากเกินไปกับข้อมูลในอดีต จน EA จดจำอดีตแทนที่จะเรียนรู้จากมัน Engine การปรับแต่งแบบ Genetic ของ MT5 มีประสิทธิภาพอย่างเหลือเชื่อ และอันตรายอย่างเหลือเชื่อหากอยู่ในมือคนที่ไม่เหมาะสม ผมเคยเห็นเทรดเดอร์รันการปรับแต่ง 50,000 ครั้งบนชุดข้อมูล 12 เดือน เลือกชุดพารามิเตอร์ที่มี Profit Factor สูงสุด แล้วก็จบวันไป นั่นไม่ใช่การพัฒนา Strategy นั่นคือ Curve Fitting ที่มีขั้นตอนเพิ่มเติม

การทดสอบ Overfitting ที่แท้จริงคือ Walk-forward test คุณแบ่งข้อมูลของคุณ: ปรับแต่งบน 70% แรก จากนั้นรัน Blind Forward Test บน 30% ที่เหลือ หาก Profit Factor ของคุณลดลงจาก 2.4 เหลือ 0.8 ในช่วง Out-of-sample แสดงว่า EA เกิด Overfit หยุดเลย อย่าเทรดมัน

คณิตศาสตร์มีความสำคัญที่นี่ ประชากรการปรับแต่งของคุณควรมีขนาดเล็กกว่า Degrees of Freedom ของชุดข้อมูลของคุณอย่างมีนัยสำคัญ กฎคร่าวๆ ที่ผมใช้: หากคุณมีพารามิเตอร์ที่สามารถปรับแต่งได้มากกว่าหนึ่งตัวต่อข้อมูล 1,000 แท่ง คุณกำลังอยู่ในเขตอันตรายแล้ว EA ที่มี 8 พารามิเตอร์อิสระที่ทดสอบบนข้อมูล 2,000 แท่งของ 1H ไม่ใช่ Strategy แต่มันคือรูปแบบที่ถูกจดจำ

ผมเคยทำผิดพลาดนี้ด้วยตัวเองในปี 2019 กับ EA แบบ Mean-reversion บน GBP/USD ปรับแต่งได้อย่างสวยงามบนข้อมูลปี 2016-2018 ชุดพารามิเตอร์มี 11 ตัวแปร เริ่มใช้งานจริงในเดือนมกราคม 2019 และประสบ Drawdown 22% ภายใน 6 สัปดาห์ก่อนที่ผมจะหยุดมัน บทเรียนนี้ยังคงอยู่ ตอนนี้ผมถือว่าการลดลงของการทดสอบ Forward Test ที่สูงกว่า 40% เป็นสิ่งที่ไม่ควรทำอย่างเด็ดขาด หาก EA ทำเงินได้ $10,000 ในตัวอย่างการปรับแต่ง แต่ทำได้เพียง $5,000 ในตัวอย่าง Forward Test ที่มีขนาดใกล้เคียงกัน นั่นถือว่าพอรับได้ หากทำเงินได้ $10,000 และขาดทุน $3,000 ใน Forward Test นั่นคือขยะ

สำหรับการดูรายละเอียดเพิ่มเติมว่า Spread และคุณภาพการดำเนินการแตกต่างกันไปตามเครื่องมืออย่างไร คู่มือ EUR/USD คุ้มค่าที่จะอ่านก่อนที่คุณจะตัดสินใจใช้คู่สกุลเงินหลักใดๆ เป็นตลาดหลักของ EA ของคุณ

Winston

💡 เคล็ดลับจาก Winston

ตรรกะของโค้ดได้รับความสนใจทั้งหมด แต่การดำเนินการกลับไม่ได้รับความสนใจเลย นั่นเป็นสิ่งที่ผิด นี่คือความล้มเหลวระดับการด...

หุ่นยนต์ Futurama พัง — เมื่อ EA ของคุณเผชิญหน้ากับตลาดจริง

EA ของคุณทำงานได้อย่างสมบูรณ์แบบในการ Backtest 10 ปี — จากนั้นก็พบกับ Spreads จริง, Slippage และ Requotes ยินดีต้อนรับสู่การเทรดจริง

3

4 ความล้มเหลวในการดำเนินการที่ไม่มีใครพูดถึง

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

นี่คือความล้มเหลวระดับการดำเนินการที่พบบ่อยที่สุดสี่ประการที่ผมได้วินิจฉัยใน EA ของลูกค้า:

  1. Order modification race conditions: EA พยายามแก้ไข Stop Loss ใน Tick เดียวกันกับที่ราคากระตุ้นมัน ใน MQL5 หากคุณเรียกใช้ OrderModify() โดยไม่ได้ตรวจสอบค่าที่ส่งคืนของ OrderSelect() ก่อน คุณจะพบกับความล้มเหลวแบบเงียบๆ คำสั่งไม่ได้รับการแก้ไข ไม่มีข้อผิดพลาดถูกส่งไปยัง Log ของคุณ และความเสี่ยงของคุณก็ไม่สามารถควบคุมได้แล้ว

  2. ไม่คำนึงถึงทศนิยมของโบรกเกอร์: โบรกเกอร์บางรายเสนอราคา EUR/USD ถึง 5 ตำแหน่งทศนิยม บางรายถึง 4 ตำแหน่ง หากการคำนวณ Stop Loss ของคุณใช้ค่า Pip คงที่โดยไม่ได้ตรวจสอบ _Digits SL ของคุณจะถูกวางใกล้เกินไปหรือไกลเกินไป 10 เท่า ผมเคยเห็นสิ่งนี้ทำให้บัญชีล้างพอร์ตมาแล้ว

  3. ละเลย IsTradeAllowed(): ฟังก์ชันนี้จะส่งคืนค่า False ในช่วงเหตุการณ์ข่าวสารในบางโบรกเกอร์ ในช่วงตลาดปิด และเมื่อบัญชีมีปัญหา Margin ที่รอดำเนินการ หาก EA ของคุณไม่ตรวจสอบสิ่งนี้ก่อนพยายามส่งคำสั่งซื้อขายทุกครั้ง คุณจะมีรายการที่ล้มเหลวแบบเงียบๆ ในขณะที่ EA คิดว่ากำลังอยู่ในสถานะการเทรด

  4. ตรรกะการเข้าเทรดแบบ Tick-based บนการเชื่อมต่อที่ช้า: EA ที่ทำงานเมื่อมี Tick ใหม่แต่ละครั้งจะทำงานได้ดีบน VPS ที่มี Latency 5ms บนการเชื่อมต่ออินเทอร์เน็ตที่บ้านที่มี Latency 80-150ms Tick ที่กระตุ้นตรรกะการเข้าเทรดของคุณอาจเป็น Tick เก่าไปแล้ว 3-4 Tick กว่าที่คำสั่งของคุณจะไปถึงโบรกเกอร์ คุณกำลังซื้อในราคาที่ไม่มีอยู่อีกต่อไปแล้ว

วิธีแก้ไขสำหรับข้อ 4 คือการเปลี่ยนตรรกะการเข้าเทรดจาก OnTick() ไปยัง OnTradeTransaction() หากเป็นไปได้ หรือเพิ่มพารามิเตอร์ Slippage สูงสุดที่ยอมรับได้และปฏิเสธการ Fill ที่อยู่นอกช่วงนั้น มันไม่ใช่โค้ดที่สวยงาม แต่มันคือความแตกต่างระหว่าง EA ที่ใช้งานได้จริงกับภาระผูกพัน

สำหรับการวางคำสั่งซื้อขายอย่างราบรื่นโดยไม่ต้องจัดการกับ Form Dialogs ที่ทำให้เกิด Latency ของตัวเอง ผมใช้ Drag Trader ของ Pulsar Terminal เมื่อผมจัดการ Position ของ EA แบบกึ่งแมนนวล คุณสามารถลากบนกราฟได้โดยตรง และ SL/TP จะอัปเดตแบบเรียลไทม์ ซึ่งเร็วกว่ากล่องโต้ตอบใดๆ อย่างแท้จริงเมื่อคุณอยู่ในสถานะการเทรดจริง

ความล้มเหลวในการดำเนินการของ EA สี่ประการ — Slippage, Spread ที่กว้างขึ้น, Requotes และ Partial Fills

Backtest ของคุณสมมติว่ามีการ Fill ที่สมบูรณ์แบบที่ราคาที่แน่นอนด้วย Fixed Spreads ตลาดจริงมี Slippage, Spread ที่กว้างขึ้นในช่วงข่าว, Requotes และ Partial Fills ไม่มี EA ใดที่รอดพ้น

4

ปัญหาโบรกเกอร์ (เทรดเดอร์ส่วนใหญ่ละเลยเรื่องนี้โดยสิ้นเชิง)

EA ของคุณไม่ได้เทรดตลาด มันเทรด Feed ของตลาดจากโบรกเกอร์ของคุณ ความแตกต่างนี้มีความสำคัญอย่างมาก

ผมได้รัน EA ตัวเดียวกันเป๊ะ VPS ตัวเดียวกัน การตั้งค่าเดียวกัน บนโบรกเกอร์สามรายพร้อมกันเป็นระยะเวลาทดสอบ 6 สัปดาห์ในไตรมาส 3 ปี 2022 ผลลัพธ์ไม่ใกล้เคียงกันเลย:

  • โบรกเกอร์ A (ECN, Spread เฉลี่ย EUR/USD 0.8 pips): +4.2% สุทธิ
  • โบรกเกอร์ B (STP, Spread เฉลี่ย 1.8 pips): +1.1% สุทธิ
  • โบรกเกอร์ C (Market Maker, Fixed 2.0 pips): -2.3% สุทธิ

EA ตัวเดียวกัน ตลาดเดียวกัน ผลลัพธ์แตกต่างกันโดยสิ้นเชิง เพียงเพราะโมเดลการดำเนินการและต้นทุน Spread

EA ประเภท Scalping มีความอ่อนไหวต่อสิ่งนี้มากที่สุด EA ที่ตั้งเป้าหมาย 10 pips โดยมี Stop Loss 5 pips กำลังทำงานบนอัตราส่วน R:R 2:1 เพิ่ม Spread 2 pips และนั่นจะกลายเป็นเป้าหมาย 10 pips ที่มีความเสี่ยงที่มีผล 7 pips ซึ่งใกล้เคียงกับ 1.4:1 คณิตศาสตร์จะกัดกร่อน Edge ไปทั้งหมด นี่คือเหตุผลที่ EA ประเภท Scalping ที่ทำเงินได้ในการ Backtest ล้มเหลวอย่างสม่ำเสมอในการเทรดจริง การ Backtest ใช้สมมติฐาน Spread ที่ไม่มีโบรกเกอร์จริงรายใดเรียกเก็บในช่วงเซสชันที่มีความผันผวน

ก่อนที่จะนำ EA ใดๆ ไปใช้งานจริง ให้รันเป็นเวลาอย่างน้อย 3 สัปดาห์บนบัญชี Demo กับโบรกเกอร์จริงที่คุณวางแผนจะใช้ ไม่ใช่ Demo ของโบรกเกอร์อื่น ไม่ใช่ Sim ของ Prop Firm ที่มีการดำเนินการที่แตกต่างกัน โบรกเกอร์เฉพาะของคุณ ประเภทบัญชีเฉพาะของคุณ ตรวจสอบบันทึกการดำเนินการในแท็บ Journal ของ MT5 หลังจากทุกการเทรด หากคุณเห็น Slippage ที่สม่ำเสมอ 1+ pips ในการ Fill Edge ของ EA ของคุณอาจหายไปแล้ว

รีวิวการเลือกโบรกเกอร์ เช่น รีวิว IC Markets สามารถให้ข้อมูลพื้นฐานว่าการดำเนินการแบบ ECN มีลักษณะอย่างไรในทางปฏิบัติ

Winston

💡 เคล็ดลับจาก Winston

ผมจะอธิบายสิ่งที่ผมมองหาก่อนที่จะพิจารณาว่า EA ใดๆ พร้อมสำหรับเงินจริง นี่ไม่ใช่ Checklist ที่คุณพิมพ์แล้วลืมไป มันเป็นม...

โอ๊ะโอ — พบว่าโบรกเกอร์ของคุณใช้ Tick Data ที่แตกต่างกัน

โบรกเกอร์ที่แตกต่างกัน, Tick Data ที่แตกต่างกัน, Spreads ที่แตกต่างกัน EA ที่ปรับแต่งสำหรับโบรกเกอร์หนึ่งอาจล้มเหลวโดยสิ้นเชิงกับโบรกเกอร์อื่น

5

EA ที่พร้อมใช้งานจริงมีลักษณะอย่างไร

ผมจะอธิบายสิ่งที่ผมมองหาก่อนที่จะพิจารณาว่า EA ใดๆ พร้อมสำหรับเงินจริง นี่ไม่ใช่ Checklist ที่คุณพิมพ์แล้วลืมไป มันเป็นมาตรฐานที่ EA ส่วนใหญ่ไม่สามารถทำได้

ประการแรก Backtest ต้องใช้ Variable Spreads, Random Execution Delays และ Out-of-sample Walk-forward Validation การลดลงของการทดสอบ Forward Test ควรต่ำกว่า 40% บนความยาวข้อมูลที่เทียบเคียงได้ หากคุณ Backtest 3 ปี ให้ Walk-forward Test 1 ปี ไม่ใช่ 3 เดือน

ประการที่สอง EA ต้องการ Circuit Breaker สำหรับ Drawdown ที่รุนแรงในโค้ด บางอย่างเช่นนี้ใน MQL5:

double maxDrawdown = 0.10; // 10% max
double startBalance = AccountInfoDouble(ACCOUNT_BALANCE);
if((startBalance - AccountInfoDouble(ACCOUNT_EQUITY)) / startBalance >= maxDrawdown) {
 // Close all positions and disable EA
 ExpertRemove();
}

นี่เป็นพื้นฐาน ผมตกใจอย่างต่อเนื่องว่า EA ที่ใช้งานจริงจำนวนมากไม่มีสิ่งนี้

ประการที่สาม อินดิเคเตอร์ ATR ควรเป็นส่วนหนึ่งของการกำหนดขนาด Position ของ EA ไม่ใช่แค่ตรรกะการเข้าเทรด การกำหนดขนาด Lot แบบ Fixed ในตลาดที่มีความผันผวนแตกต่างกันเป็นสูตรสำหรับความเสี่ยงที่ไม่สอดคล้องกัน ATR(14) บนกราฟ H1 ให้การวัดแบบเรียลไทม์ว่าตลาดเคลื่อนไหวมากน้อยเพียงใด Stop Loss และขนาด Position ของคุณควรปรับตามสิ่งนี้

ประการที่สี่ EA ต้องได้รับการทดสอบในสภาวะตลาดที่หลากหลาย ไม่ใช่แค่สภาวะเดียว EA ที่ได้รับการปรับแต่งในตลาด Trending ปี 2020-2021 จะถูกทำลายในสภาวะตลาด Ranging ที่มีความผันผวนสูงในปี 2022-2023 ใช้ปีที่มี Trending อย่างน้อยหนึ่งปีและปีที่มีความผันผวนอย่างน้อยหนึ่งปีในชุดข้อมูลของคุณ

ประการที่ห้า ผมต้องการเห็นการจำลอง Monte Carlo รันบนผลลัพธ์ Backtest MT5 ไม่ได้ทำสิ่งนี้โดยกำเนิด แต่เครื่องมืออย่าง StrategyQuant หรือแม้แต่การจำลอง Excel พื้นฐานโดยใช้ผลลัพธ์การเทรดของคุณทีละรายการสามารถสุ่มลำดับการชนะและการขาดทุนของคุณเพื่อแสดง Drawdown กรณีที่เลวร้ายที่สุดที่เป็นไปได้ หากกรณีที่เลวร้ายที่สุดที่คุณจำลองไว้คือ 35% แต่คุณสบายใจกับเพียง 15% EA นั้นไม่เหมาะสมกับบัญชีของคุณไม่ว่าค่าเฉลี่ยจะดูดีแค่ไหนก็ตาม

EA ส่วนใหญ่ล้มเหลวไม่ใช่เพราะแนวคิดเบื้องหลังผิดพลาด พวกเขาล้มเหลวเพราะกระบวนการตรวจสอบความถูกต้องนั้นขี้เกียจ โค้ดการดำเนินการไม่ได้รับการทดสอบภายใต้เงื่อนไขจริง และสภาพแวดล้อมของโบรกเกอร์ถูกสันนิษฐานแทนที่จะวัดผล แก้ไขสามสิ่งนั้นแล้วผลลัพธ์การเทรดจริงของคุณจะดูใกล้เคียงกับสิ่งที่ Backtest ของคุณสัญญาไว้มากขึ้น

ข้อจำกัดความรับผิดชอบ: บทความนี้มีวัตถุประสงค์เพื่อการศึกษาเท่านั้นและไม่ถือเป็นคำแนะนำการลงทุน การเทรด Forex และ CFDs มีความเสี่ยงสูงที่จะขาดทุน ผลการดำเนินงานในอดีตไม่สามารถบ่งชี้ถึงผลลัพธ์ในอนาคตได้ ควรศึกษาข้อมูลด้วยตนเองและพิจารณาสถานการณ์ทางการเงินของคุณก่อนทำการเทรด อย่าเสี่ยงกับเงินที่คุณไม่สามารถจะเสียได้

บทเรียนจาก Prof. Winston

สรุปสาระสำคัญ:

  • Backtest ที่สมบูรณ์แบบไม่มีความหมายอะไรเลยหาก EA เกิด Overfit กับข้อมูลในอดีต
  • Slippage, Spread ที่กว้างขึ้น และ Requotes ทำลาย EA ที่ไม่เคยประสบกับสิ่งเหล่านี้ในการ Backtest
  • Tick Data และความเร็วในการดำเนินการของโบรกเกอร์ของคุณส่งผลโดยตรงต่อประสิทธิภาพของ EA — ทดสอบกับโบรกเกอร์จริง
  • EA ที่พร้อมใช้งานจริงจะจัดการกับความล้มเหลวอย่างสง่างาม: มันจัดการ Slippage, มีขีดจำกัด Drawdown สูงสุด และบันทึกทุกสิ่ง
Prof. Winston

คำถามที่พบบ่อย

Q1ฉันควรใช้ข้อมูลเท่าใดในการ Backtest EA MT5 ก่อนที่จะพิจารณาว่ามันถูกต้อง?

อย่างน้อยที่สุด 3 ปีของ Tick Data ที่ครอบคลุมสภาวะตลาดที่แตกต่างกัน อย่างน้อยหนึ่งช่วงเวลาที่เป็น Trending ที่แข็งแกร่งและหนึ่งช่วงเวลาที่เป็น Choppy/Ranging สำหรับ EA ที่มีพารามิเตอร์ที่สามารถปรับแต่งได้มากกว่า 5 ตัว ผมจะเพิ่มเป็น 5 ปี ตัวเลขสำคัญไม่ใช่จำนวนปี แต่เป็นอัตราส่วนของจำนวนพารามิเตอร์ต่อจำนวนแท่งที่ทดสอบ พารามิเตอร์อิสระมากกว่าหนึ่งตัวต่อ 1,000 แท่งถือเป็นสัญญาณอันตรายของ Overfitting แล้ว สำหรับ EA ประเภท Scalping บนกราฟ M5 ข้อมูล 3 ปีอาจให้จำนวนแท่งที่เพียงพอ แต่คุณต้องตรวจสอบว่าคุณภาพของ Tick Data จากประวัติของโบรกเกอร์ของคุณสมบูรณ์จริงหรือไม่ ช่องว่างใน Tick Data จะทำให้ผลลัพธ์ของคุณดูสะอาดกว่าความเป็นจริง

Q2ทำไม EA ของฉันถึงทำงานได้ดีบนบัญชี Demo แต่ล้มเหลวบนบัญชีจริงกับโบรกเกอร์เดียวกัน?

สิ่งนี้เป็นเรื่องปกติมากกว่าที่คนส่วนใหญ่ยอมรับ บัญชี Demo ของโบรกเกอร์ส่วนใหญ่ใช้โมเดลการดำเนินการที่แตกต่างจากบัญชีจริงเล็กน้อย โดยเฉพาะอย่างยิ่ง การ Fill ของ Demo มักจะสะอาดและเร็วกว่าด้วย Spreads ที่แคบกว่าในช่วงที่มีสภาพคล่องต่ำ โบรกเกอร์บางรายยังส่งคำสั่ง Demo และ Live ผ่านโครงสร้างพื้นฐานที่แตกต่างกัน วิธีทดสอบคือการรันทั้งสองบัญชีพร้อมกันเป็นเวลา 2-4 สัปดาห์และเปรียบเทียบราคา Fill ทีละการเทรด หากการ Fill ของบัญชีจริงของคุณแย่กว่า Demo อย่างสม่ำเสมอ 0.5-1 pip นั่นคือความแตกต่างของโมเดลการดำเนินการและเป็นเรื่องจริง มันจะสะสมเป็นผลเสียต่อคุณในการเทรดหลายร้อยครั้ง นอกจากนี้ ให้ตรวจสอบว่าบัญชีจริงของคุณเป็น STP เทียบกับ Demo ของคุณที่เป็น ECN ซึ่งเกิดขึ้นบ่อยกว่าที่โบรกเกอร์ชอบโฆษณา

Q3EA ที่ล้มเหลวในคู่สกุลเงินหนึ่งสามารถทำงานได้ในอีกคู่หนึ่งหรือไม่?

บางครั้งก็ใช่ แต่คุณต้องตรวจสอบความถูกต้องใหม่ทั้งหมดบนเครื่องมือใหม่ อย่าสันนิษฐานว่าพารามิเตอร์จะถ่ายโอนได้ คู่สกุลเงินที่แตกต่างกันมีโปรไฟล์ความผันผวน พฤติกรรม Spread และรูปแบบสภาพคล่องตามช่วงเวลาที่แตกต่างกัน EA ที่สร้างขึ้นจากพฤติกรรมของ EUR/USD ในช่วง London Session อาจผิดพลาดโดยสิ้นเชิงสำหรับ GBP/JPY ซึ่งมีความผันผวนสูงในช่วงที่ตลาดเอเชีย/ลอนดอนคาบเกี่ยวกัน คุณจะต้องปรับแต่งใหม่ (อย่างระมัดระวัง โดยไม่ให้เกิด Overfitting) บนข้อมูลของคู่สกุลเงินใหม่ รัน Walk-forward Test ใหม่ และควรทดลองในบัญชี Demo เป็นเวลา 4-6 สัปดาห์กับโบรกเกอร์จริง ตรรกะพื้นฐานอาจถ่ายโอนได้ แต่ค่าพารามิเตอร์เฉพาะเกือบจะแน่นอนว่าจะไม่ถ่ายโอน

Q4ระยะเวลา Forward Test ขั้นต่ำก่อนที่จะนำ EA ไปใช้ในบัญชีจริงคือเท่าใด?

ผมใช้ 100 การเทรดที่เสร็จสมบูรณ์เป็นขั้นต่ำ ไม่ใช่ช่วงเวลา ช่วงเวลานั้นอาจทำให้เข้าใจผิดได้ เพราะตลาดที่ช้าอาจทำให้คุณได้ 40 การเทรดใน 3 เดือน ในขณะที่ตลาดที่เร็วอาจให้คุณได้ 200 การเทรด คุณต้องการตัวอย่างที่มีความหมายทางสถิติของการตัดสินใจจริงของ EA ของคุณ หาก EA ของคุณเฉลี่ย 5 การเทรดต่อสัปดาห์ นั่นคือ 20 สัปดาห์ของการเทรด Demo ก่อนที่คุณจะพิจารณาใช้งานจริง ประมาณ 5 เดือน ผมรู้ว่ามันรู้สึกเหมือนนาน แต่ก็สั้นกว่าการฟื้นตัวจากบัญชีที่ล้างพอร์ต สิ่งอื่นที่ผมตรวจสอบคือว่าผลลัพธ์ Forward Test อยู่ในช่วง Confidence Interval ของ Monte Carlo จาก Backtest หรือไม่ หาก Drawdown ของ Forward Test เกิน 95th Percentile ของการจำลอง Monte Carlo ของคุณ แสดงว่ามีบางอย่างเปลี่ยนแปลงไปในตลาดและ EA จำเป็นต้องได้รับการประเมินใหม่ก่อนที่จะใช้งานจริง

คุณชอบบทความนี้ไหม?

บทความนี้มีประโยชน์แค่ไหน?

คลิกดาวเพื่อให้คะแนน

ความคิดเห็น

0/500
...

นำหน้าตลาด

รับการวิเคราะห์ตลาดรายสัปดาห์ กลยุทธ์การเทรด และเคล็ดลับ MT5 ส่งตรงถึงกล่องจดหมาย ไม่มีสแปม ยกเลิกเมื่อไหร่ก็ได้

Daniel Harrington

เกี่ยวกับผู้เขียน

Daniel Harrington

นักวิเคราะห์การเทรดอาวุโส

Daniel Harrington เป็นนักวิเคราะห์การเทรดอาวุโสที่สำเร็จการศึกษาระดับ MScF (ปริญญาโทวิทยาศาสตร์การเงิน) เชี่ยวชาญด้านการจัดการสินทรัพย์เชิงปริมาณและการบริหารความเสี่ยง ด้วยประสบการณ์กว่า 12 ปีในตลาดฟอเร็กซ์และอนุพันธ์ ครอบคลุมการเพิ่มประสิทธิภาพแพลตฟอร์ม MT5 กลยุทธ์การเทรดอัลกอริทึม และข้อมูลเชิงปฏิบัติสำหรับนักเทรดรายย่อย

รับ Pulsar Terminal

เครื่องคำนวณทั้งหมดนี้ถูกสร้างไว้ใน Pulsar Terminal พร้อมข้อมูลเรียลไทม์จากบัญชี MT5 ของคุณ

รับ Pulsar Terminal
Pulsar Terminal — แผงการเทรด MT5 ขั้นสูง

คำเตือนความเสี่ยง

การซื้อขายตราสารทางการเงินมีความเสี่ยงสูงและอาจไม่เหมาะสำหรับนักลงทุนทุกคน ผลการดำเนินงานในอดีตไม่ได้รับประกันผลลัพธ์ในอนาคต เนื้อหานี้มีวัตถุประสงค์เพื่อการศึกษาเท่านั้นและไม่ควรถือเป็นคำแนะนำในการลงทุน โปรดทำการวิจัยของคุณเองก่อนการซื้อขาย