MyBanner

โฆษณา

วันจันทร์ที่ 26 พฤศจิกายน พ.ศ. 2561

เงื่อนไขการเปิดคำสั่งซื้อ/ขายของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA



Unstable
Platform
MT 4
ปรับปรุงครั้งสุดท้ายเมื่อ : ๒๖ มกราคม พ.ศ.๒๕๖๒
ไม่รับประกันความเสียหาอันเนื่องมาจากการทำงานของ EA ชุดนี้


               My MA100 BB10 Fractals PSAR MACD RSI Thai EA เป็น EA  ที่พัฒนาต่อยอดมาจาก My Fast Slow Moving Average Thai EA ที่ผู้เขียนได้เคยนำเสนอไว้ในบล็อกไซต์แห่งนี้ กล่าวคือ EA ทั้งสองชุดนี้จะใช้เส้น Moving Average หรือเส้น MA เคลื่อนที่เร็วกับเส้น MA เคลื่อนที่ช้าตัดกัน เพียงแต่ใน EA ชุดนี้ เส้น MA เคลื่อนเร็วจะใช้เส้นกลางของ ฺBollinger Bands : BB แทน และใช้ขอบของ BB แสดงขอบเขตของการเคลื่อนที่ของราคา นอกจากนี้ยังใช้อินดิเคเตอร์อื่นๆ ประกอบดังที่ผู้เขียนได้แสดงรายละเอียดไว้ในบทความเรื่อง "indicators ที่ใช้ใน My MA100 BB10 Fractals PSAR MACD RSI Thai EA

สำหรับเรื่องราวที่จะคุยกันในครั้งนี้ จะเป็นเรื่องของเงื่อนไขในการเปิดคำสั่งซื้อ/ขายของ EA ชุดนี้ ซึ่งแบ่งเป็น 4 กรณี คือ การเปิดคำสั่งซื้อ และขายตามปรกติ และการเปิดคำสั่งซื้อและขายในกรณีักลับทาง ซึ่งกลไกหรือกลุ่มชุดคำสั่งในการดำเนินการดังกล่าว จะรวมอยู่ในฟังก์ชัน OnTick() ซึ่งเป็นฟังก์ชันที่จะทำงานเมื่อค่าเงินมีการเปลี่ยนแปลงเท่ากับ Tick Value ของคู่เงินนั้นๆ โดยมีหลักการทำงานคล่าวๆ คือ
๑. อ่านค่าอินดิเคเตอร์ต่างๆ
๒. แสดงค่าและเงื่อนไขต่างๆ บนจอภาพ
๓. ตรวจสอบและตัดสินใจเปิดคำสั่งซื้อ/ขาย
๔. กรณีที่เปิดคำสั่งซื้อ/ขายไม่ได้ จะทำการเปลี่นคู่เงินหรือสินทรัพย์

เงื่อนไขการเปิดคำสั่งซื้อ (BUY)


ในการเปิดคำสั่งซื้อ (BUY) ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA ประกอบด้วยเงื่อนไขดังนี้

  1.  Parabolic SAR โน้มขึ้น
  2. Close[0] > Open[0]
  3. ทิศทางการซื้อขายตาม MACD เป็นขาขึ้น (Histogram > Signal)
  4. RSI < 75 หรือ RSI > 83
  5. เนื้อเทียนแท่งปัจจุบันมากกว่าใส้เทียนฝั่งบน
  6. เนื้อเทียนแท่งก่อนหน้าต้องมากกว่าใส้เทียนฝั่งบน
  7. ไม่มี pin bar ทะลุขอบบน Bollinger Band ในแท่งราคา 5 แท่งย้อนหลัง
  8. ตำแหน่งตรงเส้นกลาง BB ต้องมากกว่าตำแหน่งเส้นกลาง BB 5 แท่งที่ผ่านมาก
  9. RSI ปัจจุบัน > RSI แท่งที่ผ่านมาก
  10. เส้น MA100 < เส้นกลาง BB (MA10)
  11. ตำแหน่งที่เจอ Fractal Up > ตำแหน่งที่เจอ Fractal Down
  12. Fractal ล่าสุด ต้องเป็น Fractal Down


เงื่อนไขการเปิดคำสั่งขาย (SELL)



สำหรับการเปิดคำสั่งขาย (SELL) ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA ประกอบด้วยเงื่อนไขดังนี้




  1.  Parabolic SAR โน้มลง
  2. Close[0] < Open[0]
  3. ทิศทางการซื้อขายตาม MACD เป็นขาขึ้น (Histogram < Signal)
  4. RSI > 25 หรือ RSI < 17
  5. เนื้อเทียนแท่งปัจจุบันมากกว่าใส้เทียนฝั่งล่าง
  6. เนื้อเทียนแท่งก่อนหน้าต้องมากกว่าใส้เทียนฝั่งล่าง
  7. ไม่มี pin bar ทะลุขอบล่าง Bollinger Band ในแท่งราคา 5 แท่งย้อนหลัง
  8. ตำแหน่งตรงเส้นกลาง BB ต้องน้อยกว่าตำแหน่งเส้นกลาง BB 5 แท่งที่ผ่านมาก
  9. RSI ปัจจุบัน < RSI แท่งที่ผ่านมาก
  10. เส้น MA100 > เส้นกลาง BB (MA10)
  11. ตำแหน่งที่เจอ Fractal Up < ตำแหน่งที่เจอ Fractal Down
  12. Fractal ล่าสุด ต้องเป็น Fractal UP

การเปิดคำสั่งซื้อ/ขายสวนเทรน (trend reversal)


ในการเปิดคำสั่งซื้อ/ขายของ  My MA100 BB10 Fractals PSAR MACD RSI Thai EA สามารถทำการเปิดคำสั่งซื้อขายสวนเทรนได้ ด้วยการกำหนดเงื่อนไขหรือคุณสมบัติในหัวข้อ UseTrendReversals เป็น True โดยมีเงื่อนไขการเปิดคำสั่งซื้อ/ขาย ดังนี้

กรณี ซื้อ (BUY) สวนเทรน



