Untuk mengintegrasikan Webhook Automation pada pemrograman MQL, Anda perlu menggunakan fungsi webrequest. Fungsi web request memungkinkan EA untuk mengirim permintaan HTTP GET/POST ke URL tertentu. Ini berguna untuk mengakses data eksternal atau layanan web yang bisa digunakan dalam strategi trading Anda, seperti data harga dari sumber eksternal, berita ekonomi, atau indikator makroekonomi.
Untuk menggunakan fungsi web request di MQL4 atau MQL5, ada beberapa langkah yang perlu Anda lakukan:
- Izinkan WebRequest: Pertama, Anda harus mengizinkan penggunaan WebRequest di MetaTrader. Ini dilakukan dengan membuka Options dari menu Tools, pilih tab Expert Advisors, dan centang Allow WebRequest for listed URL. Di sini, Anda harus menambahkan URL yang akan Anda akses melalui EA Anda.
- Gunakan Fungsi WebRequest: Fungsi WebRequest() dapat digunakan dalam kode EA Anda untuk mengirim permintaan GET/POST. Anda perlu menyediakan beberapa parameter seperti metode permintaan ("GET/POST"), URL tujuan, header jika diperlukan, dan lokasi untuk menyimpan data yang diterima.
Berikut ini adalah contoh kode sederhana yang bisa Anda kembangkan untuk menggunakan Webhook Automation dalam kode pemrograman EA Anda.
Kode sederhana untuk Pemrograman MQL, Anda bisa kode di bawah ini untuk MQL4 atau MQL5:
void SendExecutionInfoToWebhook(string message, string chatid, long whatsappno, datetime time) {
// Tambahkan offset untuk mendapatkan waktu sesuai timezone user
datetime adjustedTime = time + timeOffset*3600; // Offset jam dalam detik
//+------------------------------------------------------------------------------------------------------------------+
//|Membangun payload data dalam format field data, data ini yang akan dikirimkan ke webhook. |
//|Webhook akan membaca nama-nama variabel yang dikirimkan yaitu message, chatid, whatsapno dan time berikut datanya |
//+------------------------------------------------------------------------------------------------------------------+
string params = "";
params += "message=" + message + "&"; //data dengan variable message
params += "chatid=" + chatid + "&"; //data dengan variable chatid
params += "time=" + TimeToString(adjustedTime, TIME_DATE|TIME_MINUTES) + "&"; //data dengan variable time
params += "whatsappno=" + IntegerToString(whatsappNo); //data dengan variable whatsappno
int timeout = 5000;
// Konversi string postData ke array char
char data[];
StringToCharArray(params, data);
// Header HTTP request untuk x-www-form-urlencoded
string headers = "Content-Type: application/x-www-form-urlencoded\r\n";
// Parameter tambahan untuk WebRequest
uchar result[]; // Array untuk menyimpan respons
string result_headers;
int res = WebRequest("POST", urlWebhookAutomation, headers, NULL, timeout, data, ArraySize(data), result, result_headers);
// Memeriksa hasil
if (res > 0) {
Print("WebRequest sent succesful");
} else {
string error = "WebRequest failed. Error code: " + IntegerToString(GetLastError());
Print(error);
}
}
VPSTrading.net memberikan custom variabel yang bisa Anda kirimkan ke Webhook hingga 10 variable yang bisa Anda konfigurasi saat order ataupun Anda modifikasi variable yang sudah Anda order melalui CS.