ระบบการเทรดที่ติดตามแนวโน้ม Exp_Sinewave2_X2 อิงจากสัญญาณของสองอินดิเคเตอร์ Sinewave2 โดยอินดิเคเตอร์แรกจะช่วยกำหนดทิศทางของแนวโน้มช้า (slow trend) ตามตำแหน่งของเส้นหลักและเส้นสัญญาณ ขณะที่อินดิเคเตอร์ที่สองจะช่วยบอกช่วงเวลาสำหรับการเปิดออเดอร์เมื่อเส้นทั้งสองตัดกันหรือติดต่อกัน สัญญาณเข้าซื้อจะถูกสร้างขึ้นเมื่อบาร์ปิดและเมื่อเงื่อนไขดังต่อไปนี้ถูกต้อง:
- สัญญาณของแนวโน้มช้าและเร็วตรงกัน;
- แนวโน้มเร็วได้เปลี่ยนทิศทางแล้ว.
การตั้งค่าของ EA
//+-------------------------------------------------+ //| พารามิเตอร์การตั้งค่าของ EA | //+-------------------------------------------------+ input string Trade="การจัดการการเทรด"; //+============== การจัดการการเทรด ==============+ input double MM=0.1; // สัดส่วนของเงินฝากในดีล input MarginMode MMMode=LOT; // วิธีการกำหนดมูลค่าล็อต input uint StopLoss_=1000; // Stop Loss ในจุด input uint TakeProfit_=2000; // Take Profit ในจุด input string MustTrade="อนุญาตให้เทรด"; //+============== อนุญาตให้เทรด ==============+ input int Deviation_=10; // การเบี่ยงเบนราคาสูงสุดในจุด input bool BuyPosOpen=true; // อนุญาตให้เปิดตำแหน่งซื้อ input bool SellPosOpen=true; // อนุญาตให้เปิดตำแหน่งขาย //+-------------------------------------------------+ //| พารามิเตอร์การตั้งค่าของอินดิเคเตอร์ฟิลเตอร์ | //+-------------------------------------------------+ input string Filter="พารามิเตอร์แนวโน้มช้า"; //+============== พารามิเตอร์แนวโน้ม ==============+ input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6; // 1 ช่วงกราฟสำหรับแนวโน้ม input uint Length=10; // อัตราส่วนการทำให้เรียบของอินดิเคเตอร์ input uint SignalBar=1; // หมายเลขบาร์เพื่อรับสัญญาณเข้าซื้อ input bool BuyPosClose=true; // อนุญาตให้ปิดตำแหน่งซื้อตามแนวโน้ม input bool SellPosClose=true; // อนุญาตให้ปิดตำแหน่งขายตามแนวโน้ม //+-------------------------------------------------+ //| พารามิเตอร์การตั้งค่าของอินดิเคเตอร์เข้าซื้อ | //+-------------------------------------------------+ input string Input="พารามิเตอร์การเข้าซื้อ"; //+=============== พารามิเตอร์การเข้าซื้อ ===============+ input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30; //2 ช่วงกราฟสำหรับการเข้าซื้อ input uint Length_=10 // ช่วงเวลาอินดิเคเตอร์ input uint SignalBar_=1; // หมายเลขบาร์เพื่อรับสัญญาณเข้าซื้อ input bool BuyPosClose_=false; // อนุญาตให้ปิดตำแหน่งซื้อตามสัญญาณ input bool SellPosClose_=false; // อนุญาตให้ปิดตำแหน่งขายตามสัญญาณ //+-------------------------------------------------+
ตัวแปรสตริงที่มีข้อความในโค้ดของพารามิเตอร์การตั้งค่าใช้เพื่อให้เห็นภาพที่ดีขึ้นในหน้าต่างพารามิเตอร์ของ EA.
อินดิเคเตอร์ Sinewave2_Cloud_HTF ใน EA มีไว้เพื่อให้สามารถมองเห็นแนวโน้มในสตราเทจเทสเซอร์ได้สะดวกยิ่งขึ้น และจะไม่ทำงานในโหมดการทำงานอื่น ๆ.
เพื่อให้ EA ทำงานได้อย่างถูกต้อง ไฟล์ที่คอมไพล์ของอินดิเคเตอร์ CyclePeriod.ex5, Sinewave2.ex5, และ Sinewave2_Cloud_HTF.ex5 จะต้องอยู่ในโฟลเดอร์ <terminal_data_directory>\MQL5\Indicators.
หมายเหตุว่าไฟล์ไลบรารี TradeAlgorithms.mqh ช่วยให้สามารถใช้ Expert Advisors กับโบรกเกอร์ที่เสนอ สเปรดไม่เป็นศูนย์ และมีตัวเลือกการตั้งค่า Stop Loss และ Take Profit ระหว่างการเปิดตำแหน่ง. คุณสามารถดาวน์โหลดเวอร์ชันอื่น ๆ ของไลบรารีนี้ได้ที่ Trade Algorithms.
พารามิเตอร์การตั้งค่าเริ่มต้นของ EA ถูกใช้ในทดสอบด้านล่าง โดยไม่ได้ใช้ Stop Loss และ Take Profit ในการทดสอบ.

ผลการทดสอบสำหรับ GBPUSD ในปี 2016 แนวโน้มช้าใน H8 และการเข้าซื้อโดยแนวโน้มเร็วใน M30:

รูปที่ 2. กราฟผลการทดสอบ
โพสต์ที่เกี่ยวข้อง
- การสร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณการเทรดจาก Morning/Evening Stars + RSI
- MQL5 Wizard: สร้างสัญญาณการเทรดจาก Bullish Harami/Bearish Harami พร้อม MFI
- MQL5 Wizard: ระบบเทรดสัญญาณจาก Hammer/Hanging Man + MFI บน MetaTrader 5
- สร้าง Expert Advisor ด้วย MQL5 Wizard สำหรับสัญญาณการเทรด Bullish Harami/Bearish Harami และ RSI
- MQL5 Wizard: สัญญาณการเทรดจากรูปแบบแท่งเทียน 3 Black Crows/3 White Soldiers + CCI