วันนี้เราจะมาคุยกันเกี่ยวกับการตรวจสอบข้อมูลการเทรดล่าสุดของคุณใน MetaTrader 5 โดยใช้โค้ดที่ไม่ต้องวนลูปให้ยุ่งยากครับ
- สร้างตัวแปรเพื่อกำหนดเวลาเริ่มต้นของวัน (ไม่จำเป็นต้องทำก็ได้)
- สร้างตัวแปรอื่นๆ เพื่อพิมพ์ผลลัพธ์ในกราฟ และสามารถใช้ในบล็อกโค้ดอื่นๆ ได้ (ไม่จำเป็นต้องทำเช่นกัน)
- การใช้โค้ดนี้ภายในฟังก์ชัน OnTick(); จะทำให้แสดงผลทุกๆ ที (tick) คุณสามารถตั้งค่าให้แสดงผลเพียง ครั้งต่อบาร์ ก็ได้
// ตัวแปร string DayStart = "00:00"; // เวลาเริ่มต้นของวัน double LastClosed_Profit; // กำไรจากการเทรดล่าสุด string TradeSymbol, TradeType; // การเริ่มต้น Expert -------------------- int OnInit() { return(INIT_SUCCEEDED); } // การหยุด Expert ------------------- void OnDeinit(const int reason) { } // ฟังก์ชัน OnTick -------------------------- void OnTick() { // ตรวจสอบการเทรดล่าสุด CheckLastClosed(); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ void CheckLastClosed() { datetime HistoryTime = StringToTime(DayStart); // ประวัติจาก "เริ่มต้นวันถึงเวลาปัจจุบัน" if(HistorySelect(HistoryTime,TimeCurrent)) { int Total = HistoryDealsTotal(); // รับหมายเลขตั๋วการเทรดล่าสุดและเลือกมันเพื่อดำเนินการต่อ ulong Ticket = HistoryDealGetTicket(Total -1); // รับข้อมูลที่ต้องการ LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2); TradeSymbol = HistoryOrderGetString(Ticket,ORDER_SYMBOL); // ระบุการเทรดขาย if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY) { TradeType = "การเทรดขาย"; } // ระบุการเทรดซื้อ if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL) { TradeType = "การเทรดซื้อ"; } // แสดงผลลัพธ์ Comment("\n","จำนวนการเทรดทั้งหมด - : ", Total, "\n","หมายเลขตั๋วล่าสุด - : ", Ticket, "\n", "กำไรจากการเทรดล่าสุด -: ", LastClosed_Profit, "\n", "การเทรดล่าสุดคือ -: ", TradeType); } }//+------------------------------------------------------------------+ //+------------------------------------------------------------------+
นอกจากนี้คุณยังสามารถดึง ประวัติการเทรดทั้งหมด (ตั้งแต่เริ่มต้นบัญชี) โดยใช้ฟังก์ชัน HistorySelect(); ดังนี้ครับ:
// ดึงประวัติทั้งหมด HistorySelect(0,TimeCurrent());
ความคิดเห็น 0