เขียน EA ตรวจสอบ Candlestick Pattern


เขียน EA ตรวจสอบ Candlestick Pattern

The Bearish Engulfing pattern

    รูปแบบของ Bearish Engulfing คือ รุปแบบที่เป็นสัญญาณของการกลับตัวจากภาวะตลาดกระทิง(Up Trend) ไปสู่ภาวะตลาดหมี(Down Trend) จะเกิดแท่งเทียนทึบ(หมายเลข1)ครอบ แท่งเทียนโปร่ง(หมายเลข2) โดยที่ราคาเปิดและราคาปิดของแท่งเทียนโปร่งจะต้องอยู่ระหว่างราคาเปิดและราคาปิดของแท่งเทียนทึบ ดูภาพประกอบเพื่อความเข้าใจ
    ก่อนที่เราจะทำการเขียน EA เพื่อตรวจสอบว่า รูปแบบของกราฟแท่งเทียนที่เกิดขึ้นนั้น ใช่รูปแบบของ Bearish Engulfing Pattern รึปล่าวนั้น เราต้องทำการกำหนดเงื่อนไขของรูปแบบนี้ก่อนด้วยภาษาพูดและค่อยแปลงให้เป็นภาษา MQL
    เงื่อนไขของ Bearish Engulfing Pattern
  1. เราจะทำการตรวจสอบเมื่อเกิดแท่งเทียนแท่งใหม่ ใช้รูปประกอบ คือเมื่อเกิดแท่งเทียนหมายเลข 0
  2. ราคาเปิดของแท่งเทียนหมายเลข1 ต้องมากกว่าราคาปิดของแท่งเทียนหมายเลข1 ใช้เพื่อตรวจสอบว่าเป็นแท่งเทียนทึบ
  3. ราคาเปิดของแท่งเที่ยนหมายเลข2 ต้องน้อยกว่าราคาปิดของแท่งเทียนหมายเลข2 ใช้ตรวจสอบว่าเป็นแท่งเทียนโปร่ง
  4. ราคาเปิดของแท่งเทียนหมายเลข2 ต้องมากกว่าราคาปิดของแท่งเทียนหมายเลข1 และ ราคาปิดของแท่งเทียนหมายเลข2 ต้องน้อยกว่าราคาเปิดของแท่งเทียนหมายเลข1 ใช้เพื่อตรวจสอบว่าเป็น Bearish Engulfing Pattern
  5. ราคาเปิดของแท่งเทียนหมายเลข3 ต้องน้อยกว่าราคาปิดของแท่งเทียนหมายเลข3 ใช้ตรวจสอบว่าเป็นแท่งเทียนโปร่ง
  6. ส่วนต่างของราคาปิดกับราคาเปิดของแท่งเทียนหมายเลข3 ต้องมากกว่า ส่วนต่างของราคาปิดกับราคาเปิดของแท่งเทียนหมายเลข2 ใช้เพื่อเป็นการยืนยันว่าเป็น Up Trend
  7. ทุกเงื่อนไขเป็นจริงก็ให้ทำการเปิด Order Sell 
     หลังจากได้สัญญาณจากกราฟแล้ว ถ้าใครต้องการจะรอสัญญาณจาก Indicator ตัวอื่นเป็นตัวยืนยันก็สามารถทำได้ครับ แล้วแต่เทคนิคของแต่ละคน อย่างงัยก็คอยติดตามด้วยนะครับ ถ้าว่างเมื่อไหร่จะมาเขียนให้ผู้ที่สนใจเรียนรู้การเรียน EA ได้ใช้เป็นแนวทางในการเขียนต่อไปครับ...

     ลงมือเขียน Code
