
รีวิว RSI EA บน MT5: กฎเข้าออกและข้อจำกัดจากซอร์ส
RSI EA (barabashkakvn's edition) เป็น Expert Advisor สำหรับ MetaTrader 5 ที่ใช้ค่า RSI เพื่อดูการเคลื่อนผ่านระดับ 30 และ 70 แล้วเปิดหรือปิด position ตามเงื่อนไขในซอร์ส โค้ดมีตัวเลือก Stop Loss, Take Profit, Trailing Stop และการคำนวณล็อตแบบอิง free margin แต่ค่าเริ่มต้นของ Stop Loss, Take Profit และ Trailing Stop เป็นศูนย์
จุดที่ต้องอ่านให้ละเอียดคือ input Risk = 10 ถูกประกาศไว้ แต่ source เรียก m_money.Percent(10) เป็นค่าคงที่ จึงยังไม่มีหลักฐานว่าการเปลี่ยน input Risk จะเปลี่ยนเปอร์เซ็นต์ที่ใช้คำนวณล็อตตามชื่อ input
บทความนี้เป็น source review เท่านั้น ไม่ใช่ผลการ Compile, Strategy Tester, Backtest, Demo หรือ Live และไม่มีการสรุปว่า EA ทำกำไร
RSI คืออะไรในภาษาง่าย ๆ
RSI หรือ Relative Strength Index เป็นตัวชี้วัดโมเมนตัมที่ช่วยบอกว่าราคาในช่วงที่เลือกเคลื่อนตัวแรงไปทางใดมากเกินไปหรือไม่ ระดับ 30 และ 70 ในบทความนี้เป็นเพียงเงื่อนไขของสูตร ไม่ใช่คำรับรองว่าราคาจะกลับตัว
ข้อมูลของ EA และซอร์สที่ตรวจได้
หน้า MQL5 CodeBase ระบุชื่อ RSI EA (barabashkakvn's edition) และมี source ให้ดาวน์โหลดได้ ผู้สร้างที่หน้า CodeBase แสดงคือ Vladimir Karputov ส่วน header ในไฟล์ source ระบุ dXerof และ MetaQuotes Software Corp. จึงควรแยกข้อมูลผู้สร้างบนหน้า CodeBase ออกจากข้อความ copyright ในไฟล์
เวอร์ชันใน source คือ 1.001, RSI period คือ 14, ระดับซื้อคือ 30.0, ระดับขายคือ 70.0, Magic number เริ่มต้นคือ 123, AutoLot เริ่มต้นเป็น true, ManualLots คือ 0.1 และ Stop Loss, Take Profit, Trailing Stop เริ่มต้นเป็น 0 อินดิเคเตอร์ใช้ PRICE_CLOSE และอ่านค่าของ symbol กับ timeframe ที่ติด EA
อ่านหน้า RSI EA บน MQL5 CodeBase และดาวน์โหลด
ซอร์ส RSI_EA.mq5https://www.mql5.com/en/code/download/17284/RSI_EA.mq5
กฎเปิด position จาก source
ซอร์สอ่านค่า rsi_0 และ rsi_1 ในทุก OnTick() โดยใช้ค่าปัจจุบันและค่าก่อนหน้า แล้วนับ position ที่ตรงกับ symbol และ magic number ก่อนเปิดคำสั่ง
เปิด Buy เมื่อ OpenBUY เป็น true, จำนวน Buy น้อยกว่า 1, RSI ปัจจุบันสูงกว่า 30 และ RSI ก่อนหน้าต่ำกว่า 30 พูดง่าย ๆ คือเปิดเมื่อ RSI เคลื่อนขึ้นผ่านระดับ 30 จากด้านล่าง ไม่ใช่เปิดทันทีเพียงเพราะ RSI ต่ำกว่า 30
เปิด Sell เมื่อ OpenSELL เป็น true, จำนวน Sell น้อยกว่า 1, RSI ปัจจุบันต่ำกว่า 70 และ RSI ก่อนหน้าสูงกว่า 70 จึงเป็นการเปิดเมื่อ RSI เคลื่อนลงผ่านระดับ 70 จากด้านบน
จากการตรวจ source รอบนี้ไม่พบ input หรือเงื่อนไขกรอง spread โดยตรง InpSlippage มีค่าเริ่มต้น 1 และถูกใช้ตั้งค่า deviation ของคำสั่ง แต่ slippage หรือ deviation ไม่ใช่ spread filter
กฎปิด position
ถ้า CloseBySignal เป็น true EA จะปิด Buy เมื่อ RSI ปัจจุบันต่ำกว่า 70 และค่าก่อนหน้าสูงกว่า 70 และจะปิด Sell เมื่อ RSI ปัจจุบันสูงกว่า 30 และค่าก่อนหน้าต่ำกว่า 30
Stop Loss, Take Profit และ Trailing Stop จะถูกใช้ก็ต่อเมื่อกำหนดค่าให้มากกว่าศูนย์ หากปิด CloseBySignal แต่ยังคงค่าทั้งสามเป็นศูนย์ จะต้องถือว่าไม่มีทางออกเชิงป้องกันจากสามตัวเลือกนั้นตาม source ที่ตรวจได้
ซอร์สอ่านค่าใน OnTick() และไม่ได้เพิ่มเงื่อนไขรอแท่งปิดอย่างชัดเจน พฤติกรรมของสัญญาณจึงอาจไวต่อการเปลี่ยนแปลงระหว่างแท่ง ประเด็นนี้ควรตรวจแยกในสภาพแวดล้อมทดสอบจริง
การคำนวณล็อตและ Risk Gate
เมื่อ AutoLot เป็น true EA ใช้คลาส CMoneyFixedMargin เพื่อคำนวณปริมาณตาม free margin และตรวจ volume ขั้นต่ำกับขั้นสูงของ symbol ก่อนส่งคำสั่ง เมื่อ AutoLot เป็น false จึงใช้ ManualLots
แต่ source มีความไม่สอดคล้องของ input: มี Risk = 10, ใน OnInit() เรียก m_money.Percent(10) เป็นค่าคงที่ และในฟังก์ชันคำนวณล็อตไม่พบการส่งตัวแปร Risk เข้าไปแทนค่าคงที่ ดังนั้นไม่ควรสมมติว่าแก้ Risk ในหน้าตั้งค่าจะทำให้ขนาดล็อตเปลี่ยนตามที่คาด
จุดที่ควรตรวจต่อก่อนทดลอง
1) Symbol และ timeframe ตรงกับแผนหรือไม่ 2) บัญชีเป็น netting หรือ hedging และการนับ Buy/Sell ส่งผลอย่างไร 3) ตั้ง Stop Loss, Take Profit และ Trailing Stop แล้วหรือยัง 4) ค่า Risk ในหน้าตั้งค่าตรงกับ source หรือไม่
5) ตรวจ spread, commission, swap และ slippage ของโบรกเกอร์ 6) ตรวจว่าสัญญาณจาก RSI ปัจจุบันไวต่อการเปลี่ยนระหว่างแท่งหรือไม่ 7) อ่าน Journal และ error code หลังส่งคำสั่ง 8) บันทึก symbol, timeframe, spread และขนาดบัญชีทุกครั้งที่เปรียบเทียบผล
อ่านพื้นฐานต่อที่ EA คืออะไรบน MT5 และควรเริ่มตรวจจากตรงไหน
ใช้คู่กับ เช็กลิสต์ทดสอบ EA บน MT5

