Compress paid & free files into ZIP and upload
When listing in EX4/EX5 format, forward testing
must be measured on the developer's own live account.
Please be aware of this in advance.
Anda dapat mengirimkan dalam format ex4/5 dengan logika autentikasi akun dan pencatatan riwayat trading.
Saat listing dengan file ex4/5, kompres versi berbayar dan gratis menjadi satu file zip lalu unggah.

Duplikasi file mq4 (EA) Anda dan buat "nama produk EA_free.mq4". ※Gunakan nama produk EA Anda sendiri.
Sisipkan kode ini di baris pertama file mq4 Anda. Ini adalah kode untuk memanggil file mqh yang telah diunduh.
#include
Jangan buka magic number sebagai parameter eksternal.
Sisipkan kode berikut di awal fungsi OnInit. (Harus disisipkan tepat setelah fungsi OnInit)
Angka magic number pada ArrayResize di Contoh 1 adalah spesifikasi ukuran.
Masukkan ukuran sesuai jumlah magic number EA Anda. (Masukkan 1 jika EA hanya memiliki satu magic number)
Untuk EA dengan banyak magic number, tambahkan jumlah magic number yang disimpan seperti pada Contoh 2 di bawah.
Setelah menentukan magic number, sisipkan kode ini di bawah kode yang ditambahkan pada langkah sebelumnya.
Selanjutnya, sisipkan kode lanjutan fungsi OnInit.
int OnInit()
{
ArrayResize(magic_numbers, 6);
magic_numbers[0] = Magic_number_A;
magic_numbers[1] = Magic_number_B;
magic_numbers[2] = Magic_number_C;
magic_numbers[3] = Magic_number_D;
magic_numbers[4] = Magic_number_E;
magic_numbers[5] = Magic_number_F;
total_magic_numbers = ArraySize(magic_numbers);
if(!IsTesting())
{
SendAccountData(AccountNumber());
if(!WebAuthenticate(AccountNumber()))
{
Alert("systre.com Account verification failed");
ExpertRemove();
}
}
EventSetTimer(6000); return(INIT_SUCCEEDED);
}
Tempatkan fungsi berikut di bagian paling bawah file mq4 Anda dan akan berfungsi dengan normal.
Panggil fungsi berikut di dalam fungsi OnTimer.
void OnTimer()
{
if(!IsTesting())
{
SendAccountData(AccountNumber());
}
}
void OnTimer()
{
if(!IsTesting())
{
SendAccountData(AccountNumber());
}
}
Silakan kompilasi setelah menambahkan kode autentikasi.
Jika ingin menguji logika autentikasi di lingkungan Anda, silakan berikan nomor akun Anda.
※ Untuk pengujian, tambahkan https://sys-tre.com/ ke daftar URL WebRequest yang diizinkan.
//Global variables
#include
int Magic_number_A = 0000;//Magic number (Free version: do not release the magic number.)
//int Magic_number_B = 1111;
//int Magic_number_C = 2222;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//Executed first
int OnInit()
{
ArrayResize(magic_numbers, 1);//Change this number if there are multiple magic numbers
magic_numbers[0] = Magic_number_A;
//magic_numbers[1] = Magic_number_B;
//magic_numbers[2] = Magic_number_C;
total_magic_numbers = ArraySize(magic_numbers);
if(!IsTesting())
{
SendAccountData(AccountNumber());
if(!WebAuthenticate(AccountNumber()))
{
Alert("systre.com Account verification failed");
ExpertRemove();
}
}
EventSetTimer(6000);
return(INIT_SUCCEEDED);
}
//Timer
void OnTimer()
{
if(!IsTesting())
{
SendAccountData(AccountNumber());
}
}
//+------------------------------------------------------------------+

Duplikasi file mq4 (EA) Anda dan buat (nama produk EA)_paid.mq4. ※Gunakan nama produk EA Anda sendiri.
Sisipkan kode ini di baris pertama file mq4 Anda. Ini adalah kode untuk memanggil file mqh yang telah diunduh.
#include
※ Perhatian
Berbeda dengan versi gratis, versi berbayar harus membuka parameter magic number sebagai parameter eksternal agar pengguna dapat mengubahnya.
Jika memiliki beberapa magic number, masukkan nilai magic number pertama.
#include
extern int MAGIC = Your EA's magic number;
Sisipkan kode ini di awal fungsi OnInit. Dalam kode, deklarasikan int pass_magic = magic number EA Anda;
int OnInit() {
int pass_magic = Your EA's magic number;
if (!IsTesting()) {
if (!WebAuthenticate(AccountNumber(), pass_magic)) {
Alert("systre.com Account verification failed");
ExpertRemove();
}
}
return INIT_SUCCEEDED;
}
Silakan kompilasi setelah menambahkan kode autentikasi.
Jika ingin menguji logika autentikasi di lingkungan Anda, silakan berikan nomor akun Anda.
※ Untuk pengujian, tambahkan https://sys-tre.com/ ke daftar URL WebRequest yang diizinkan.
//Global variables
#include
extern int MAGIC = 111;//Please release the magic number as an external parameter.
//extern int MAGIC2 = 222;
//extern int MAGIC3 = 333;
//Executed first
int OnInit() {
int pass_magic =111;//Enter the same value as the first magic number.
if (!IsTesting()) {
if (!WebAuthenticate(AccountNumber(), pass_magic)) {
Alert("systre.com Account verification failed");
ExpertRemove();
}
}
return INIT_SUCCEEDED;
}
//+------------------------------------------------------------------+

