MQL4 (MetaQuotes Language 4) adalah bahasa pemrograman khusus yang dikembangkan untuk platform trading MetaTrader 4. Bahasa ini digunakan untuk membuat Expert Advisors (EA), indikator teknis, dan script untuk otomatisasi trading di pasar forex dan finansial.
Label dalam MQL4
Label adalah objek grafis dalam MQL4 yang digunakan untuk menampilkan teks statis atau dinamis pada chart. Label sangat berguna untuk menampilkan informasi trading, sinyal, atau data penting lainnya.
Karakteristik Label:
Dapat menampilkan teks dengan berbagai font, ukuran, dan warna
Posisinya dapat diatur relatif terhadap chart (koordinat x,y)
Dapat dibuat secara statis atau dinamis selama runtime
Mendukung properti seperti latar belakang (background), bingkai (border), dan sudut yang membulat (corner radius)
Contoh pembuatan label:
mql4
// Membuat label dengan background
int label_id = ObjectCreate("MyLabel", OBJ_LABEL, 0, 0, 0);
ObjectSetText("MyLabel", "Signal: BUY", 10, "Arial", clrWhite);
ObjectSet("MyLabel", OBJPROP_XDISTANCE, 20);
ObjectSet("MyLabel", OBJPROP_YDISTANCE, 50);
ObjectSet("MyLabel", OBJPROP_BGCOLOR, clrDodgerBlue);
ObjectSet("MyLabel", OBJPROP_CORNER, CORNER_LEFT_UPPER);
ObjectSet("MyLabel", OBJPROP_BACK, true);
Background dalam MQL4
Background dalam konteks MQL4 dapat merujuk pada beberapa hal:
Background Label: Warna latar belakang dari objek label
Dikontrol dengan properti OBJPROP_BGCOLOR
Dapat diaktifkan/dinonaktifkan
Background Chart: Latar belakang utama dari chart trading
Dapat diubah melalui properti chart atau menggunakan fungsi ChartSetInteger(0, CHART_COLOR_BACKGROUND, clrBlack)
Background Object: Properti yang menentukan apakah objek berada di belakang atau di depan price chart
Dikontrol dengan properti OBJPROP_BACK
Pengaturan Background Label:
mql4
// Mengatur background label
ObjectSet("MyLabel", OBJPROP_BGCOLOR, clrNavy); // Warna background
ObjectSet("MyLabel", OBJPROP_BACK, false); // Tampilkan di depan chart (false) atau belakang (true)
ObjectSet("MyLabel", OBJPROP_BORDER_TYPE, BORDER_FLAT); // Jenis border
ObjectSet("MyLabel", OBJPROP_BORDER_COLOR, clrGold); // Warna border
Contoh Background MT4
void BuatBackgroundInfo(string bgName = "BG_Info_Trading", int width = 450, int height = 800, int xOffset = 18, int yOffset = 38){
// Hapus jika sudah ada
if (ObjectFind(0, bgName) >= 0)
ObjectDelete(0, bgName);
// Buat background rectangle
ObjectCreate(0, bgName, OBJ_RECTANGLE_LABEL, 0, 0, 0);
ObjectSetInteger(0, bgName, OBJPROP_CORNER, CORNER_LEFT_UPPER);
ObjectSetInteger(0, bgName, OBJPROP_XDISTANCE, xOffset);
ObjectSetInteger(0, bgName, OBJPROP_YDISTANCE, yOffset);
ObjectSetInteger(0, bgName, OBJPROP_XSIZE, width);
ObjectSetInteger(0, bgName, OBJPROP_YSIZE, height);
ObjectSetInteger(0, bgName, OBJPROP_COLOR, clrAliceBlue); // Warna tepi
ObjectSetInteger(0, bgName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSetInteger(0, bgName, OBJPROP_WIDTH, 1);
ObjectSetInteger(0, bgName, OBJPROP_BACK, true); // Supaya di belakang teks
ObjectSetInteger(0, bgName, OBJPROP_CORNER, CORNER_LEFT_UPPER);
ObjectSetInteger(0, bgName, OBJPROP_SELECTABLE, false);
ObjectSetInteger(0, bgName, OBJPROP_HIDDEN, true);
ObjectSetInteger(0, bgName, OBJPROP_BORDER_TYPE, BORDER_FLAT);
ObjectSetInteger(0, bgName, OBJPROP_STYLE, STYLE_SOLID);
ObjectSetInteger(0, bgName, OBJPROP_WIDTH, 1);
ObjectSetInteger(0, bgName, OBJPROP_COLOR, clrNONE);
ObjectSetInteger(0, bgName, OBJPROP_BACK, true); // Properti penting untuk latar belakang
}
Pemanggilan di On Tick:
BuatBackgroundInfo("BG_Info_Trading", 320, 640, 3, 20);
Hasilnya:
Keunggulan Label dengan Background di MQL4
Kemudahan Pembacaan: Background meningkatkan kontras dan keterbacaan teks
Visual yang Lebih Baik: Membuat informasi penting lebih menonjol
Kustomisasi: Fleksibilitas dalam desain antarmuka
Responsif: Dapat diperbarui secara real-time sesuai kondisi pasar
Label dengan background adalah elemen penting dalam pengembangan indikator dan EA di MQL4 untuk menyajikan informasi trading secara efektif dan visual menarik.