หน้าแรก การเทรดด้วยระบบ โพสต์

MTC Combo: ระบบ EA สำหรับ MetaTrader 5 ที่คุณต้องรู้

ไฟล์แนบ
16762.zip (3.54 KB, ดาวน์โหลด 0 ครั้ง)

สวัสดีครับเพื่อนๆ เทรดเดอร์ทุกคน! วันนี้เรามาพูดถึง MTC Combo ซึ่งเป็น EA ที่ออกแบบมาเพื่อใช้ใน MetaTrader 5 กันนะครับ

EA นี้มีวัตถุประสงค์หลักคือการเสริมประสิทธิภาพการเทรดของเราด้วยการใช้ ระบบเทรดพื้นฐาน (BTS) ร่วมกับ เครือข่ายประสาท (NN) ครับ โดยเครือข่ายประสาทนี้จะช่วยให้เราสามารถดำเนินการในสถานการณ์ที่ระบบ BTS ไม่สามารถทำได้

ไม่มีความจำเป็นต้องคิดค้นอะไรใหม่ หากมีสิ่งที่ดีอยู่แล้ว เราควรใช้มันให้เกิดประโยชน์สูงสุด ตัวอย่างเช่น ถ้าเรามีรถยนต์อยู่แล้ว ก็ไม่ต้องไปวิ่งเร็วๆ ให้เหนื่อย

ถ้าเรามี ระบบเทรดตามแนวโน้ม (Trend TS) เราควรสอนเครือข่ายประสาทให้มี กลยุทธ์การเทรดสวนทาง เพียงอย่างเดียว เพราะระบบที่ใช้เทรดตามแนวโน้มไม่สามารถทำกำไรในช่วงที่ตลาดไม่มีทิศทาง (Flat) ได้

เรายังสามารถใช้กลยุทธ์การเทรดสองแบบ (ตามแนวโน้มและสวนทาง) พร้อมกันบนกราฟเดียวกัน หรือจะฝึกเครือข่ายประสาทให้เสริมระบบเทรดก็ได้

เพื่อให้การทำงานของเครือข่ายประสาทมีประสิทธิภาพ เราได้พัฒนาเป็นเครือข่ายประสาทสองชั้น โดยมี perceptron ชั้นล่างสองตัวและ perceptron ชั้นบนหนึ่งตัว

สถานะของเครือข่ายประสาทสามารถอยู่ในสามสถานะดังนี้:

  1. เข้าสู่การซื้อ (Long)
  2. เข้าสู่การขาย (Short)
  3. สถานะไม่ชัดเจน (Undefined)

สถานะที่สามหมายความว่าการควบคุมจะถูกส่งไปยัง BTS ขณะที่สัญญาณการเทรดจะถูกสร้างโดยเครือข่ายในสองสถานะแรก

การฝึกเครือข่ายประสาทแบ่งออกเป็นสามขั้นตอน โดยแต่ละ perceptron จะถูกฝึกในแต่ละขั้นตอน และ BTS ที่ได้รับการปรับแต่งจะถูกใช้ในแต่ละขั้นตอนเพื่อให้ perceptrons รู้ว่ามันสามารถทำอะไรได้บ้าง

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

ขั้นตอนแรกก่อนการฝึก NN คือการปรับแต่ง BTS

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

มาเตรียมความพร้อมสำหรับการปรับแต่งและฝึก NN กันเถอะ

ตั้งค่าเงินฝากเริ่มต้นในเทสเตอร์ที่ $100 (เพื่อไม่ให้เกิดมาร์จิ้นคอลล์ในระหว่างการปรับแต่ง) ปรับแต่งพารามิเตอร์ "Balance + max Sharpe Ratio" และเลือกประเภทการปรับแต่งเป็น "Fast genetic algorithm"

จากนั้นไปที่แท็บ Inputs ในคุณสมบัติของ EA

ตั้งขนาดล็อตของตำแหน่งที่เปิดโดยกำหนดค่าเป็น 0.01 ใน ID "lots"

การปรับแต่งจะต้องดำเนินการตามโมเดล "Open prices only" วิธีนี้ถูกเลือกเพราะมีความเร็วสูง นอกจากนี้ อัลกอริธึมของ EA ยังมีการจัดการแท่งราคาใหม่

ขั้นตอนการปรับแต่งแรก: การปรับแต่ง BTS:

ตั้งค่า pass เป็น 1
ปรับแต่งเฉพาะข้อมูลที่ตรงกับขั้นตอนแรก โดยให้ ID ของพารามิเตอร์ทั้งหมดลงท้ายด้วยหนึ่ง จึงต้องตั้งค่าตัวปรับแต่งเฉพาะบนพารามิเตอร์เหล่านั้น

tp1 - BTS take profit ปรับแต่งค่าจาก 100 ถึง 1000 โดยเพิ่มขึ้นทีละ 10
sl1 - BTS stop loss ปรับแต่งค่าจาก 100 ถึง 1000 โดยเพิ่มขึ้นทีละ 10
p1 - ระยะเวลาของ CCI oscillator ที่ใช้ใน BTS ปรับแต่งค่าจาก 3 ถึง 100 โดยเพิ่มขึ้นทีละ 1

เริ่มการฝึกผ่านการปรับแต่งอัลกอริธึมพันธุกรรม

ขั้นตอนที่สอง: การฝึก perceptron สำหรับตำแหน่งขาย:

ตั้งค่า 'pass' เป็น 2 (เพื่อให้ตรงกับหมายเลขขั้นตอน)
ลบตัวปรับแต่งที่ตั้งไว้ในขั้นตอนก่อนหน้าและบันทึกข้อมูลที่ได้ในขั้นตอนก่อนหน้าเก็บไว้ในไฟล์

