Halo trader! Kali ini kita akan membahas cara untuk mengambil data trade terakhir yang ditutup tanpa menggunakan loop di MetaTrader 5. Yuk, simak langkah-langkahnya!
- Buat variabel untuk mengatur waktu mulai hari ini. (Ini tidak wajib dilakukan.)
- Buat beberapa variabel tambahan untuk menampilkan output grafik dan bisa digunakan di blok kode lain juga. (Ini juga tidak wajib.)
- Dengan menggunakan kode ini di dalam OnTick();, kamu akan mendapatkan hasil untuk setiap tick. Kamu juga dapat mengatur ini untuk sekali per bar.
// variabel string DayStart = "00:00"; // Waktu Mulai Hari double LastClosed_Profit; // Profit trade terakhir yang ditutup string TradeSymbol, TradeType; // Inisialisasi Expert -------------------- int OnInit() { return(INIT_SUCCEEDED); } // Deinisialisasi Expert ------------------- void OnDeinit(const int reason) { } // Fungsi OnTick -------------------------- void OnTick() { // cek trade terakhir yang ditutup. CheckLastClosed(); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ void CheckLastClosed() { datetime HistoryTime = StringToTime(DayStart); // sejarah dari "awal hari hingga waktu saat ini" if(HistorySelect(HistoryTime,TimeCurrent())) { int Total = HistoryDealsTotal(); // Dapatkan nomor tiket deal terakhir dan pilih untuk pekerjaan selanjutnya. ulong Ticket = HistoryDealGetTicket(Total -1); // Ambil data yang kamu butuhkan. LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2); TradeSymbol = HistoryOrderGetString(Ticket,ORDER_SYMBOL); // Identifikasi trade sell. if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY) { TradeType = "Sell Trade"; } // Identifikasi trade buy if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL) { TradeType = "Buy Trade"; } // Output grafik. Comment(" ","Total Deals - : ", Total, " ","Tiket Deal Terakhir - : ", Ticket, " ", "Profit Terakhir -: ", LastClosed_Profit, " ", "Trade Terakhir adalah -: ", TradeType); } } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+
Kamu juga bisa mendapatkan seluruh riwayat trading (dari awal akun) dengan menggunakan fungsi HistorySelect(); dengan cara ini:
// Dapatkan seluruh riwayat HistorySelect(0,TimeCurrent());
Komentar 0