ในการเปิดคำสั่งซื้อ (BUY) สวนเทรน จะต่างจากการเปิดคำสั่งซื้อ (BUY) ปรกติ ตรงที่ เส้น MA เคลื่อนที่เร็ว (MA10) อยู่ต่ำกว่าเส้น MA เคลื่อนที่ช้า หรืออยู่ในเทรนขาลง แต่เงื่อนไขอื่นๆ อยู่ในฝั่งขาขึ้นทั้งหมด ซึ่งเงื่อนไขที่ใช้เปิดคำสั่งซื้อ (BUY) ในกรณีสวนเทรนมีดังนี้
  1.  Parabolic SAR โน้มขึ้น
  2. Close[0] > Open[0]
  3. ทิศทางการซื้อขายตาม MACD เป็นขาขึ้น (Histogram > Signal)
  4. RSI < 75 หรือ RSI > 83
  5. เนื้อเทียนแท่งปัจจุบันมากกว่าใส้เทียนฝั่งบน
  6. เนื้อเทียนแท่งก่อนหน้าต้องมากกว่าใส้เทียนฝั่งบน
  7. ไม่มี pin bar ทะลุขอบบน Bollinger Band ในแท่งราคา 5 แท่งย้อนหลัง
  8. ตำแหน่งตรงเส้นกลาง BB ต้องมากกว่าตำแหน่งเส้นกลาง BB 5 แท่งที่ผ่านมาก
  9. RSI ปัจจุบัน > RSI แท่งที่ผ่านมาก
  10. เส้น MA100 > เส้นกลาง BB (MA10) ซึ่งบ่งบอกว่าอยู่ในเทรนขาลง
  11. ตำแหน่งที่เจอ Fractal Up > ตำแหน่งที่เจอ Fractal Down
  12. Fractal ล่าสุด ต้องเป็น Fractal Down

กรณี ขาย (SELL) สวนเทรน


สำหรับการเปิดคำสั่งขาย (SELL) สวนเทรน จะต่างจากการเปิดคำสั่งขาย (SELL) ปรกติ ตรงที่ เส้น MA เคลื่อนที่เร็ว (MA10) อยู่เหนือเส้น MA เคลื่อนที่ช้า หรืออยู่ในเทรนขาขึ้น แต่เงื่อนไขอื่นๆ อยู่ในฝั่งขาลงทั้งหมด ซึ่งเงื่อนไขที่ใช้เปิดคำสั่งขาย (SELL) ในกรณีสวนเทรนมีดังนี้
  1.  Parabolic SAR โน้มลง
  2. Close[0] < Open[0]
  3. ทิศทางการซื้อขายตาม MACD เป็นขาขึ้น (Histogram < Signal)
  4. RSI > 25 หรือ RSI < 17
  5. เนื้อเทียนแท่งปัจจุบันมากกว่าใส้เทียนฝั่งล่าง
  6. เนื้อเทียนแท่งก่อนหน้าต้องมากกว่าใส้เทียนฝั่งล่าง
  7. ไม่มี pin bar ทะลุขอบล่าง Bollinger Band ในแท่งราคา 5 แท่งย้อนหลัง
  8. ตำแหน่งตรงเส้นกลาง BB ต้องน้อยกว่าตำแหน่งเส้นกลาง BB 5 แท่งที่ผ่านมาก
  9. RSI ปัจจุบัน < RSI แท่งที่ผ่านมาก
  10. เส้น MA100 < เส้นกลาง BB (MA10)
  11. ตำแหน่งที่เจอ Fractal Up < ตำแหน่งที่เจอ Fractal Down
  12. Fractal ล่าสุด ต้องเป็น Fractal UP

