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

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

วันนี้เราจะมาคุยกันเกี่ยวกับการตรวจสอบข้อมูลการเทรดล่าสุดของคุณใน 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