เรียนรู้ Expert Advisor สำหรับ MetaTrader 5: วิธีการทำงานและการเตรียมตัว

Mike 2012.11.30 20:13 20 0 0
ไฟล์แนบ

Expert Advisor (EA) ตัวนี้ถูกพัฒนาจาก MQL4 โดยผู้เขียน lsv ซึ่งสามารถเข้าถึงแหล่งข้อมูลได้ที่นี่ - https://www.mql5.com/ru/code/9431.

วิธีการทำงาน

EA นี้ทำงานโดยอิงจากการเปลี่ยนแปลงราคาซึ่งเกิดขึ้นในทุกช่วงเวลา โดยจะเฉลี่ยรูปแบบราคาจากข้อมูลตลาดปัจจุบัน รูปแบบราคาหลายๆ รูปแบบถูกสร้างขึ้นตามพารามิเตอร์ที่แตกต่างกัน จำนวนรูปแบบจะถูกกำหนดในตัวแปร Nidelt สำหรับรูปแบบแรกจะใช้พารามิเตอร์ dstop, รูปแบบที่สองใช้ dstop*2 และต่อไปเรื่อยๆ จนถึง dstop*N ซึ่ง N คือจำนวนรูปแบบ หากราคาเปลี่ยนแปลงไปที่ค่า dstop*N จะมีการบันทึกจุดใหม่ของรูปแบบ โดยจุดล่าสุดจะถูกลบออก ทำให้รูปแบบมีความยาวคงที่ตามจำนวน Nidelt จุด ยิ่งค่าพารามิเตอร์ของรูปแบบมีมากเท่าไหร่ ยิ่งสามารถเก็บข้อมูลประวัติได้ลึกมากขึ้น ตลาดจึงถูกติดตามในหลายความลึกของประวัติพร้อมกัน

เมื่อมีการเปลี่ยนแปลงในรูปแบบ (การเปลี่ยนแปลงในสถานการณ์ตลาด) จะมีการเปิดสถานะเสมือน จุดมุ่งหมายคือการเชื่อมโยงตำแหน่งกับสถานการณ์ตลาดที่ชัดเจน โดยทำได้ดังนี้: รูปแบบที่แสดงโดยลำดับค่าราคา จะถูกแปลงเป็นลำดับเลขฐานสอง หากค่าของจุดหนึ่งสูงกว่าค่าจุดก่อนหน้า จะเป็น 1 มิฉะนั้นจะเป็น 0 ในลำดับนี้จะคำนวณหมายเลขรูปแบบที่ไม่ซ้ำกัน (แปลความจากเลขฐานสองเป็นเลขฐานสิบ)

EA สามารถเปิดสถานะเสมือนจากหนึ่งถึงสามตำแหน่ง โดยมี Stop Loss/Take Profit ที่แตกต่างกัน แต่ค่าของ Stop Loss และ Take Profit สำหรับแต่ละตำแหน่งจะเหมือนกัน ค่าของ Stop Loss/Take Profit จะถูกกำหนดโดยพารามิเตอร์ dstop โดยสำหรับตำแหน่งหนึ่งจะใช้ dstop*1 สำหรับอีกตำแหน่งหนึ่งจะใช้ dstop*2 เป็นต้น หากราคาเคลื่อนที่ขึ้นไปตามค่าความน่าจะเป็นของ Stop Loss/Take Profit จะมีการเพิ่มค่าไปยังความน่าจะเป็นการเพิ่มขึ้นสำหรับรูปแบบนี้ ถ้าลงจะทำให้ค่าความน่าจะเป็นลดลง สถานะเสมือนจะถูกเปิดสำหรับแต่ละรูปแบบทั้งสาม: พารามิเตอร์รูปแบบ, หมายเลขรูปแบบ (รูปร่างของมัน) และสำหรับแต่ละค่าของ Stop Loss/Take Profit โดยมีการคำนวณความน่าจะเป็นในการซื้อขายขึ้นหรือลงสำหรับแต่ละการรวมกัน

หากตามการรวมกันของสามพารามิเตอร์ (พารามิเตอร์, หมายเลข, Stop Loss/Take Profit) มีการสร้างธุรกรรมเสมือนมากกว่า 10 รายการ หากสถานการณ์เดียวกันในตลาดเกิดขึ้น (พารามิเตอร์และหมายเลขรูปแบบที่ชัดเจนจะถูกตรวจจับโดยอัตโนมัติ) ในกรณีนั้นสามารถพิจารณาเปิดตำแหน่งในทิศทางที่ชัดเจนตามความน่าจะเป็นที่คำนวณจากสถิติจากค่าของ Stop Loss/Take Profit