สำหรับชุดคำสั่งเกี่ยวกับเงื่อนไขการเปิดคำสั่งซื้อ/ขาย ของ  My MA100 BB10 Fractals PSAR MACD RSI Thai EA ที่กล่าวมาในข้างต้น ผู้เขียนจะขอยกมาแสดงเพียงบางส่วนดังนี้

      //ตรวจสอบว่าคู่เงินอนุญาตให้เทรดเต็มรูปแบบหรือไม่
      //ตรวจสอบว่าจะซื้อ (BUY) หรือ ขาย (SELL)
      if ((((((((((ลักษณะPSAR == "โน้มขึ้น (BUY)") && 
         (Close[0] > Open[0]) &&
         (ทิศทางการซื้อขายตาม_MACD == "ขาขึ้น (BUY)")) &&
         (เงื่อนไขRSI_BUY_Ok)) &&
         (ดูพินแท่งเทียน(0)) && ดูพินแท่งเทียน(1)) &&
         (StringLen(ข้อความพินBB) == 0)) && //ไม่มี พิน ที่ขอบของ Bollinger Band
         (เส้นกลางBB > เส้นกลางBBก่อนหน้า5แท่ง)) &&
         (RSI > iRSI(NULL, PERIOD_CURRENT, 14,PRICE_CLOSE,1))) &&
         (MA100 < เส้นกลางBB)) &&
         (ตำแหน่งแท่งเทียนที่เจอFractalUP > ตำแหน่งแท่งเทียนที่เจอFractalDOWN)) &&
         (StringFind(ตำแหน่งFractal, "BUY", 0) != -1))
      {
         รูปแบบการซื้อขาย = OP_BUY;
         
      } else {
         if (((((((((((ลักษณะPSAR == "โน้มลง (SELL)") && 
            (Close[0] < Open[0])) &&
            (ทิศทางการซื้อขายตาม_MACD == "ขาลง (SELL)")) &&
            (เงื่อนไขRSI_SELL_Ok)) &&
            (ดูพินแท่งเทียน(0)) && ดูพินแท่งเทียน(1)) &&
            (StringLen(ข้อความพินBB) == 0)) && //ไม่มี พิน ที่ขอบของ Bollinger Band
            (เส้นกลางBB < เส้นกลางBBก่อนหน้า5แท่ง)) &&
            (RSI < iRSI(NULL, PERIOD_CURRENT, 14,PRICE_CLOSE,1))) &&
            (MA100 > เส้นกลางBB)) &&
            (ตำแหน่งแท่งเทียนที่เจอFractalUP < ตำแหน่งแท่งเทียนที่เจอFractalDOWN)) &&
            (StringFind(ตำแหน่งFractal, "SELL", 0) != -1))
         {
            รูปแบบการซื้อขาย = OP_SELL;  
         } else {
            รูปแบบการซื้อขาย = 99;
         }
      }
      
      if ((รูปแบบการซื้อขาย == 99) && UseTrendReversals) 
      {         
         if (MA100 < เส้นกลางBB) //เทรนตาม Moving Average อยู๋ในเทรน BUY
         {                    //แต่งองค์ประกอบอื่นๆ อยู่ฝั่ง SELL
            if (((((((((เงื่อนไขRSI_SELL_Ok) &&
               (ลักษณะPSAR == "โน้มลง (SELL)")) &&
               (ทิศทางการซื้อขายตาม_MACD == "ขาลง (SELL)")) &&
               (เส้นกลางBB < เส้นกลางBBก่อนหน้า5แท่ง)) &&
               (RSI < iRSI(NULL, PERIOD_CURRENT, 14,PRICE_CLOSE,1))) &&
               (Close[1] < Open[1])) &&
               (Close[0] < Open[0])) &&
               (ตำแหน่งแท่งเทียนที่เจอFractalUP < ตำแหน่งแท่งเทียนที่เจอFractalDOWN)) &&
               (StringFind(ตำแหน่งFractal, "SELL", 0) != -1))
            {
               if (StringFind(ข้อความพินBB, "SELL", 0) == -1)
               {
                  รูปแบบการซื้อขาย = OP_SELL;
                  
                  if (OrdersTotal() > 0)
                  {
                     if (OrderType() == OP_BUY) //รายการสุดท้ายเป็น BUY
                     {
                        รหัสกรณีเปลี่ยนคู่เงินไม่ได้ = 0;
                        สถานะอนุญาตให้เปิดคำสั่ง = True;
                        if (((จำนวนคำสั่งซื้อขายทั้งหมด > 0) &&
                           (OrderSymbol() == Symbol())) &&
                           (NoRepleatAsset))
                        {
                           สถานะอนุญาตให้เปิดคำสั่ง = False;
                        }
                     }
                  }
               }
            }
         }
         
         if (MA100 > เส้นกลางBB) //เทรนตาม Moving Average อยู๋ในเทรน SELL
         {                    //แต่งองค์ประกอบอื่นๆ อยู่ฝั่ง BUY
            if (((((((((เงื่อนไขRSI_BUY_Ok) &&
               (ลักษณะPSAR == "โน้มขึ้น (BUY)")) &&
               (ทิศทางการซื้อขายตาม_MACD == "ขาขึ้น (BUY)")) &&
               (เส้นกลางBB > iBands(NULL, PERIOD_CURRENT, 10, 2, 0, PRICE_CLOSE, MODE_MAIN, 4))) &&
               (RSI > iRSI(NULL, PERIOD_CURRENT, 14,PRICE_CLOSE,1))) &&
               (Close[1] > Open[1])) &&
               (Close[0] > Open[0])) &&
               (ตำแหน่งแท่งเทียนที่เจอFractalUP > ตำแหน่งแท่งเทียนที่เจอFractalDOWN)) &&
               (StringFind(ตำแหน่งFractal, "BUY", 0) != -1))
            {
               if (StringFind(ข้อความพินBB, "BUY", 0) == -1)
               {
                  รูปแบบการซื้อขาย = OP_BUY;
                  
                  if (OrdersTotal() > 0)
                  {
                     if (OrderType() == OP_SELL) //รายการสุดท้ายเป็น BUY
                     {
                        รหัสกรณีเปลี่ยนคู่เงินไม่ได้ = 0;
                        สถานะอนุญาตให้เปิดคำสั่ง = True;
                        if (((จำนวนคำสั่งซื้อขายทั้งหมด > 0) && 
                           (OrderSymbol() == Symbol())) &&
                           (NoRepleatAsset))
                        {
                           สถานะอนุญาตให้เปิดคำสั่ง = False;
                        }
                     }
                  }
               }
            }
         }
      }

บทความที่เกี่ยวข้อง

เขียน EA สำหรับ FOREX ใช้เองจะดีไหม ตอน My MA100 BB10 Fractals PSAR MACD RSI Thai EA
การกำหนดค่าต่างๆ ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA
indicators ที่ใช้ใน My MA100 BB10 Fractals PSAR MACD RSI Thai EA
เงื่อนไขการเปิดคำสั่งซื้อ/ขายของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA
การคำนวณหาขนาด lot, Stop Loss (SL) และ Take Profit (TP) ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA

วันเสาร์ที่ 24 พฤศจิกายน พ.ศ. 2561

indicators ที่ใช้ใน My MA100 BB10 Fractals PSAR MACD RSI Thai EA



Unstable
Platform
MT 4
ปรับปรุงครั้งสุดท้ายเมื่อ : ๒๖ มกราคม พ.ศ.๒๕๖๒
ไม่รับประกันความเสียหาอันเนื่องมาจากการทำงานของ EA ชุดนี้


               สำหรับ My MA100 BB10 Fractals PSAR MACD RSI Thai EA เป็น EA ที่มีการใช้อินดิเคเตอร์จำนวน 6  อย่าง  ประกอบด้วย  Moving Average (MA)Bollinger Band (BB), Fractals, Parabolic SAR (PSAR), MACD, RSI ดังที่ปรากฏในชื่อของ EA นอกจากนี้ยังมีการพิจารณาแท่งราคาประกอบด้วย

Moving Average (MA100)


อินดีเคเตอร์ตัวแรกที่จะต้องใช้ใน EA ชุดนี้คือ เส้น Moving Average หรือที่เรียกสั้นๆ ว้าเส้น MA โดยค่าที่ใช้ใน EA ชุดนี้ คือ เส้น MA 100 ค่า MA method เป็นแบบ Simple และ Apply to Close โดยเวลาเขียนคำสั่งภาษา MQL4 ของ Mata Trader 4อ่านค่ามาใช้ใน EA ขะใช้จะใช้คำสั่ง iMA() ซึ่งมีรูปcบบคำสั่งดังนี้