Duplikasi file mq5 (EA) Anda dan buat "nama produk EA_free.mq5". ※Gunakan nama produk EA Anda sendiri.
Sisipkan kode ini di baris pertama file mq5 Anda. Ini adalah kode untuk memanggil file mqh yang telah diunduh.
#include
Jangan buka magic number sebagai parameter eksternal.
Sisipkan kode berikut di awal fungsi OnInit. (Harus disisipkan tepat setelah fungsi OnInit)
Angka magic number pada ArrayResize di Contoh 1 adalah spesifikasi ukuran.
Masukkan ukuran sesuai jumlah magic number EA Anda. (Masukkan 1 jika EA hanya memiliki satu magic number)
Untuk EA dengan banyak magic number, tambahkan jumlah magic number yang disimpan seperti pada Contoh 2 di bawah.
int OnInit()
{
long account_number = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
ArrayResize(magic_numbers, 6);
magic_numbers[0] = Magic_number_A;
magic_numbers[1] = Magic_number_B;
magic_numbers[2] = Magic_number_C;
magic_numbers[3] = Magic_number_D;
magic_numbers[4] = Magic_number_E;
magic_numbers[5] = Magic_number_F;
Setelah menentukan magic number, sisipkan kode ini di bawah kode yang ditambahkan pada langkah sebelumnya.
Selanjutnya, sisipkan kode lanjutan fungsi OnInit.
int OnInit()
{
long account_number = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
ArrayResize(magic_numbers, 3);
magic_numbers[0] = Magic_number_A;
magic_numbers[1] = Magic_number_B;
magic_numbers[2] = Magic_number_C;
total_magic_numbers = ArraySize(magic_numbers);
if(!MQLInfoInteger(MQL_TESTER))
{
SendAccountData(account_number);
bool authResult = WebAuthenticate(account_number);
if(!authResult)
{
Print("Authentication failed. Removing Expert Advisor.");
ExpertRemove();
}
}
EventSetTimer(6000);
return(INIT_SUCCEEDED);
}
Tempatkan fungsi berikut di bagian paling bawah file mq4 Anda dan akan berfungsi dengan normal.
Panggil fungsi berikut di dalam fungsi OnTimer.
void OnTimer()
{
long account_number = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
if(!MQLInfoInteger(MQL_TESTER))
{
SendAccountData(account_number);
}
}
void OnTimer()
{
long account_number = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
if(!MQLInfoInteger(MQL_TESTER))
{
SendAccountData(account_number);
}
}
Silakan kompilasi setelah menambahkan kode autentikasi.
Jika ingin menguji logika autentikasi di lingkungan Anda, silakan berikan nomor akun Anda.
※ Untuk pengujian, tambahkan https://sys-tre.com/ ke daftar URL WebRequest yang diizinkan.
//Global variables
#include
int Magic_number_A = 111;//Magic number (Free version: do not release the magic number.)
//int Magic_number_B = 222;
//int Magic_number_C = 333;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int OnInit()
{
long account_number = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
ArrayResize(magic_numbers, 1);//Change this number if there are multiple magic numbers
magic_numbers[0] = Magic_number_A;
//magic_numbers[1] = Magic_number_B;
//magic_numbers[2] = Magic_number_C;
total_magic_numbers = ArraySize(magic_numbers);
if(!MQLInfoInteger(MQL_TESTER))
{
SendAccountData(account_number);
bool authResult = WebAuthenticate(account_number);
if(!authResult)
{
Print("Authentication failed. Removing Expert Advisor.");
ExpertRemove();
}
}
EventSetTimer(6000);
return(INIT_SUCCEEDED);
}
//Timer
void OnTimer()
{
long account_number = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
if(!MQLInfoInteger(MQL_TESTER))
{
SendAccountData(account_number);
}
}
//+------------------------------------------------------------------+

Duplikasi berkas .mq5 (EA) Anda dan buat (nama produk EA Anda)_paid.mq5.
※ Gunakan nama produk EA Anda sendiri pada nama berkas.
Sisipkan kode ini di baris pertama file mq5 Anda. Ini adalah kode untuk memanggil file mqh yang telah diunduh.
#include
Sisipkan kode ini di awal fungsi OnInit. (Harus disisipkan tepat setelah fungsi OnInit)
int OnInit()
{
long AccountNumber = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
int pass_magic = ;
if(!MQLInfoInteger(MQL_TESTER))
{
if(!WebAuthenticate(AccountNumber,pass_magic))
{
Alert("systre.com Account verification failed");
ExpertRemove();
}
}
return(INIT_SUCCEEDED);
}
Dalam kode, deklarasikan int pass_magic = magic number EA Anda; (Masukkan angka, bukan variabel MagicNumber.) ※Contoh: int pass_magic = 1234;
Berbeda dengan versi gratis, versi berbayar harus membuka parameter magic number sebagai parameter eksternal agar pengguna dapat mengubahnya.
Untuk EA yang menggunakan beberapa magic number, masukkan angka magic number pertama.
int OnInit()
{
long AccountNumber = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
int pass_magic = Your EA's magic number;
if(!MQLInfoInteger(MQL_TESTER))
{
if(!WebAuthenticate(AccountNumber,pass_magic))
{
Alert("systre.com Account verification failed");
ExpertRemove();
}
}
return(INIT_SUCCEEDED);
}
Silakan kompilasi setelah menambahkan kode autentikasi.
Jika ingin menguji logika autentikasi di lingkungan Anda, silakan berikan nomor akun Anda.
※ Untuk pengujian, tambahkan https://sys-tre.com/ ke daftar URL WebRequest yang diizinkan.
//Global variables
#include
input int MAGIC = 111;//Please release the magic number as an external parameter.
//input int MAGIC2 = 222;
//input int MAGIC3 = 333;
//Executed first
int OnInit()
{
long AccountNumber = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
int pass_magic = 111;//Enter the same value as the first magic number.
if(!MQLInfoInteger(MQL_TESTER))
{
if(!WebAuthenticate(AccountNumber,pass_magic))
{
Alert("systre.com Account verification failed");
ExpertRemove();
}
}
return(INIT_SUCCEEDED);
}

Salin file mqh yang diunduh ke folder MQL5 → Include.
Sisipkan kode ini di baris pertama file mq4 indikator Anda. Ini adalah kode untuk memanggil file mqh yang telah diunduh.
#include
Sisipkan kode ini di awal fungsi OnInit.
Dalam kode, buat int pass_magic = nomor identifikasi unik 6-8 digit.
Hindari angka sederhana untuk mencegah duplikasi di dalam situs.
Jika terjadi duplikasi, kami mungkin meminta Anda untuk mengubah nomor.
int OnInit() {
int pass_magic = 12345678;
if (!SystreAuth(AccountNumber(), pass_magic)) {
Alert("systre.com Account verification failed");
return(INIT_FAILED);
}
return(INIT_SUCCEEDED);
}
Silakan kompilasi setelah menambahkan kode autentikasi.
Jika ingin menguji logika autentikasi di lingkungan Anda, silakan berikan nomor akun Anda.
※ Untuk pengujian, tambahkan https://sys-tre.com/ ke daftar URL WebRequest yang diizinkan.
//Global variables
#include
int OnInit() {
int pass_magic =12345678;//Please create an identification number of 6 to 8 digits. Avoid simple numbers to prevent duplicates on the site.
//In the unlikely event of a duplicate, you may be asked to change the number.
if (!SystreAuth(AccountNumber(), pass_magic)) {
Alert("systre.com Account verification failed");
return;
}
}
//+------------------------------------------------------------------+

Salin file mqh yang diunduh ke folder MQL5 → Include.
Sisipkan kode ini di baris pertama file mq5 indikator Anda. Ini adalah kode untuk memanggil file mqh yang telah diunduh.
#include
Sisipkan kode ini di awal fungsi OnInit.
Dalam kode, buat int pass_magic = nomor identifikasi unik 6-8 digit.
Hindari angka sederhana untuk mencegah duplikasi di dalam situs.
Jika terjadi duplikasi, kami mungkin meminta Anda untuk mengubah nomor.
long AccountNumber = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
int pass_magic = 12345678;//examle
if(!MQLInfoInteger(MQL_TESTER))
{
if(!SystreAuth(AccountNumber,pass_magic))
{
Alert("systre.com Account verification failed");
return false;
}
}
Silakan kompilasi setelah menambahkan kode autentikasi.
Jika ingin menguji logika autentikasi di lingkungan Anda, silakan berikan nomor akun Anda.
※ Untuk pengujian, tambahkan https://sys-tre.com/ ke daftar URL WebRequest yang diizinkan.
//Global variables
#include
int OnInit() {
long AccountNumber = StringToInteger(IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)));
int pass_magic = 12345678;//examle
if(!MQLInfoInteger(MQL_TESTER))
{
if(!SystreAuth(AccountNumber,pass_magic))
{
Alert("systre.com Account verification failed");
return false;
}
}
}
//+------------------------------------------------------------------+
Tim kami juga dapat menangani langkah-langkah di atas untuk Anda.
Jika berminat, cukup unggah file dalam format MQ4/5 saat mendaftar, dan kami akan memeriksanya.
Jika ada pertanyaan, jangan ragu untuk menghubungi kami.