อ่านกฎจากซอร์สก่อนทดลอง เพื่อแยกสิ่งที่โค้ดระบุออกจากสิ่งที่ยังต้องพิสูจน์ด้วยการรันจริง
สิ่งที่บทความนี้ยังไม่ได้ยืนยัน
บทความนี้ตรวจหน้า CodeBase และ source ที่ดาวน์โหลดได้เท่านั้น ยังไม่ได้เปิด MetaEditor, Compile, Strategy Tester, Backtest, Demo หรือ Live และไม่ได้ส่งคำสั่งซื้อขาย ดังนั้นยังสรุปไม่ได้ว่า EA ทำงานผ่านหรือให้ผลตอบแทนเท่าใด
ผลการทำงานจริงขึ้นกับข้อมูลราคา, symbol, timeframe, spread, commission, swap, execution, margin mode, ข้อจำกัดของโบรกเกอร์ และค่าที่ผู้ใช้ตั้ง การเห็นกฎเข้าออกใน source ไม่ใช่หลักฐานของผลกำไร
แหล่งข้อมูล
1) MQL5 CodeBase — RSI EA
2) RSI_EA.mq5 source
3) MetaTrader 5 — Expert Advisors and Custom Indicators
4) MetaTrader 5 — Testing Expert Advisors
ข้อมูลนี้จัดทำเพื่อการศึกษาและการวิเคราะห์ ไม่ใช่คำแนะนำการลงทุนเฉพาะบุคคล และไม่รับประกันผลกำไร
ลิงก์ตรวจสอบที่ใช้ในบทความ
EA คืออะไรบน MT5 และควรเริ่มตรวจจากตรงไหน
เช็กลิสต์ทดสอบ EA บน MT5
MQL5 CodeBase — RSI EA
RSI_EA.mq5 source
MetaTrader 5 — Expert Advisors and Custom Indicators
MetaTrader 5 — Testing Expert Advisors
URL ต้นฉบับสำหรับเปิดหรือคัดลอก
MQL5 CodeBase: https://www.mql5.com/en/code/17284
RSI_EA.mq5 source: https://www.mql5.com/en/code/download/17284/RSI_EA.mq5
MetaTrader 5 EA documentation: https://www.metatrader5.com/en/terminal/help/algotrading/trade_robots_indicators
MetaTrader 5 testing documentation: https://www.metatrader5.com/en/terminal/help/algotrading/testing
TRADERMAN EA basics: https://www.traderman.net/post/ea-mt5-what-is-start-check
TRADERMAN testing checklist: https://www.traderman.net/post/ea-mt5-demo-testing-checklist



ความคิดเห็น