สวัสดีครับเพื่อนๆ เทรดเดอร์ทุกคน! วันนี้เราจะมาพูดถึงเครื่องมือที่ใช้ในการเทรดกันนะครับ นั่นก็คือ Expert Advisor หรือที่เราเรียกกันว่า EA นั่นเอง
EA ตัวนี้จะช่วยให้เราสามารถปิดคำสั่งเทรดได้ตามที่เรากำหนดไว้ โดยมี 3 ตัวแปรที่ต้องตั้งค่าดังนี้:
- เป้าหมายกำไร
- ตัดขาดทุน
- หมายเลขเวทมนตร์
extern double inTargetProfitMoney = 10; // เป้าหมายกำไร ($) extern double inCutLossMoney = 0.0; // ตัดขาดทุน ($) extern int inMagicNumber = 0; // หมายเลขเวทมนตร์
เมื่อ EA นี้ทำงาน มันจะเรียกใช้ฟังก์ชัน OnInit() ก่อน เพื่อยืนยันค่าที่เราตั้งไว้
int OnInit() { //--- if(inTargetProfitMoney <= 0) { Alert("ค่าที่ป้อนไม่ถูกต้อง"); return(INIT_PARAMETERS_INCORRECT); } inCutLossMoney = MathAbs(inCutLossMoney) * -1; //--- return(INIT_SUCCEEDED); }
ทุกครั้งที่มีการเคลื่อนไหวของราคา (tick) จะเรียกใช้ฟังก์ชัน OnTick()
void OnTick() { //--- double tFloating = 0.0; int tOrder = OrdersTotal(); for(int i=tOrder-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderMagicNumber() == inMagicNumber) { tFloating += OrderProfit() + OrderCommission() + OrderSwap(); } } } if(tFloating >= inTargetProfitMoney || (tFloating <= inCutLossMoney && inCutLossMoney < 0)) { fCloseAllOrders(); } }
ในฟังก์ชัน OnTick จะคำนวณกำไรหรือขาดทุนรวม แล้วทำการปิดคำสั่งทั้งหมดเมื่อถึงเป้าหมายหรือขาดทุนสูงสุด
void fCloseAllOrders() { double priceClose = 0.0; int tOrders = OrdersTotal(); for(int i=tOrders-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if(OrderMagicNumber() == inMagicNumber && (OrderType() == OP_BUY || OrderType() == OP_SELL)) { priceClose = (OrderType() == OP_BUY) ? MarketInfo(OrderSymbol(), MODE_BID) : MarketInfo(OrderSymbol(), MODE_ASK); if(!OrderClose(OrderTicket(), OrderLots(), priceClose, slippage, clrGold)) { Print("คำเตือน: ปิดคำสั่งล้มเหลว"); } } } } }
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการศึกษาโค้ด MQL4 และการแชร์ประสบการณ์กัน สามารถเข้าร่วมกลุ่ม Telegram ของเราได้ที่ t.me/codeMQL
โพสต์ที่เกี่ยวข้อง
- สร้าง Expert Advisor ด้วย MQL5 Wizard: สัญญาณซื้อขายจาก Morning/Evening Stars + MFI
- ใช้ MQL5 Wizard สร้าง Expert Advisor ด้วยสัญญาณเทรด Morning/Evening Stars + Stochastic
- การจัดการคำสั่งด้วยซอฟต์แวร์ EA สำหรับ MetaTrader 4
- JS-Chaos: ระบบเทรดอัจฉริยะสำหรับ MetaTrader 5
- สร้าง Expert Advisor ด้วย MQL5 Wizard สำหรับสัญญาณการเทรด Bullish Harami/Bearish Harami และ RSI