MetaTrader5
ตรวจสอบการเทรดล่าสุด (กำไร / ประเภท / สัญลักษณ์) ใน MetaTrader 5
วันนี้เราจะมาคุยกันเกี่ยวกับการตรวจสอบข้อมูลการเทรดล่าสุดของคุณใน 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());
2024.04.22