double  iMA(
        string       symbol                 // symbol
        int            timeframe,              // timeframe
        int            ma_period            // MA averaging period
        int            ma_shift,                // MA shift
        int            ma_method,           // averaging method
        int            applied_price,        // applied price
        int            shift                       //  shift
   );

โดยที่
symbol หมายถึง
ชื่อคู่เงินหรือสินทรัพย์ (String) ที่จะมาคำนวณหาค่า Moving Average ถ้าต้องการใช้คู่เงินหรือสินทรัพย์ที่ปรากฏอยู่บนหน้าจอกราฟของ MT4 ในขณะนั้น จะใส่ค่าเป็น NULL
timeframe หมายถึง กรอบเวลาที่ต้องการวัดค่า MA
ma_period หมายถึง คาบเวลาที่ต้องการหาค่า MA
ma_shift หมายถึง ค่าเยื้องคาบเวลาโดยปรกติจะใส่ค่าเป็น 0
ma_method หมายถึง
วิธีการคำนวนหาค่า MA มี 4 แบบ คือ Simple (SMA), Exponential (EMA), Smoothed (SMMA) และ Linear Weighted(LWMA)
applied_price หมายถึง
กำหนดให้ใช้ค่าใดจากแท่งราคามาในการนวนค่า MA มี 9 ค่า เช่น High, Open, Close, Low, ฯลฯ
shift หมายถึง
แท่งราคาเริ่มต้นที่จะคำนวณค่า MA ปรกติจะใส่ค่าเป็น 0 ซึ่งหมายถึงเริ่มที่แท่งราคาปัจจุบัน


สำหรับค่า MA ที่เราจะอ่านขึ้นมาเพื่อใช้ใน EA ชุดนี้ ชุดคำสั่งที่เราจะใช้ สามารถเขียนได้ดังนี้

MA100 = iMA(NULL, PERIOD_CURRENT, 100, 0, MODE_SMA, PRICE_CLOSE, 0);

หมายเหตุ
ชุดคำสั่งข้างต้น จะทำหน้าที่คำคำนวณค่าอินดิเคเตอร์ตามที่กำหนด มาเก็บไว้ในตัวแปรเพื่อไว้ใช้ในการดำเนินงานของ EA ชุดคำสั่งดังกล่าวจะไม่ได้วาดรูปร่างชองของอินดิเคเตอร์บนหน้าจอกราฟของ MT4


Bollinger Band (BB10)



Bollinger Band เป็นอินดิเคเตอร์อีกตัวหนึ่งที่ถูกนำมาใช้ใน EA ชุดนี้ โโยอาสัยคุณสมบัติของ Bollinger Band ที่เส้นกลางคือเส้น Moveing Average และมีเส้นกรอบแสดงขอบเขตการเคลื่อนของราคา และความหนาแน่นของการซื้อ/ขาย ใน EA ชุดนี้ จะกำหนดค่า Period เท่ากับ 10 และ ค่า Deviations เท่ากับ 2 ใน EA ชุดนี้ จะใช้เส้นกลางของ Bollinger Band ร่วมกับ MA100 ในการบอกทิศทาง (Trend) ของราคา ใช้เปรียบเทียบเส้นกลางที่แท่งราคาปัจจุบันกับที่แท่งราคาย้อนหลัง 5 แท่งเพื่อบอกทิศทางของราคาว่าขึ้นหรือลง และใช้เส้นขอบของ Bollinger Band สังเกตุการกลับตัว สำหรับชุดคำสั่ง MQL4 สำหรับอ่านค่าต่างๆ ของ Bollinger Band ได้แก้คำสั่ง iBands() ซึ่งมีรูปบบคำสั่งดังนี้

double  iBands(
          string          symbol              // symbol
          int               timeframe         // timeframe
          int               period,                // averaging period
          double        deviation           // standard deviations
          int               bands_shift,        // bands shift
          int               applied_price,    // applied price
          int               mode                // line index
          int               shift                   // shift
     );

โดยที่

deviation หมายถึง ค่า deviation ของ Bollinger Band ปรกติจะมีค่าเป็น 2
bands_shift หมายถึง
ค่าเยื้องหรือแท่งราคาที่จะให้เริ่มสร้างเส้นขอบของ Bollinger Band ปรกติจะมีค่าเป็น 0 คือเริ่มจากแท่งราคาปัจจุบัน
mode
หมายถึง
ค่าที่ต้องการจากคำสั่ง iBands() ซึ่งมีอยู่ด้วยกัน 3 ค่า คือ 0 – MODE_MAIN หมายถึง เส้นกลาง , 1 – MODE_UPPER หมายถึง เส้นขอบบน, และ 2 – MODE_LOWER หมายถึง เส้นขอบล่าง

สำหรับคำสั่งที่ใช้ใน EA ชุดนี้ คือการอ่านค่า เส้นกลางของ Bollinger Band ที่แท่งราคาย้อนหลังไป 5 แท่งนับจากแท่งราคาปัจจุบัน ชุดคำสั่งที่ใช้คือ

เส้นกลางBBก่อนหน้า5แท่ง = iBands(NULL, PERIOD_CURRENT, 12, 2, 0, PRICE_CLOSE,MODE_MAIN, 4);

ส่วนการอ่านค่าต่างๆ ของ Bollinger Bands ที่ต้องใช้ทั้งค่า เส้นกลาง, เส้นขอบบน และเส้นขอบล่างจะใช้ชุดคำสั่ง ดังนี้

      ขอบบนBB=iBands(NULL, PERIOD_CURRENT, 10, 2, 0, PRICE_CLOSE, MODE_UPPER, 0);
      เส้นกลางBB=iBands(NULL, PERIOD_CURRENT, 10, 2, 0, PRICE_CLOSE, MODE_MAIN,0);
      ขอบล่างBB=iBands(NULL, PERIOD_CURRENT, 10, 2, 0, PRICE_CLOSE, MODE_LOWER, 0);

