ผู้สร้างแนวคิด: vitaly
ผู้เขียนโค้ด MQL5: barabashkakvn
กลยุทธ์การเทรดของ Proffessor v3 นี้เรียบง่ายมาก โดยจะเปิดตำแหน่งซื้อหรือขายและป้องกันด้วยคำสั่งหยุดค้างไว้ที่ระยะ Delta 1 จากนั้นจะสร้างกริดที่ประกอบไปด้วยคำสั่งหยุดหรือคำสั่งลิมิตค้างไว้ที่ระยะ Delta 2 โดยจำนวนคำสั่งค้างในแต่ละทิศทางจะถูกตั้งค่าผ่าน Max Lines คำสั่งค้าง (Buy Limit, Sell Limit, Buy Stop และ Sell Stop) จะถูกตั้งค่าผ่านฟังก์ชันเดียว PendingOrder ซึ่งจะมีประเภทคำสั่ง (order_type), ปริมาณ (volume), จุดหยุดขาดทุน (sl) และจุดทำกำไร (tp) ถูกส่งเข้าไป
//+------------------------------------------------------------------+ //| คำสั่งค้าง | //+------------------------------------------------------------------+ void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp) { sl=m_symbol.NormalizePrice(sl); tp=m_symbol.NormalizePrice(tp); if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0, m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp))) { if(m_trade.ResultOrder()==0) { Print("#1 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } else { Print("#2 ",EnumToString(order_type)," -> true. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } } else { Print("#3 ",EnumToString(order_type)," -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResultTrade(m_trade,m_symbol); } //--- }
เมื่อถึงเป้าหมาย Profit Close ให้ปิดตำแหน่งทั้งหมดและลบคำสั่งค้างทั้งหมดได้เช่นกัน ถ้ารู้สึกว่าขาดทุนมากเกินไปเกินกว่า Loss Close (ถ้ากำหนด Loss close เป็น 0.0 จะปิดการตั้งค่า)
การทำงานของ EA (การเปิดตำแหน่งและตั้งคำสั่งหยุดป้องกัน) จะดำเนินการภายในช่วงเวลาทำงานจาก Start hour ถึง End hour โดย Start hour อาจน้อยกว่า End hour หรือมากกว่าก็ได้
แนวคิดหลัก
การวิเคราะห์ค่า ADX ในกรอบเวลา Work TimeFrame ถ้า ADX ต่ำกว่า 40 จะถือว่าอยู่ในช่วงแนวโน้มแบน และจะมีการตั้งคำสั่งค้างแบบ Limit แต่ถ้าสูงกว่านั้นจะใช้คำสั่งค้างแบบ Stop;
ถ้า DI+ สูงกว่า DI- ให้ซื้อ ถ้าไม่เช่นนั้นให้ขาย
ผลลัพธ์การปรับแต่งที่ดีที่สุดของสองพารามิเตอร์ (Current bar ADX จาก 0 ถึง 2, ขั้น 1 และ Work TimeFrame จาก M1 ถึง H1)
EURUSD, Current bar ADX 0, Work TimeFrame H1

USDJPY, Current bar ADX 2, Work TimeFrame M1

ในกรณีของ EURUSD, Current bar ADX 0, Work TimeFrame H1 แต่ตั้งค่าพารามิเตอร์ Loss Close เป็น "0.0"

และ USDJPY, Current bar ADX 2, Work TimeFrame M1 แต่พารามิเตอร์ Loss Close ถูกตั้งค่าเป็น "0.0"

โพสต์ที่เกี่ยวข้อง
- JS-Chaos: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5
- Dematus: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5
- Ilan 1.6 Dynamic HT: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5
- MQL5 Wizard: ระบบเทรดสัญญาณจาก Hammer/Hanging Man + MFI บน MetaTrader 5
- การสร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณการเทรดจาก Morning/Evening Stars + RSI