/* กำหนด Timeframe = 5 นาที */ int TF = PERIOD_M5; /* กำหนดตัวแปรเพื่อใช้เก็บค่าของจำนวน Bar ใน Chart */ int pbl_Bars=0; int start() { /* ในครั้งแรกที่เริ่มรัน EA เราจะยังไม่ทำการตรวจสอบ Candlestick Parttern */ if(pbl_Bars==0) { //เก็บค่าจำนวนของ Bar ที่มีใน Chart pbl_Bars = Bars; //กำหนด Bar ที่จะทำการตรวจสอบ pbl_Bars++; //ออกจากฟังก์ชั้น return (0); } /* 1. เราจะทำการตรวจสอบเมื่อเกิดแท่งเทียนแท่งใหม่ */ if(pbl_Bars==Bars) { /* แยกเป็นฟังก์ชั่นย่อย ถ้าตรวจสอบแล้วว่าเป็น Bearish Engulfing Pattern จะคืนค่ากลับมาเป็น true */ if(isBearish_Engulfing()) { /* 7.ทุกเงื่อนไขเป็นจริงก็ให้ทำการเปิด Order Sell */ /* OpenOrder เป็นฟังก์ชันย่อย ใช้ในการเปิด Order */ OpenOrder(OP_SELL); } /* เมื่อเข้ามาตรวจสอบแล้ว ถ้ายังไม่เปลี่ยนเป็นแท่งใหม่ก็จะไม่เข้ามาอีก */ pbl_Bars--; } return (0); } bool isBearish_Engulfing() { /* 2.ราคาเปิดของแท่งเทียนหมายเลข1 ต้องมากกว่าราคาปิดของแท่งเทียนหมายเลข1 */ if(!(iOpen(Symbol(),TF,1) > iClose(Symbol(),TF,1))) { /* ถ้าไม่ต้องตามเงื่อนไขทีี่ 2 ก็ออกจากฟังก์ชัน */ return (false); } /* 3.ราคาเปิดของแท่งเที่ยนหมายเลข2 ต้องน้อยกว่าราคาปิดของแท่งเทียนหมายเลข2 */ if(!(iOpen(Symbol(),TF,2) < iClose(Symbol(),TF,2))) { /* ถ้าไม่ต้องตามเงื่อนไขทีี่ 3 ก็ออกจากฟังก์ชัน */ return (false); } /* 4.ราคาเปิดของแท่งเทียนหมายเลข2 ต้องมากกว่าราคาปิดของแท่งเทียนหมายเลข1 และ ราคาปิดของแท่งเทียนหมายเลข2 ต้องน้อยกว่าราคาเปิดของแท่งเทียนหมายเลข1 */ if(!((iOpen(Symbol(),TF,2) > iClose(Symbol(),TF,1)) && (iClose(Symbol(),TF,2) < iOpen(Symbol(),TF,1)))) { /* ถ้าไม่ต้องตามเงื่อนไขทีี่ 4 ก็ออกจากฟังก์ชัน */ return (false); } /* 5.ราคาเปิดของแท่งเทียนหมายเลข3 ต้องน้อยกว่าราคาปิดของแท่งเทียนหมายเลข3 */ if(!((iOpen(Symbol(),TF,3) < iClose(Symbol(),TF,3))) { /* ถ้าไม่ต้องตามเงื่อนไขทีี่ 5 ก็ออกจากฟังก์ชัน */ return (false); } /* 6.ส่วนต่างของราคาปิดกับราคาเปิดของแท่งเทียนหมายเลข3 ต้องมากกว่า ส่วนต่างของราคาปิดกับราคาเปิดของแท่งเทียนหมายเลข2 */ if(! ((iClose(Symbol(),TF,3) - iOpen(Symbol(),TF,3)) > (iClose(Symbol(),TF,2) - iOpen(Symbol(),TF,2)))) { /* ถ้าไม่ต้องตามเงื่อนไขทีี่ 6 ก็ออกจากฟังก์ชัน */ return (false); } /* เข้าเงื่อนไขของ Bearish Engulfing Pattern */ return (true); } bool OpenOrder(int cmd) { /* คำสั่งในการเปิด Order จะมาอัพเดตทีหลังครับ }


Candlestick Pattern ยังมีอีกหลายรูปแบบ แล้วผมจะมาเขียนต่อในคราวหน้าครับ 


ที่มา http://onlinemakeemoney.blogspot.com














ความคิดเห็น

แสดงความคิดเห็น

เรื่องราวที่น่าสนใจ