Fractals


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

ใน EA ชุดนี้จะทำการตรวจสอบหา Fractal ที่อยู่ใกล้ราคาปัจจุบันมากที่สุด วิธีการก็คือ เราจะกำหนดตัวแปรขึ้นมา 2 ชุด สำหรับเก็บค่า Fractal ที่แท่งราคามีหัวลูกศรของ Fractal ชี้ขึ้น และอีกตัวหนึ่งเก็บค่า Fractal ของแท่งราคาที่มีหัวลูกศรของ Fractal ชี้ลง โดยกำหนดค่าเริ่มต้นเป็น 0 แล้วใช้คำสั่ง  iFractals() ของ MQL4 ทำการตรวจสอบแท่งราคาจากปัจจุบันและไล่ย้อนหลังจนกว่าจะเจอแท่งที่เกิด Fractal คำสั่งดังกล่าจะนำค่าซึ่งก็คือ ราคาสูงสุดหรือราคาต่ำสุดของแท่งที่เจอ Fractal เวลานำไปใช้เราจะตรวจสอบค่าตัวแปรตัวใดไม่เท่ากับ 0 ซึ่งตัว EA จะไม่เปิดคำสั่งซื้อขายในทิศทางของลูกศร Fractal และจะไม่เปิดคำสั่งซื้อ/ขายหากตัวแปรเก็บค่า Fractal ทั้งสองไม่เท่ากับ 0 เหมือนกัน ซึ่งแสดงว่าตลาดยังไม่เลือกทางว่าจะขึ้นหรือจะลง สำหรับรูปของชุดคำสั่ง iFractals มีดังนี้

double  iFractals(
               string       symbol,              // symbol
                 int          timeframe,         // timeframe
                 int          mode                // line index
                 int          shift                    // shift
        );

โดยที่

mode หมายถึง สัญลักษณ์กำกับว่า จะให้คำสั่ง iFractals() แสดงค่าใดออกมาซึ่งมี 2 แบบ คือ 1=MODE_UPPER และ 2= MODE_LOWER


สำหรับชุดคำสั่งในการหาและอ่่านค่า Fractals ใน EA ชุดนี้มีดังนี้

      //หา Fractal ล่าสุด
      ตำแหน่งแท่งเทียนที่เจอFractalUP = 0;
      FractalUP = 0;
      while (FractalUP == 0)
      {
         FractalUP = iFractals(NULL, PERIOD_CURRENT, MODE_UPPER, ตำแหน่งแท่งเทียนที่เจอFractalUP);
         ตำแหน่งแท่งเทียนที่เจอFractalUP++;
      }
      
      ตำแหน่งแท่งเทียนที่เจอFractalDOWN = 0;
      FractalDOWN = 0;
      while (FractalDOWN == 0)
      {
         FractalDOWN = iFractals(NULL, PERIOD_CURRENT, MODE_LOWER, ตำแหน่งแท่งเทียนที่เจอFractalDOWN);
         ตำแหน่งแท่งเทียนที่เจอFractalDOWN++;
      }

Parabolic SAR



Parabolic SAR เป็นอินดิเคเตอร์ใช้บอกทิศทางการซื้อ/ขายหรือเทรนของตลาด โดย Parabolic SAR จะแสดงสัญลักษณ์จุดสีใต้แท่งราคา หากราคากำลังอยู่ในฝั่งขาขึ้น และแสดงจุดสีเหนือแท่งราคา หาราคากำลังอยู่ในฝั่งขาลง สำหรับใน EA ชุดนี้จะใช้ Parabolic SAR ในการยืนยันเทรนหรือทิศทางของราคา โดยใช้ค่าปริยาย ซึ่งเราสามารถอ่านค่า Parabolic SAR ด้วยคำสั่ง iSAR() ของ MQL4 โดยมีรูปแบบชุดคำสั่งดังนี้

double  iSAR(
          string       symbol,              // symbol
            int          timeframe,         // timeframe
        double       step,                   // price increment step - acceleration factor
        double       maximum,         /maximum value of step
           int          shift                    // shift
     );

โดยที่

step หมายถึง จำนวนราคาที่ขยับในการคำนวณแต่ละครั้ง ปรกติจะใส่ค่าเป็น 0.02
maximum หมายถึง จำนวนราคาที่ขยับได้สูงสุดต่อการคำนวณแต่ละครั้งปรกติจะใส่ค่าเป็น 0.2


สำหรับชุดคำสั่งในการอ่านค่า Parabolic SAR ใน EA ชุดนี้มีดังนี้

PSAR = iSAR(NULL, PERIOD_CURRENT, 0.02, 0.2, 0);

MACD



MACD เป็นอินดิเคเตอร์ที่มีคนนิยมใช้ในการทำนายทิศทางของราคา สำหรับใน EA ชุดนี้จะใช้ MACD ใน ลักษณะ คือ ใช้การยืนยันเทรน และยืนยันทิศทางการเคลื่อนของราคาว่าชี้ขึ้นหรือชี้ลง โดยใช้ค่าปริยาย คือ 12, 26 และ 9
โดยในกรณีแรก จะใช้หลักการตัดกันของเส้นสัญญาณกับแท่งฮิสโตแกรมของ MACD ในกรณีที่ ฮิสโตแกรมอยู่เหนือเส้นสัญญาณ จะถือว่าเป็นเทรนขาขึ้น แต่ถ้าฮิสโตรแกรมต่ำกว่าเส้นสัญญาณจะถือว่าเป็นเทรนขาลง 
ส่วนในกรณีที่สอง จะใช้การเปรียบเทียบฮิสโตแกรมแท่งปัจจุบันกับแท่งก่อนหน้า 
ดังนั้นค่าที่จะต้องอ่านออกมาจะมี 3 ค่า โดยในภาษา MQL4 จะใช้คำสั่ง iMACD() ซึ่งมีรูปแบบชุดคำสั่งดังนี้