ตั้งค่าตัวปรับแต่งสำหรับพารามิเตอร์ในขั้นตอนที่สอง (ID ลงท้ายด้วยสอง):

x12, x22, x32, x42 - สัดส่วนของ perceptron ที่รู้จำตำแหน่งขาย ปรับแต่งค่าจาก 0 ถึง 200 โดยเพิ่มขึ้นทีละ 1
tp2 - take profit ของตำแหน่งที่เปิดโดย perceptron ปรับแต่งค่าจาก 100 ถึง 1000 โดยเพิ่มขึ้นทีละ 10
sl2 - stop loss ของตำแหน่งที่เปิดโดย perceptron ปรับแต่งค่าจาก 100 ถึง 1000 โดยเพิ่มขึ้นทีละ 10
p2 - ระยะเวลาของค่าความแตกต่างของราคาที่วิเคราะห์โดย perceptron ปรับแต่งค่าจาก 3 ถึง 100 โดยเพิ่มขึ้นทีละ 1

เริ่มการฝึกผ่านการปรับแต่งอัลกอริธึมพันธุกรรม

ขั้นตอนที่สาม: การฝึก perceptron สำหรับตำแหน่งซื้อ:

ตั้งค่า 'pass' เป็น 3 (เพื่อให้ตรงกับหมายเลขขั้นตอน)
ลบตัวปรับแต่งที่ตั้งไว้ในขั้นตอนก่อนหน้า
บันทึกข้อมูลที่ได้ในขั้นตอนก่อนหน้าเก็บไว้ในไฟล์

ตั้งค่าตัวปรับแต่งสำหรับพารามิเตอร์ในขั้นตอนที่สาม (ID ลงท้ายด้วยสาม):

x13, x23, x33, x43 - สัดส่วนของ perceptron ที่รู้จำตำแหน่งซื้อ ปรับแต่งค่าจาก 0 ถึง 200 โดยเพิ่มขึ้นทีละ 1
tp3 - take profit ของตำแหน่งที่เปิดโดย perceptron ปรับแต่งค่าจาก 100 ถึง 1000 โดยเพิ่มขึ้นทีละ 10
sl3 - stop loss ของตำแหน่งที่เปิดโดย perceptron ปรับแต่งค่าจาก 100 ถึง 1000 โดยเพิ่มขึ้นทีละ 10
p3 - ระยะเวลาของค่าความแตกต่างของราคาที่วิเคราะห์โดย perceptron ปรับแต่งค่าจาก 3 ถึง 100 โดยเพิ่มขึ้นทีละ 1

เริ่มการฝึกผ่านการปรับแต่งอัลกอริธึมพันธุกรรม

ขั้นตอนสุดท้ายที่สี่:

การฝึกชั้นแรก (perceptron ชั้นบน):

ตั้งค่า 'pass' เป็น 4 (เพื่อให้ตรงกับหมายเลขขั้นตอน)
ลบตัวปรับแต่งที่ตั้งไว้ในขั้นตอนก่อนหน้า
บันทึกข้อมูลที่ได้ในขั้นตอนก่อนหน้าเก็บไว้ในไฟล์

ตั้งค่าตัวปรับแต่งสำหรับพารามิเตอร์ในขั้นตอนที่สี่ (ID ลงท้ายด้วยสี่):

x14, x24, x34, x44 - สัดส่วนของ perceptron ชั้นแรก ปรับแต่งค่าจาก 0 ถึง 200 โดยเพิ่มขึ้นทีละ 1
p4 - ระยะเวลาของค่าความแตกต่างของราคาที่วิเคราะห์โดย perceptron ปรับแต่งค่าจาก 3 ถึง 100 โดยเพิ่มขึ้นทีละ 1

เริ่มการฝึกผ่านการปรับแต่งอัลกอริธึมพันธุกรรม

นั่นแหละครับ เครือข่ายประสาทได้ถูกฝึกเสร็จเรียบร้อยแล้ว

EA นี้ยังมีพารามิเตอร์ "mn" ซึ่งเป็นหมายเลขเวทมนตร์ (magic number) ที่ช่วยให้ระบบแยกคำสั่งของตนเองออกจากคำสั่งที่เปิดโดยมือหรือ EA อื่นๆ หมายเลขเวทมนตร์ควรจะเป็นเอกลักษณ์

P.S.

  • ขนาดเงินฝากเริ่มต้นจะถูกกำหนดเป็นการขาดทุนสูงสุดคูณด้วยสอง (เพื่อเป็นมาร์จิ้นความปลอดภัย)
  • รหัสต้นฉบับของ EA ยังไม่ได้ปรับแต่ง
  • เปลี่ยนเนื้อหาของฟังก์ชัน basicTradingSystem() หากคุณต้องการแทนที่ BTS ที่มีอยู่ด้วยอัลกอริธึมของระบบการเทรดอื่น
  • ควรปรับแต่ง EA ในช่วงสุดสัปดาห์หากผลลัพธ์ในสัปดาห์ก่อนหน้านั้นไม่ทำกำไร การขาดทุนเป็นสัญญาณของการเปลี่ยนแปลงในตลาดและความจำเป็นในการปรับแต่งใหม่ หาก EA ทำกำไร ไม่จำเป็นต้องปรับแต่งใหม่เพราะหุ่นยนต์สามารถรับรู้รูปแบบของตลาดได้เป็นอย่างดี


โพสต์ที่เกี่ยวข้อง

ความคิดเห็น (0)