ตรวจสอบการเทรดล่าสุด (กำไร / ประเภท / สัญลักษณ์) ใน MetaTrader 5

Mike 2024.04.22 03:51 61 0 0
ไฟล์แนบ

วันนี้เราจะมาคุยกันเกี่ยวกับการตรวจสอบข้อมูลการเทรดล่าสุดของคุณใน MetaTrader 5 โดยใช้โค้ดที่ไม่ต้องวนลูปให้ยุ่งยากครับ

  • สร้างตัวแปรเพื่อกำหนดเวลาเริ่มต้นของวัน (ไม่จำเป็นต้องทำก็ได้)
  • สร้างตัวแปรอื่นๆ เพื่อพิมพ์ผลลัพธ์ในกราฟ และสามารถใช้ในบล็อกโค้ดอื่นๆ ได้ (ไม่จำเป็นต้องทำเช่นกัน)
  • การใช้โค้ดนี้ภายในฟังก์ชัน OnTick(); จะทำให้แสดงผลทุกๆ ที (tick) คุณสามารถตั้งค่าให้แสดงผลเพียง ครั้งต่อบาร์ ก็ได้
// ตัวแปรstring DayStart = "00:00"; // เวลาเริ่มต้นของวันdouble LastClosed_Profit; // กำไรจากการเทรดล่าสุดstring TradeSymbol, TradeType;

// การเริ่มต้น Expert --------------------intOnInit()
  {
   return(INIT_SUCCEEDED);
  }

// การหยุด Expert -------------------voidOnDeinit(constint reason)
  {

  }

// ฟังก์ชัน OnTick --------------------------voidOnTick()
  {
// ตรวจสอบการเทรดล่าสุด
   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