double  iMACD(
             string       symbol                      // symbol
               int          timeframe,                  // timeframe
               int          fast_ema_period      // Fast EMA period
               int          slow_ema_period     // Slow EMA period
               int          signal_period,             // Signal line period
               int          applied_price           // applied price
               int          mode                        // line index
               int          shift                            // shift
   );

โดยที่

fast_ema_period หมายถึง ค่าเส้น EMA วิ่งเร็ว
slow_ema_period หมายถึง ค่าเส้น EMA วิ่งช้า
mode หมายถึง ค่าที่ต้องการหาจากคำสั่ง iMACD() มี 2 ค่า (0-MODE_MAIN, 1-MODE_SIGNAL)

ชุดคำสั่งที่ใช้ใน EA ชุดนี้มีดังนี้

      //อ่านค่า MACD
      MACD = iMACD(NULL, PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0);
      MACD_แท่งก่อนหน้า = iMACD(NULL, PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1);
      MACD_Signal = iMACD(NULL, PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0);

RSI


RSI เป็นอินดิเคเตอร์ที่ใช้บอกปริมาณการซื้อขาย โดยใน EA ชุดนี้ จะใช้ค่าปริยายคือ 14 โดยจะใน 2 ลักษณะ คือใช้ดูเขตซื้อมากเกินไป (> 83) หรือโซนขายมากเกิน (<27) และใช้ดูทิศทางการซื้อ/ขาย (เทียบแท่งราคาแท่งก่อนกับแท่งปัจจุบัน) โดยชุดคำสั่งที่ใช้อ่านค่า RSI คือ คำสั่ง iRSI() โดยมีรูปแบบชุดคำสั่งดังนี้

double  iRSI(
       string       symbol           // symbol
        int          timeframe        // timeframe
        int          period               // period
        int          applied_price,    // applied price
        int          shift                    // shift
      );

สำหรับชุดคำสั่งที่ใช้ใน EA ชุดนี้ มีดังนี้

RSI = iRSI(NULL, PERIOD_CURRENT, 14,PRICE_CLOSE,0);

หมายเหตุ
จะสังเกตุเห็นว่า การใส่ค่าพารามิเตอร์ต่างๆ ในชุดคำสั่งที่ต้องการอ่านค่าจากอินดิเคเตอร์ต่างๆ ของภาษา MQL4 จะเป็นค่าเดียวกับการกำหนดค่าใน Properties ของ อินดิเคเตอร์บนหน้าจอกราฟของ MT4

บทความที่เกี่ยวข้อง

เขียน EA สำหรับ FOREX ใช้เองจะดีไหม ตอน My MA100 BB10 Fractals PSAR MACD RSI Thai EA
การกำหนดค่าต่างๆ ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA
indicators ที่ใช้ใน My MA100 BB10 Fractals PSAR MACD RSI Thai EA
เงื่อนไขการเปิดคำสั่งซื้อ/ขายของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA

วันพุธที่ 21 พฤศจิกายน พ.ศ. 2561

การกำหนดค่าต่างๆ ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA



Unstable
Platform
MT 4
ปรับปรุงครั้งสุดท้ายเมื่อ : ๒๖ มกราคม พ.ศ.๒๕๖๒
ไม่รับประกันความเสียหาอันเนื่องมาจากการทำงานของ EA ชุดนี้


               สำหรับค่าต่างๆ ที่จะใช้กำหนดการทำงานของ My MA100 BB10 Fractals PSAR MACE RSI Thai EA  ในเบื้องต้นแนะนำให้ใช้ค่าที่กำหนดมากับ EA (default) เนื่องจากเป็นค่าที่ผู้เขียนทดสอบแล้วน่าจะเป็นค่าที่ช่วยรักษาทุนให้คงอยู่ ไม่ล้างพอร์ทง่าย แต่อย่างไรก็ดี บทความชุดนี้เราจะมาดูความหมายของค่าพารามิเตอร์ต่างๆ ที่ผู้เขียนกำหนดไว้ ว่ามีความหมายอย่างไรกับการทำงานของตัว EA ซึ่งค่าพารามิเตอร์ต่างๆ ของ EA ชุดนี้มีดังนี้


UseAutoSelectAsset

สำหรับกำหนดให้ EA เลือกสินทรัพย์หรือคู่เงินใหม่อัตโนมัติ หากสินทรัพย์หรือคู่เงินที่อยู่ในหน้าจอกราฟของ MT4 ในขณะนั้นไม่มีเงื่อนไขที่ EA จะเปิดคำสั่งซื้อ/ขาย โดยสินทรัพย์หรือคู่เงินที่ EA เลือกมาใหม่ จะเป็นสินทรัพย์หรือคู่เงินที่แสดงอยู่ในกรอบ Market Watch ของ MT4 ที่กำลังใช้งานอยู่ในขณะนั้นเท่านั้น ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA เลือกสินทรัพย์หรือคู่เงินใหม่อัตโนมมัติ


NoRepleatAsset

พารามิเตอร์ตัวนี้ไม้ไว้เพื่อใช้กำหับ กรณีที่เราต้องการให้ EA สามารถเปิดคำสั่งซื้อ/ขาย ได้หลายคำสั่ง โดยใช้เป็นเงื่อนไขว่าจะอนุญาตให้ EA เปิดคำสั่งซื้อ/ขายในสินทรัพย์หรือคู่เงินเดิม หรือไม่ ค่าที่ตั้งมาให้ (default) คือ True หมายถึง ไม่อนุญาตให้ EA เปิดคำสั่งซื้อ/ขายบนคู่เงินหรือสินทรัพย์ที่มีการเปิดคำสั่งซื้อ/ขายค้างอยู่


UseTrendReversals

