MetaTrader5
Cara Semak Perdagangan Terkini di MetaTrader 5 Tanpa Gelung
Dalam dunia perdagangan, mendapatkan maklumat terkini tentang perdagangan yang telah ditutup adalah sangat penting. Dengan kod berikut, anda boleh mendapatkan data perdagangan terakhir tanpa perlu menggunakan gelung. Anda boleh mencipta satu pembolehubah untuk menetapkan waktu mula hari semasa. (Ini sebenarnya tidak wajib.) Cipta beberapa pembolehubah lain untuk mencetak output carta dan juga boleh digunakan dalam blok kod lain. (Ini juga tidak wajib.) Penggunaan kod ini dalam fungsi OnTick(); akan menunjukkan hasil untuk setiap tick. Anda juga boleh menetapkannya untuk sekali setiap bar. // pembolehubah
string DayStart = "00:00"; // Waktu Mula Hari
double LastClosed_Profit; // Keuntungan Perdagangan Terkini
string TradeSymbol, TradeType;
// Memulakan Expert --------------------
int OnInit()
{
return(INIT_SUCCEEDED);
}
// Menamatkan Expert -------------------
void OnDeinit(const int reason)
{
}
// Fungsi OnTick --------------------------
void OnTick()
{
// semak untuk perdagangan terakhir yang ditutup.
CheckLastClosed();
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void CheckLastClosed()
{
datetime HistoryTime = StringToTime(DayStart);
// sejarah dari "Mula hari hingga waktu semasa"
if(HistorySelect(HistoryTime,TimeCurrent()))
{
int Total = HistoryDealsTotal();
// Dapatkan nombor tiket urus niaga terakhir dan pilih untuk kerja lanjut.
ulong Ticket = HistoryDealGetTicket(Total -1);
// Dapatkan maklumat yang diperlukan.
LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2);
TradeSymbol = HistoryOrderGetString(Ticket,ORDER_SYMBOL);
// Kenal pasti urus niaga jual.
if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY)
{
TradeType = "Jual Perdagangan";
}
// Kenal pasti urus niaga beli
if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL)
{
TradeType = "Beli Perdagangan";
}
// output carta.
Comment("\n","Jumlah Urus Niaga - : ", Total,
"\n","Tiket Urus Niaga Terakhir - : ", Ticket,
"\n", "Keuntungan Terakhir -: ", LastClosed_Profit,
"\n", "Perdagangan Terakhir adalah -: ", TradeType);
}
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+ Anda juga boleh mendapatkan seluruh sejarah perdagangan (dari awal akaun) dengan menggunakan fungsi HistorySelect(); seperti berikut. // Dapatkan keseluruhan sejarah
HistorySelect(0,TimeCurrent());
2024.04.22