การรวบรวมสถิติอาจใช้เวลานาน ผู้เขียน EA กล่าวว่า: "อาจใช้เวลาหลายสัปดาห์" ปัจจุบันสามารถเร่งกระบวนการรวบรวมสถิติได้โดยใช้ Tester อย่างไรก็ตาม การเปลี่ยนแปลงราคาของแท็กใน tester กับตลาดจริงอาจแตกต่างกันมาก ผู้เขียนแนะนำให้ทำเช่นนี้: สอน EA ใน tester และจากนั้นลองรันในบัญชีเดโมประมาณหนึ่งสัปดาห์ หาก EA แสดงผลลัพธ์เชิงบวก (ซึ่งจะช่วยให้เรียนรู้ได้มากขึ้น) ก็สามารถนำไปใช้ในบัญชีจริงได้

การเตรียม Expert Advisor

ขั้นตอนแรกในการเตรียม EA ให้พร้อมทำงานคือการปรับแต่งพารามิเตอร์: Nidel, Nstop, dstop, forg, Probab, NN, delta ในขั้นตอนนี้จะทำการปรับแต่งโดยปิดพารามิเตอร์ ReadHistory และ SaveHistory หลังจากพบการรวมกันของพารามิเตอร์ที่เหมาะสมแล้ว จะต้องทำการทดสอบหนึ่งครั้งโดยตั้งค่า SaveHistory=true จากนั้นให้รัน EA ในบัญชีที่ ReadHistory=true - EA จะเริ่มทำงานทันทีเมื่อได้รวบรวมสถิติที่เพียงพอใน tester เปิดใช้ SaveHistory เมื่อทำงานในบัญชีเพื่อบันทึกข้อมูลโดยอัตโนมัติเมื่อ EA ถูกฝึกและพร้อมที่จะเริ่มทำงานในกรณีที่ EA ต้องเริ่มใหม่

เมื่อใช้ SaveHistory ใน tester ข้อมูลการเรียนรู้หลังการทดสอบจะถูกบันทึกในไฟล์ ชื่อไฟล์คือ FD_[Symbol] หาก EA ทดสอบกับ EURUSD ไฟล์จะมีชื่อว่า «FD_EURUSD», หากเป็น GBPUSD – ชื่อไฟล์จะเป็น «FD_GBPUSD» เป็นต้น ไฟล์จะถูกบันทึกในโฟลเดอร์ Files ซึ่งเป็นโฟลเดอร์ข้อมูลทั่วไปสำหรับเทอร์มินัลทั้งหมด คุณสามารถค้นหา General Data Folder ผ่านเมนูหลักของ MetaEditor – เพื่อเปิดโฟลเดอร์ข้อมูลทั่วไป ผ่านโฟลเดอร์นี้ข้อมูลจะถูกอ่านโดย ReadHistory

นอกจากการบันทึกผลการเรียนรู้แล้ว EA ยังบันทึกไฟล์สองไฟล์ที่จำเป็นต่อกระบวนการซื้อขาย ไฟล์จะมีชื่อว่า: FDlast_buy[Symbol][TimeFrame], และ FDlast_sell[Symbol][TimeFrame]. ไม่ต้องใส่ใจกับไฟล์เหล่านี้

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

ในภาพแสดงผลลัพธ์การเรียนรู้ของ EA บน EURUSD M15 ด้วยการตั้งค่าเริ่มต้น

 

พารามิเตอร์

  • ReadHistory - การอ่านประวัติที่บันทึกไว้ของการเรียนรู้
  • SaveHistory - เพื่อบันทึกประวัติการเรียนรู้ ในระหว่างการทดสอบประวัติจะถูกบันทึกจนถึงสิ้นสุดการทดสอบ เมื่อทำงานในบัญชี - จะบันทึกเป็นระยะๆ โดยการฝึกซ้ำ
  • Lots - ขนาดของตำแหน่ง
  • Nidelt - จำนวนรูปแบบต้องไม่เกิน 30
  • Nstop - จำนวนพารามิเตอร์ของตำแหน่งเสมือน (ค่าที่แตกต่างของ Stop Loss และ Take Profit, Stop Loss และ Take Profit เท่ากัน), 1, 2 หรือ 3
  • dstop - ขั้นตอนการเปลี่ยนแปลงพารามิเตอร์ของตำแหน่งเสมือน (Stop Loss และ Take Profit)
  • forg - อัตราการลืมผลการเรียนรู้ ค่าควรจะมากกว่า 1 เล็กน้อย
  • Probab - ระดับความน่าจะเป็นที่กำหนดโดยผลการเรียนรู้ซึ่งใช้ในการเปิดตำแหน่ง
  • NN - ขนาดของรูปแบบต้องไม่เกิน 12
  • delta - ขั้นตอนการเปลี่ยนแปลงพารามิเตอร์รูปแบบ
  • ReplaceStops - ปรับแก้ Stop Loss/Take Profit ตามสัญญาณเปิดใหม่ การย้าย Stop Loss/Take Profit จะทำเฉพาะตามทิศทางของตำแหน่ง
  • Trailing - ระดับ Trailing stop; เมื่อค่าคือ 0, trailing stop จะถูกปิด
รายการ
ความคิดเห็น 0