รายละเอียด:
ด้วย MQL5 Wizard เทรดเดอร์สามารถ สร้างโค้ด Expert Advisor โดยอัตโนมัติ ตามประเภทสัญญาณการเทรด การติดตามตำแหน่ง และการจัดการเงิน ด้วยการใช้ คลาสสัญญาณการเทรด จาก Standard Library คุณสามารถพัฒนาและทดสอบระบบเทรดของคุณเองได้ เพียงแค่เขียน โมดูลของสัญญาณการเทรด.
หนังสือ "กลยุทธ์ของเทรดเดอร์ที่ดีที่สุดในโลก" (ภาษารัสเซีย) อธิบายเกี่ยวกับอินดิเคเตอร์และกลยุทธ์การเทรดสำหรับการวิเคราะห์ทางเทคนิคที่ใช้แพ็คเกจซอฟต์แวร์ MetaStock นอกจากนี้ยังมีการพูดถึงสัญญาณการเทรดที่อิงตามการใช้รูปแท่งเทียนกลับตัวร่วมกับการยืนยันจาก Stochastic, CCI, MFI และ RSI.
การใช้รูปแท่งเทียนกลับตัวร่วมกับสัญญาณออสซิลเลเตอร์ช่วยลดจำนวนสัญญาณที่ผิดพลาดและเพิ่มประสิทธิภาพของระบบเทรด.
ในบทความก่อนหน้านี้ เราได้พิจารณาสัญญาณการเทรดที่อิงจากรูปแท่งเทียนที่มีการยืนยันจาก Stochastic:
- 3 Black Crows/3 White Soldiers
- Dark Cloud Cover/Piercing Line
- Bullish Engulfing/Bearish Engulfing
- Bullish Harami/Bearish Harami
- Hammer/Hanging Man
- Bullish/Bearish Meeting Lines
- Morning/Evening Stars
ในเอกสารนี้เราจะพิจารณาผลลัพธ์ของการใช้โมเดลเหล่านี้ร่วมกับสัญญาณของออสซิลเลเตอร์ Stochastic.
1. โมเดลแท่งเทียนขาขึ้นและขาลงและการตรวจจับ
CandlePattern class ยังมีฟังก์ชันสำหรับตรวจจับการเกิดขึ้นของโมเดลแท่งเทียนขาขึ้นและขาลงบางประเภท (ยกเว้นการรวมกันของ Hammer/Hanging Man).
การตรวจสอบการเกิดขึ้นของโมเดลแท่งเทียนขาลงจะใช้ฟังก์ชัน CheckPatternAllBullish():
//+------------------------------------------------------------------+ //| ตรวจสอบการเกิดขึ้นของโมเดลขาขึ้น | //+------------------------------------------------------------------+ bool CCandlePattern::CheckPatternAllBullish() { return(CheckPatternThreeWhiteSoldiers() || CheckPatternPiercingLine() || CheckPatternMorningDoji() || CheckPatternBullishEngulfing() || CheckPatternBullishHarami() || CheckPatternMorningStar() || CheckPatternBullishMeetingLines()); }
การตรวจสอบการเกิดขึ้นของโมเดลแท่งเทียนขาขึ้นจะใช้ฟังก์ชัน CheckPatternAllBearish():
//+------------------------------------------------------------------+ //| ตรวจสอบการเกิดขึ้นของโมเดลขาลง | //+------------------------------------------------------------------+ bool CCandlePattern::CheckPatternAllBearish() { return(CheckPatternThreeBlackCrows() || CheckPatternDarkCloudCover() || CheckPatternEveningDoji() || CheckPatternBearishEngulfing() || CheckPatternBearishHarami() || CheckPatternEveningStar() || CheckPatternBearishMeetingLines()); }
2. สัญญาณการเทรดที่รวมกับออสซิลเลเตอร์ Stochastic
การเปิดตำแหน่งขาย/ซื้อ จะเกิดขึ้นเมื่อมีการเกิดโมเดลขาขึ้น/ขาลง และมีการยืนยันจาก Stochastic oscillator. ค่าของเส้นสัญญาณ %D ควรอยู่เหนือหรือต่ำกว่าระดับที่กำหนด (30 และ 70).
สัญญาณการออกจะเกิดขึ้นในสองกรณี:
- เมื่อมีการเกิดโมเดลแท่งเทียนตรงข้าม (โมเดลขาลงสำหรับตำแหน่งซื้อและโมเดลขาขึ้นสำหรับตำแหน่งขาย).
- ตามพฤติกรรมถัดไปของ %D. หาก %D ถึงระดับที่ตรงข้ามกับตลาด (80 สำหรับตำแหน่งซื้อและ 20 สำหรับตำแหน่งขาย) หรือหาก %D ไม่ยืนยันสัญญาณการกลับตัวและถึง 20 สำหรับตำแหน่งซื้อและ 80 สำหรับตำแหน่งขาย.
การตรวจสอบเงื่อนไขการเข้าและออกจากตลาดจะดำเนินการในวิธีการต่อไปนี้:
- int CCP_Stoch::LongCondition() - ตรวจสอบเงื่อนไขสำหรับการเปิดตำแหน่งซื้อ (m_pattern_0) และปิดตำแหน่งขาย (m_pattern_1);
- int CCP_Stoch::ShortCondition() - ตรวจสอบเงื่อนไขสำหรับการเปิดตำแหน่งขาย (m_pattern_0) และปิดตำแหน่งซื้อ (m_pattern_1).
2.1. การเปิดตำแหน่งซื้อและปิดตำแหน่งขาย
-
สัญญาณสำหรับการเปิดตำแหน่งซื้อต้องมีการเกิดโมเดลแท่งเทียนขาขึ้นและต้องเป็นไปตามเงื่อนไข StochSignal(1)<30 (ค่าของ Stochastic ที่เส้นสัญญาณในแท่งล่าสุดน้อยกว่า 30);
-
สัญญาณสำหรับการปิดตำแหน่งขายคือการเกิดโมเดลแท่งเทียนขาขึ้นหนึ่งในโมเดลหรือกรณีที่เส้นออสซิลเลเตอร์ข้ามระดับ 20 (ขึ้นไป) หรือระดับ 80 (ขึ้นไป).
//+------------------------------------------------------------------+ //| วิธีการตรวจสอบว่ามีการเกิดโมเดลทางการตลาด | //| ตรวจสอบเงื่อนไขสำหรับ | //| เข้า (เปิดตำแหน่งขาย, m_pattern_0) | //| ออก (ปิดตำแหน่งซื้อ, m_pattern_1) | //+------------------------------------------------------------------+ int CCP_Stoch::LongCondition() { int res=0; //---- ตรวจสอบเงื่อนไขสำหรับเปิดตำแหน่งขาย //---- การเกิดโมเดลขาขึ้นและเส้นสัญญาณของ Stochastic<30 if(CheckPatternAllBullish() && (StochSignal(1)<30)) res=m_pattern_0; // สัญญาณเพื่อเปิดตำแหน่งซื้อ //--- ตรวจสอบเงื่อนไขของการปิดตำแหน่งขาย //--- การเกิดโมเดลขาลงหรือการตัดผ่านของเส้นสัญญาณ (ขึ้น 20, ขึ้น 80) if(CheckPatternAllBullish() || ((StochSignal(1)>20) && (StochSignal(2)<20)) || ((StochSignal(1)>80) && (StochSignal(2)<80))) res=m_pattern_1; // สัญญาณเพื่อปิดตำแหน่งขาย //--- return(res); }
2.2. การเปิดตำแหน่งขายและปิดตำแหน่งซื้อ
-
สัญญาณสำหรับการเปิดตำแหน่งขายคือการเกิดโมเดลแท่งเทียนขาลงหนึ่งในโมเดลและต้องเป็นไปตามเงื่อนไข StochSignal(1)>70 (ค่าของ Stochastic เส้นสัญญาณในแท่งล่าสุดมากกว่า 70):
-
สัญญาณสำหรับการปิดตำแหน่งซื้อต้องมีการเกิดโมเดลแท่งเทียนขาลงหนึ่งในโมเดลหรือกรณีที่เส้นออสซิลเลเตอร์ข้ามระดับ 80 (ลงไป) หรือระดับ 20 (ลงไป).
//+------------------------------------------------------------------+ //| วิธีการตรวจสอบว่ามีการเกิดโมเดลทางการตลาด | //| ตรวจสอบเงื่อนไขสำหรับ | //| เข้า (เปิดตำแหน่งขาย, m_pattern_0) | //| ออก (ปิดตำแหน่งซื้อ, m_pattern_1) | //+------------------------------------------------------------------+ int CCP_Stoch::ShortCondition() { int res=0; //--- ตรวจสอบเงื่อนไขสำหรับเปิดตำแหน่งขาย //---- การเกิดโมเดลขาลงและเส้นสัญญาณของ Stochastic>70 if(CheckPatternAllBearish() && (StochSignal(1)>70)) res=m_pattern_0; // สัญญาณเพื่อเปิดตำแหน่งขาย //--- ตรวจสอบเงื่อนไขของการปิดตำแหน่งซื้อ //---- การเกิดโมเดลขาลงหรือ การตัดผ่านของเส้นสัญญาณ (ลง 80, ลง 20) if(CheckPatternAllBearish() || ((StochSignal(1)<80) && (StochSignal(2)>80)) || ((StochSignal(1)<20) && (StochSignal(2)>20))) res=m_pattern_1; // สัญญาณเพื่อปิดตำแหน่งซื้อ //--- return(res); }
2.3. สร้าง Expert Advisor โดยอิงจากสัญญาณการเทรดของ "รูปแท่งเทียน+Stochastic" โดยใช้ MQL5 Wizard
คลาส CCP_Stoch ไม่ได้รวมอยู่ใน Standard Library ของสัญญาณการเทรด ดังนั้นให้ดาวน์โหลดไฟล์ ccp_stoch.mqh (แนบมาด้วย) และบันทึกลงใน \terminal_folder\Include\Expert\Signal\MySignals เพื่อใช้งาน ไฟล์ candlepatterns.mqh ควรคัดลอกไปยังไดเรกทอรีเดียวกันกับ ccp_stoch.mqh หลังจากนั้นให้รีสตาร์ท MetaEditor เพื่อให้สามารถใช้งานไฟล์ใน MQL5 Wizard.
เพื่อสร้างหุ่นยนต์เทรดตามกลยุทธ์นี้ผ่าน MQL5 Wizard ให้เลือกประเภทสัญญาณ "สัญญาณจากรูปแท่งเทียน+Stochastic" ในขั้นตอนที่สอง:

