สวัสดีครับเพื่อนเทรดเดอร์ทุกคน! วันนี้ผมมีระบบเทรดอัตโนมัติหรือ EA ที่น่าสนใจมานำเสนอ ซึ่งอิงจากข้อมูลของ Moving Average ซึ่งใช้ในการวิเคราะห์ราคา ถ้าราคาเคลื่อนที่ห่างจาก Moving Average ตามจำนวนจุดที่กำหนด EA จะทำการเปิดคำสั่งในทิศทางที่สอดคล้องกับเส้น Moving Average นั่นเอง
EA นี้สามารถทำกำไรได้ แต่จำกัดอยู่ที่ประมาณหนึ่งและต้องการเงินฝากที่สูงพอสมควร
ไอเดียของ EA นี้มาจากผมเอง ส่วนโค้ด EA ถูกเขียนโดย Sergey Diubakin

เส้นสีแดงเข้มในภาพคือค่าของ Moving Average ส่วนเส้นสีแดงประดับคือขอบเขตของช่อง (Range) ที่คำนวณจากค่าของ indicator และเมื่อราคาตัดขอบเขตนี้ คำสั่งจะถูกเปิดตามมา
ที่ขอบเขตล่างของช่อง (Range) EA จะเปิดคำสั่ง Buy และที่ขอบเขตบนจะเปิดคำสั่ง Sell
เพื่อให้ EA เปิดคำสั่ง Buy หรือ Sell ที่แท่งเทียนที่แตะขอบเขตของช่อง (Range) แท่งเทียนก่อนหน้าต้องมี High หรือ Low ที่อยู่ต่ำกว่าหรือสูงกว่าระดับ Range: High ของแท่งเทียน "แรก" ต้องต่ำกว่าขอบเขตบนของระดับ Range เพื่อเปิดคำสั่ง Sell, ส่วน Low ของแท่งเทียน "แรก" ต้องสูงกว่าขอบเขตล่างของระดับ Range เพื่อเปิดคำสั่ง Buy
นอกจากนี้ EA ยังมีโมดูลเสริม: Turn, Step Down และ Trade Time
- โมดูล Turn — วางคำสั่งลิมิตที่ระดับ Stop Loss ของคำสั่งหลักในทิศทางตรงกันข้าม ผมคิดว่าโมดูลนี้จะมีประโยชน์เมื่อราคายังคงเคลื่อนที่ห่างจากเส้น MA เมื่อถึงขอบเขตของช่อง
- โมดูล Step Down — วางคำสั่งเพิ่มเติมในทิศทางเดียวกับคำสั่งหลัก โมดูลนี้เคยใช้ใน Expert Advisor อื่น
- โมดูล Trade Time — กำหนดช่วงเวลาที่ EA จะทำการเทรด (ไม่รวมถึงคำสั่งของโมดูล Step Down)
การตั้งค่าของ Expert Advisor:
Moving Average
- Period – พารามิเตอร์จากเมนู Moving Average
- Shift – พารามิเตอร์จากเมนู Moving Average
- Method MA – พารามิเตอร์จากเมนู Moving Average
- Apply to – พารามิเตอร์จากเมนู Moving Average
- Range – ระยะห่าง (วัดจากข้างบนและข้างล่าง) จากค่าของ Moving Average ณ ขณะนั้น เมื่อราคาถึงระดับ Range EA สามารถเปิดคำสั่งหลักแรกได้
Initial lot
- LotConst_or_not – ให้ผู้ใช้เลือกว่าจะเริ่มการเทรดด้วยล็อตเดียวกันหรือคำนวณล็อตเริ่มต้นตามการเปลี่ยนแปลงของเงินฝาก:
true – ล็อตแรกจะคงที่และเท่ากับค่าของ Lots ด้านล่าง
false – ล็อตแรกจะเปลี่ยนแปลงตามการเปลี่ยนแปลงของเงินฝากและขึ้นอยู่กับพารามิเตอร์ RiskPercent และขนาดของเงินฝาก
Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0 - Lots – ตั้งค่าล็อตเริ่มต้นในการเทรด
- RiskPercent – ตั้งค่าล็อตเริ่มต้นในการเทรดตามเงินฝาก
- LotConst_or_not – ให้ผู้ใช้เลือกว่าจะเริ่มการเทรดด้วยล็อตเดียวกันหรือคำนวณล็อตเริ่มต้นตามการเปลี่ยนแปลงของเงินฝาก:
Take Profit – ระดับกำไรของคำสั่ง (กำหนดเป็นจุดจากกราฟที่ EA ถูกแนบ)
Stop Loss – ระดับขาดทุนของคำสั่ง (กำหนดเป็นจุดจากกราฟที่ EA ถูกแนบ)
Trailing stop – ระดับ Stop Loss ที่จะถูกปรับอัตโนมัติ
- true – เปิดใช้งานโมดูล;
- false – ปิดใช้งานโมดูล;
โมดูล Turn
- true – เปิดใช้งานโมดูล;
- false – ปิดใช้งานโมดูล;
- Turn – ระยะห่างหลังจากนั้นจะมีคำสั่ง Pending ตรงกันข้ามถูกวาง
- LotMultiplicator – อัตราส่วนการเพิ่มล็อต
- Turn_TakeProfit – ระดับกำไรของคำสั่งที่จะเปิดโดยใช้โมดูลนี้ (กำหนดเป็นจุดจากกราฟที่ EA ถูกแนบ)
โมดูล Step Down
- true – เปิดใช้งานโมดูล;
- false – ปิดใช้งานโมดูล;
- Step Down – ระยะห่าง (ช่องว่าง) ระหว่างคำสั่งที่เปิดในกริดคำสั่งซึ่งวางตาม "แนวโน้ม"
โมดูล Trade time
- true – เปิดใช้งานโมดูล;
- false – ปิดใช้งานโมดูล;
- Open trade – เวลาเริ่มต้นที่ EA สามารถเปิดคำสั่งหลักแรกได้ หากมีสัญญาณ
- Close trade – เวลา หลังจากที่ EA ไม่สามารถเปิดคำสั่งหลักแรกได้
Magic (Magic Number) – รหัสโปรแกรมของ EA ที่ช่วยให้มันแยกคำสั่งของตัวเองออกจากคำสั่งอื่นๆ
Logo and data output – โมดูลนี้ช่วยเปิด/ปิดตาราง (รายได้วันนี้ เมื่อวาน ฯลฯ):
- true – เปิดใช้งานโมดูล;
- false – ปิดใช้งานโมดูล;
Time frame – รหัสโปรแกรมที่ช่วยกำหนดช่วงเวลาในกราฟที่ EA จะใช้ในการเทรด
- Current – ช่วงเวลาที่ระบุในเทอร์มินัล
- M1, M5, M15, M30, H1, H4, D1, W1, MN1 – ช่วงเวลาคงที่
โพสต์ที่เกี่ยวข้อง
- JS-Chaos: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5
- สร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณซื้อขายจาก Morning/Evening Stars + MFI
- MQL5 Wizard: ระบบเทรดสัญญาณจาก Hammer/Hanging Man + MFI บน MetaTrader 5
- MQL5 Wizard: สร้างสัญญาณเทรดจาก Bullish Harami/Bearish Harami + Stochastic สำหรับ MetaTrader 5
- สร้าง EA บน MQL5 Wizard ด้วยสัญญาณการซื้อขายจากแท่งเทียน 3 Black Crows/3 White Soldiers + Stochastic