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"
๑. อ่านค่าอินดิเคเตอร์ต่างๆ
๒. แสดงค่าและเงื่อนไขต่างๆ บนจอภาพ
๓. ตรวจสอบและตัดสินใจเปิดคำสั่งซื้อ/ขาย
๔. กรณีที่เปิดคำสั่งซื้อ/ขายไม่ได้ จะทำการเปลี่นคู่เงินหรือสินทรัพย์
เงื่อนไขการเปิดคำสั่งซื้อ (BUY)
ในการเปิดคำสั่งซื้อ (BUY) ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA ประกอบด้วยเงื่อนไขดังนี้
- Parabolic SAR โน้มขึ้น
- Close[0] > Open[0]
- ทิศทางการซื้อขายตาม MACD เป็นขาขึ้น (Histogram > Signal)
- RSI < 75 หรือ RSI > 83
- เนื้อเทียนแท่งปัจจุบันมากกว่าใส้เทียนฝั่งบน
- เนื้อเทียนแท่งก่อนหน้าต้องมากกว่าใส้เทียนฝั่งบน
- ไม่มี pin bar ทะลุขอบบน Bollinger Band ในแท่งราคา 5 แท่งย้อนหลัง
- ตำแหน่งตรงเส้นกลาง BB ต้องมากกว่าตำแหน่งเส้นกลาง BB 5 แท่งที่ผ่านมาก
- RSI ปัจจุบัน > RSI แท่งที่ผ่านมาก
- เส้น MA100 < เส้นกลาง BB (MA10)
- ตำแหน่งที่เจอ Fractal Up > ตำแหน่งที่เจอ Fractal Down
- Fractal ล่าสุด ต้องเป็น Fractal Down
สำหรับการเปิดคำสั่งขาย (SELL) ของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA ประกอบด้วยเงื่อนไขดังนี้
- Parabolic SAR โน้มลง
- Close[0] < Open[0]
- ทิศทางการซื้อขายตาม MACD เป็นขาขึ้น (Histogram < Signal)
- RSI > 25 หรือ RSI < 17
- เนื้อเทียนแท่งปัจจุบันมากกว่าใส้เทียนฝั่งล่าง
- เนื้อเทียนแท่งก่อนหน้าต้องมากกว่าใส้เทียนฝั่งล่าง
- ไม่มี pin bar ทะลุขอบล่าง Bollinger Band ในแท่งราคา 5 แท่งย้อนหลัง
- ตำแหน่งตรงเส้นกลาง BB ต้องน้อยกว่าตำแหน่งเส้นกลาง BB 5 แท่งที่ผ่านมาก
- RSI ปัจจุบัน < RSI แท่งที่ผ่านมาก
- เส้น MA100 > เส้นกลาง BB (MA10)
- ตำแหน่งที่เจอ Fractal Up < ตำแหน่งที่เจอ Fractal Down
- Fractal ล่าสุด ต้องเป็น Fractal UP
การเปิดคำสั่งซื้อ/ขายสวนเทรน (trend reversal)
ในการเปิดคำสั่งซื้อ/ขายของ My MA100 BB10 Fractals PSAR MACD RSI Thai EA สามารถทำการเปิดคำสั่งซื้อขายสวนเทรนได้ ด้วยการกำหนดเงื่อนไขหรือคุณสมบัติในหัวข้อ UseTrendReversals เป็น True โดยมีเงื่อนไขการเปิดคำสั่งซื้อ/ขาย ดังนี้
กรณี ซื้อ (BUY) สวนเทรน
- Parabolic SAR โน้มขึ้น
- Close[0] > Open[0]
- ทิศทางการซื้อขายตาม MACD เป็นขาขึ้น (Histogram > Signal)
- RSI < 75 หรือ RSI > 83
- เนื้อเทียนแท่งปัจจุบันมากกว่าใส้เทียนฝั่งบน
- เนื้อเทียนแท่งก่อนหน้าต้องมากกว่าใส้เทียนฝั่งบน
- ไม่มี pin bar ทะลุขอบบน Bollinger Band ในแท่งราคา 5 แท่งย้อนหลัง
- ตำแหน่งตรงเส้นกลาง BB ต้องมากกว่าตำแหน่งเส้นกลาง BB 5 แท่งที่ผ่านมาก
- RSI ปัจจุบัน > RSI แท่งที่ผ่านมาก
- เส้น MA100 > เส้นกลาง BB (MA10) ซึ่งบ่งบอกว่าอยู่ในเทรนขาลง
- ตำแหน่งที่เจอ Fractal Up > ตำแหน่งที่เจอ Fractal Down
- Fractal ล่าสุด ต้องเป็น Fractal Down
กรณี ขาย (SELL) สวนเทรน
สำหรับการเปิดคำสั่งขาย (SELL) สวนเทรน จะต่างจากการเปิดคำสั่งขาย (SELL) ปรกติ ตรงที่ เส้น MA เคลื่อนที่เร็ว (MA10) อยู่เหนือเส้น MA เคลื่อนที่ช้า หรืออยู่ในเทรนขาขึ้น แต่เงื่อนไขอื่นๆ อยู่ในฝั่งขาลงทั้งหมด ซึ่งเงื่อนไขที่ใช้เปิดคำสั่งขาย (SELL) ในกรณีสวนเทรนมีดังนี้
- Parabolic SAR โน้มลง
- Close[0] < Open[0]
- ทิศทางการซื้อขายตาม MACD เป็นขาขึ้น (Histogram < Signal)
- RSI > 25 หรือ RSI < 17
- เนื้อเทียนแท่งปัจจุบันมากกว่าใส้เทียนฝั่งล่าง
- เนื้อเทียนแท่งก่อนหน้าต้องมากกว่าใส้เทียนฝั่งล่าง
- ไม่มี pin bar ทะลุขอบล่าง Bollinger Band ในแท่งราคา 5 แท่งย้อนหลัง
- ตำแหน่งตรงเส้นกลาง BB ต้องน้อยกว่าตำแหน่งเส้นกลาง BB 5 แท่งที่ผ่านมาก
- RSI ปัจจุบัน < RSI แท่งที่ผ่านมาก
- เส้น MA100 < เส้นกลาง BB (MA10)
- ตำแหน่งที่เจอ Fractal Up < ตำแหน่งที่เจอ Fractal Down
- 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;
}
}
}
}
}
}
}
บทความที่เกี่ยวข้อง