โดยปรกติ EA จะใช้เส้น Moving Average (MA)  ๒ เส้นคือ MA 100 และ MA10 (เส้นกลาง Bollinger Band) ในการบอกเทรนหรือทิศทางการไหลของค่าเงิน รวมเงื่อนไขอื่นๆ  แต่ในกรณีเงื่อนไขอื่นๆ เกิดการกลับทางหมด แต่เส้น MA ยังไม่กลับทาง ซึ่งเป็นช่วงที่ค่าเงินกำลังจะเปลี่ยนทางแต่ยังไม่สมบูรณ์ หรือเรียกอีกอย่างว่า เปิดคำสั่งซื้อ/ขาย/สวนเทรน พารามิเตอร์ตัวนี้จะเป็นตัวกำหนดว่า จะยอมให้ EA เปิดคำสั่งซื้อ/ขายสวนเทรนหรือไม่ ค่าที่ตั้งมาให้ (default) คือ False หมายถึง ไม่อนุญาตให้เปิดคำสั่งซื้อ/ขายสวนเทรน


MinimumLotSize

MY MA100 BB10 Fractals PSAR MACD RIS Thai EA เป็น EA ที่คำนวนหาขนาดล็อต (lot size) ให้อัตโนมัติ แต่ถ้าค่าที่คำนวณได้ต่ำกว่าค่าที่กำหนดไว้ใน MinimumLotSize ตัว EA จะใช้ค่าดังกล่าวในการกำหนดขนาดล็อตต่ำสุด (ผู้ใช้ต้องทำการกำหนดขนาดล็ตต่ำสุดตามประเภทบัญชีที่ผู้ใช้เปิดอยู่เอง บัญชีเทรดบางประเภทจะใช้ขนาดล็อตมากกว่า ๐.๐๑ ค่าที่ตั้งมาให้ (default) คือ 0.01


MaximumRisk

พารามิเตอร์ตัวนี้หมายถึงระดับความเสี่ยงในการเปิดคำสั่งซื้อ/ขายที่เรายอมรับได้ คิดเป็นเปอร์เซ็นต์ของเงินทุนที่เรามีอยู่ 1 หมายถึง ยอมเสี่ยง 100 % ของเงินทุน , 0.01 หมายถึงยอมเสี่ยง 1 % ของเงินทุน ค่าที่ตั้งมาให้ (default) คือ 0.05 หมายถึง ยอมเสี่ยง ๕ เปอร์เซ็น์ของเงินทุน


RiskRewardRatio

พารามิเตอร์ตัวนี้เป็นค่าอัตรส่วนระหว่างความเสี่ยง (Risk) ๑ หน่วย ต่อ(หาร)ผลตอบแทนที่เราหวังว่าจะได้รับ (Reward) ซึ่ง EA จะใช้คำนวณหาระยะเป้าหมายกำไร (Take Profit : TP) โดยเทียบกับระยะตัดขาดทุน (Stop Loss : SL) ค่าที่ตั้งมาให้ (default) คือ 0.25 หมายถึง กำหนดให้ EA ตั้ง ระยะเป้าหมายกำไร หรือ Take Profit ขนาด 4 เท่าของ ระยะตัดขาดทุน หรือ Stop Loss


MaxTrade

ใช้สำหรับกำหนดจำนวนคำสั่งซื้อ/ขาย (Position) ที่ EA จะทำการเปิดได้ จริงๆ แล้ว EA ชุดนี้สามารถเปิดคำสั่งซื้อขายได้ไม่จำกัด (ขึ้นอยู่กับข้อจำกัดของแต่ละโบรกเกอร์) แต่ EA จะเปิดคำสั่งซื้อ/ขายถัดไปก็ต่อเมื่อคำสั่งซื้อ/ขายที่เปิดล่าสุดมีกำไรตามระดับที่ EA ตั้งไว้แล้วเท่านั้น ค่าที่ตั้งมาให้ (default) คือ 5 หมายถึง เปิดคำสั่งซื้อ/ขายได้ไม่เกิน ๕ คำสั่ง (Order)


TakeProfit

โดยปรกติ EA ชุดนี้สามารถกำหนดระยะเป้าหมายกำไรให้อัตโนมัติ ตามเงื่อนไขที่ระบุในพารามิเตอร์ RiskRewardRatio กรณีกำหนดค่าของพารามิเตอร์ TakeProfit เป็น ๐ แต่ถ้าหากผู้นำไปใช้งานกำหนดเป็นค่าอื่นๆ (เป็นระยะจำนวน pip นับจากจุดที่เปิดคำสั่งซื้อขาย) EA จะนำค่าที่ระบุไว้ไปกำหนดระยะเป้าหมายกำไรของคำสั่งซื้อ/ขายที่จะเปิดขึ้นใหม่ ค่าที่ตั้งมาให้ (default) คือ 0 หมายถึง ไม่กำหนดระยะเป้าหมายกำไร หรือให้ EA คำนวณให้อัตโมัติ


UseAutoTakeProfit

เป็นพารามิเตอร์สำหรับกำหนดให้ EA คำนวณระยะเป้าหมายกำไร (TP) ให้อัตโนมัติ โดยมีเงื่อนไขว่าค่าของพารามิเตอร์ TakeProfit ที่กล่าวมาข้างต้นจะต้องกำหนดค่าเป็น ๐ เท่านั้น ถ้ากำหนดเป็นค่าอื่นๆ EA จะใช้ค่านั้นๆ แทน แต่ถ้าพารมิเตอร์ UseAutoTakeProfit ถูกกำหนดค่าเป็น False จะหมายถึง การกำหนดให้ EA ไม่ต้องกำหนดค่า Take Profit ในคำสั่งซื้อ/ขายที่จะเปิดขึ้นใหม่ ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA คำนวณหาค่า Take Profit อัตโนมัติเมื่อทำการเปิดคำสั่งซื้อ/ขายใหม่


UseTrailingTakeProfit

เป็นพารามิเตอร์ที่จะกำหนดให้ EA ทำการเลื่อนระยะเป้าหมายกำไรใหม่หรือไม่ (Traling Take Profit) ซึ่งกลไกในการเลื่อนระยะเป้าหมายกำไรจะทำงานก็ต่อเมื่อในคำสั่งซื้อ/ขายที่เปิดอยู่มีการตั้ง Take Profit ไว้เท่านั้น ถ้าเป็น ๐ กลไกดังกล่าวจะไม่ทำงาน ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA ทำการเลื่อนระยะเป้าหมายกำไรออกไปถ้าราคาวิ่งเข้าใกล้ Take Profit


StopLoss

เป็นการกำหนค่าของระยะตัดขาดทุนที่น้อยที่สุดจากจุดที่เปิดคำสั่งซื้อ/ขาย หน่วยเป็น pip โดยปรกติ EA จะคำนวณระยะตัดขาดทุน หรือ Stop Loss ให้อัตโนมัติ แต่ถ้าผลที่คำนวณได้น้อยกว่าที่กำหนดไว้ในพารามิเตอร์ StopLoss กลไกของ EA จะนำค่าดังกล่าวไปกำหนดเป็นค่า Stop Loss ของคำสั่งซื้อ/ขาย ค่าที่ตั้งมาให้ (default) คือ 250


CalculateNewStopLoss

โดยปรกติแล้วเวลาเปิดคำสั่งซื้อ/ขาย EA ชุดนี้ จะไม่กำหนดค่า Stop Loss ให้ถ้าผู้ใช้งานกำหนดค่าพารามิเตอร์ CalculateNewStopLoss เป็น False ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA คำนวณค่า Stop Loss ให้ทุกครั้งที่เปิดคำสั่งซื้อ/ขาย


UseCandleTrailingStop

EA ชุดนี้เป็น EA ทีทำการเลื่อนระยะตัดขาดทุนหรือ Trailing Stop Loss ให้อัตโนมัติ แต่เป็นการเลื่อนระยะตัดขาดทุนโดยดูจากตำแหน่งของ Fractal แต่ EA ชุดนี้ยังมีกลไกเลื่อนระยะตัดขาดทุนอีกแบบหนึ่งคือดูจากแท่งราคา ซึ่งพารามิเตอร์ UseCandleTrailingStop จะเป็นตัวกำหนดให้กลไกการเลื่อนระยะตัดขาดทุนแบบที่สองทำงานหรือไม่  ค่าที่ตั้งมาให้ (default) คือ True หมายถึง กำหนดให้ EA ทำการเลื่อนระยะตัดขาดทุนโดยดูจากแท่งราคาด้วย แต่ถ้าผู้ใช้งานรู้สึกว่า จะทำให้ EA ปิดเร็วเกินไปก็สามารถยกเลิกการเลื่อนระยะตัดขาดทุนที่ดูจากแท่งราคานี้ได้ โดยการกำหนดค่าให้เป็น False


สำหรับค่าพารามิเตอร์ต่างๆ ของ EA ตามที่กล่าวมาในข้างต้น จะเป็นค่าที่ยึด Time Frame D1 เป็นหลัก หากนำไปใช้กับ Time Frame อื่นๆ ผู้นำไปใช้อาจจะปรับแต่งค่าใหม่ให้เหมาะสมพฤติกรรมการเทรดของท่านได้

วิธีการเรียกกรอบหน้าต่างปรับแต่งค่าพารามิเตอร์ของ EA

ขออนญาตทบทวนวิธีการเรียกกรอบสำหรับปรับแต่งค่าพารามิเตอร์ต่างๆ ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA ซึ่งสามารถทำได้โดยการคลิ๊กปุ่มขวาของเมาส์บนหน้าจอกราฟของโปรแกรม MT4 แล้วเลือกที่หัวข้อ Expert Advisors และ Properties จากเมนูที่ปรากฎขึ้นตามลำดับ
การเขียนคำสั่งรับค่าพารามิเตอร์ของ MQL4

ในการเขียนชุดคำสั่งสำหรับรับค่าจากไดอะล็อก Properties ของ Expert Advisors บนโปรแกรม MT4 จะทำได้โดยการใช้คำสั่ง input ตามด้วยชนิดของตัวแปรทีี่ต้องการรับค่า ชื่อตัวแปร เครื่องหมายเท่ากับและค่าเริ่มต้น ซึ่งใน EA ชุดนี้จะมีคำสั่ง Input ทั้งหมดดังนี้

//--- input parameters
input bool        UseAutoSelectAsset             =True;     //กำหนดให้ EA เลือกสินทรัพย์อัตโนมัติ
input bool        NoRepleatAsset                    =True;     //ไม่ให้เปิด Order ในคู่เงินซ้ำเดิม
input bool        UseTrendReversals               =False;     //ใช้เงื่อนไขการกลับเทรนในการเปิด order ด่วย
input double    MinimumLotSize                  =0.01;     //ขนาดล็อตต่ำสุดที่ต้องการ
input double    MaximumRisk                      =0.05;     //เปอร์เซ็นต์ความเสี่ยงที่ยอมรับได้
input double    RiskRewardRatio                  =0.25;     //อัตตราการทำกำไร (Take Profit) ต่้อความเสี่ยง 1 หน่วย (Stop Loss)
input int          MaxTrade                              =5;        //จำนวนคำสั่งซื้อ/ขายสูงสุด
input double   TakeProfit                              =0;        //จำนวน pip ที่ต้องการปิด order เมื่อมีกำไร
input bool       UseAutoTakeProfit               =True;     //กำหนดให้ EA ตั้ง TP อัตโนมัติ
input bool       UseTrailingTakeProfit          =True;     //กำหนดให้ EA เลื่อน TP ห่างออกไปเมื่อราคาเข้าใกล้ TP เดิม
input double   StopLoss                               =250;      //จำนวน pip ที่ต้องการปิด order เมื่อขาดทุน
input bool       CalculateNewStopLoss        =True;     //ให้โปรแกรมคำนวน Stop Loss ใหม่
input bool       UseCandleTrailingStop        =True;     //ใช้การทำ Trailing Stop

บทความที่เกี่ยวข้อง

เขียน EA สำหรับ FOREX ใช้เองจะดีไหม ตอน My MA100 BB10 Fractals PSAR MACD RSI Thai EA
การกำหนดค่าต่างๆ ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA
indicators ที่ใช้ใน My MA100 BB10 Fractals PSAR MACD RSI Thai EA
เงื่อนไขการเปิดคำสั่งซื้อ/ขายของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA
การคำนวณหาขนาด lot, Stop Loss (SL) และ Take Profit (TP) ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA

Adz2you.