Fig. 1. เลือก "สัญญาณจากรูปแท่งเทียน+Stochastic" ใน MQL5 Wizard
ในขั้นตอนถัดไป ให้ระบุประเภท Trailing Stop และระบบ Money Management ที่ต้องการ โค้ดของ Expert Advisor จะถูกสร้างโดยอัตโนมัติ จากนั้นต้องทำการคอมไพล์เพื่อเริ่มการทดสอบ.
2.4. ผลการทดสอบ
ผลการทดสอบ Expert Advisor บนข้อมูลย้อนหลัง (EURUSD H1, ช่วงเวลาทดสอบ: 1.1.2000-02.02.2011, PeriodK=33, PeriodD=37, PeriodSlow=30, MA_period=25).
Expert Advisor นี้ใช้โมดูลสำหรับการเทรดปริมาณคงที่ 0.1 ล็อต (Trading Fixed Lot). ไม่มีการใช้ Trailing Stop (Trailing ไม่ได้ใช้).

Fig. 2. ผลการทดสอบ Expert Advisor ที่สร้างจาก "สัญญาณจากรูปแท่งเทียน+Stochastic"
ชุดพารามิเตอร์ที่ดีที่สุดของระบบการเทรดสามารถค้นหาได้โดยใช้ Strategy Tester ใน MetaTrader 5.
โค้ดของ Expert Advisor ที่สร้างโดย MQL5 Wizard ถูกแนบในไฟล์ expert_cp_stoch.mq5.
โพสต์ที่เกี่ยวข้อง
- สร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณซื้อขายจาก Morning/Evening Stars + MFI
- การสร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณการเทรดจาก Morning/Evening Stars + RSI
- ใช้ MQL5 Wizard สร้าง Expert Advisor ด้วยสัญญาณเทรด Morning/Evening Stars + Stochastic
- MQL5 Wizard: สร้างสัญญาณการเทรดจาก Bullish Harami/Bearish Harami พร้อม MFI
- สร้าง Expert Advisor ด้วย MQL5 Wizard สำหรับสัญญาณการเทรด Bullish Harami/Bearish Harami และ RSI