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.
Sie können im ex4/5-Format einreichen, einschließlich Kontoauthentifizierung und Handelshistorie-Logik.
Beim Listing mit ex4/5-Dateien komprimieren Sie bitte die Kauf- und Gratisversion in eine ZIP-Datei und laden Sie sie hoch.

Duplizieren Sie Ihre mq4-Datei (EA) und erstellen Sie "EA-Produktname_free.mq4". ※Verwenden Sie Ihren eigenen EA-Produktnamen.
Fügen Sie diesen Code in die erste Zeile Ihrer mq4-Datei ein. Dies ist der Code zum Aufrufen der heruntergeladenen mqh-Datei.
#include
Geben Sie die Magic Number nicht als externen Parameter frei.
In diesem Beispiel verwenden wir die folgende Magic-Number-Variable für den EA. Sie müssen Ihren eigenen Variablennamen nicht ändern.
Magic_number_A
Magic_number_B
Magic_number_C
•
•
•
int Magic_number_A
extern int Magic_number_A
input Magic_number_A
Fügen Sie den folgenden Code am Anfang der OnInit-Funktion ein. (Muss direkt nach der OnInit-Funktion eingefügt werden)
Die Magic-Number-Zahl in ArrayResize in Beispiel 1 gibt die Größe an.
Geben Sie die Größe entsprechend der Anzahl der Magic Numbers Ihres EAs ein. (1, wenn nur eine Magic Number vorhanden ist)
Für EAs mit vielen Magic Numbers erhöhen Sie die Anzahl der gespeicherten Magic Numbers wie in Beispiel 2 unten gezeigt.
Nachdem Sie die Magic Number festgelegt haben, fügen Sie diesen Code unter dem im vorherigen Schritt eingefügten Code ein.
Anschließend fügen Sie den weiteren Code der OnInit-Funktion ein.
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);
}
Platzieren Sie die folgende Funktion am Ende Ihrer mq4-Datei, damit sie korrekt funktioniert.
Rufen Sie die folgende Funktion innerhalb der OnTimer-Funktion auf.
void OnTimer()
{
if(!IsTesting())
{
SendAccountData(AccountNumber());
}
}
void OnTimer()
{
if(!IsTesting())
{
SendAccountData(AccountNumber());
}
}
Bitte kompilieren Sie nach dem Hinzufügen des Authentifizierungscodes.
Wenn Sie die Authentifizierungslogik in Ihrer Umgebung testen möchten, teilen Sie uns bitte Ihre Kontonummer mit.
※ Zum Testen fügen Sie bitte https://sys-tre.com/ zur erlaubten WebRequest-URL-Liste hinzu.
//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());
}
}
//+------------------------------------------------------------------+

Duplizieren Sie Ihre mq4-Datei (EA) und erstellen Sie (EA-Produktname)_paid.mq4. ※Verwenden Sie Ihren eigenen EA-Produktnamen.
Fügen Sie diesen Code in die erste Zeile Ihrer mq4-Datei ein. Dies ist der Code zum Aufrufen der heruntergeladenen mqh-Datei.
#include
※ Hinweis
Anders als bei der Gratisversion sollte die kostenpflichtige Version den Magic-Number-Parameter als externen Parameter freigeben.
Wenn Sie mehrere Magic Numbers haben, geben Sie den Wert der ersten Magic Number ein.
#include
extern int MAGIC = Your EA's magic number;
Fügen Sie diesen Code am Anfang der OnInit-Funktion ein. Deklarieren Sie im Code int pass_magic = die Magic Number Ihres EAs;
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;
}
Bitte kompilieren Sie nach dem Hinzufügen des Authentifizierungscodes.
Wenn Sie die Authentifizierungslogik in Ihrer Umgebung testen möchten, teilen Sie uns bitte Ihre Kontonummer mit.
※ Zum Testen fügen Sie bitte https://sys-tre.com/ zur erlaubten WebRequest-URL-Liste hinzu.
//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;
}
//+------------------------------------------------------------------+

Duplizieren Sie Ihre mq5-Datei (EA) und erstellen Sie "EA-Produktname_free.mq5". ※Verwenden Sie Ihren eigenen EA-Produktnamen.
Fügen Sie diesen Code in die erste Zeile Ihrer mq5-Datei ein. Dies ist der Code zum Aufrufen der heruntergeladenen mqh-Datei.
#include
Geben Sie die Magic Number nicht als externen Parameter frei.
In diesem Beispiel verwenden wir die folgende Magic-Number-Variable für den EA. Sie müssen Ihren eigenen Variablennamen nicht ändern.
Magic_number_A
Magic_number_B
Magic_number_C
•
•
•
int Magic_number_A
extern int Magic_number_A
input Magic_number_A
Fügen Sie den folgenden Code am Anfang der OnInit-Funktion ein. (Muss direkt nach der OnInit-Funktion eingefügt werden)
Die Magic-Number-Zahl in ArrayResize in Beispiel 1 gibt die Größe an.
Geben Sie die Größe entsprechend der Anzahl der Magic Numbers Ihres EAs ein. (1, wenn nur eine Magic Number vorhanden ist)
Für EAs mit vielen Magic Numbers erhöhen Sie die Anzahl der gespeicherten Magic Numbers wie in Beispiel 2 unten gezeigt.
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;
Nachdem Sie die Magic Number festgelegt haben, fügen Sie diesen Code unter dem im vorherigen Schritt eingefügten Code ein.
Anschließend fügen Sie den weiteren Code der OnInit-Funktion ein.
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);
}
Platzieren Sie die folgende Funktion am Ende Ihrer mq4-Datei, damit sie korrekt funktioniert.
Rufen Sie die folgende Funktion innerhalb der OnTimer-Funktion auf.
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);
}
}
Bitte kompilieren Sie nach dem Hinzufügen des Authentifizierungscodes.
Wenn Sie die Authentifizierungslogik in Ihrer Umgebung testen möchten, teilen Sie uns bitte Ihre Kontonummer mit.
※ Zum Testen fügen Sie bitte https://sys-tre.com/ zur erlaubten WebRequest-URL-Liste hinzu.
//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);
}
}
//+------------------------------------------------------------------+

Duplizieren Sie Ihre eigene .mq5-Datei (EA) und erstellen Sie (Produktname Ihres EA)_paid.mq5.
* Verwenden Sie im Dateinamen den Produktnamen Ihres EA.
Fügen Sie diesen Code in die erste Zeile Ihrer mq5-Datei ein. Dies ist der Code zum Aufrufen der heruntergeladenen mqh-Datei.
#include
Fügen Sie diesen Code am Anfang der OnInit-Funktion ein. (Muss direkt nach der OnInit-Funktion eingefügt werden)
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);
}
Deklarieren Sie im Code int pass_magic = die Magic Number Ihres EAs; (Geben Sie die Zahl ein, nicht die MagicNumber-Variable.) ※Beispiel: int pass_magic = 1234;
Anders als bei der Gratisversion sollte die kostenpflichtige Version den Magic-Number-Parameter als externen Parameter freigeben.
Bei EAs mit mehreren Magic Numbers geben Sie bitte die erste Magic Number ein.
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);
}
Bitte kompilieren Sie nach dem Hinzufügen des Authentifizierungscodes.
Wenn Sie die Authentifizierungslogik in Ihrer Umgebung testen möchten, teilen Sie uns bitte Ihre Kontonummer mit.
※ Zum Testen fügen Sie bitte https://sys-tre.com/ zur erlaubten WebRequest-URL-Liste hinzu.
//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);
}

Kopieren Sie die heruntergeladene mqh-Datei in den Ordner MQL5 → Include.
Fügen Sie diesen Code in die erste Zeile der mq4-Datei Ihres Indikators ein. Dies ist der Code zum Aufrufen der heruntergeladenen mqh-Datei.
#include
Fügen Sie diesen Code am Anfang der OnInit-Funktion ein.
Erstellen Sie im Code int pass_magic = eine eindeutige 6-8-stellige Identifikationsnummer.
Bitte vermeiden Sie einfache Zahlen, um Duplikate auf der Website zu verhindern.
Bei Duplikaten bitten wir Sie möglicherweise, die Nummer zu ändern.
int OnInit() {
int pass_magic = 12345678;
if (!SystreAuth(AccountNumber(), pass_magic)) {
Alert("systre.com Account verification failed");
return(INIT_FAILED);
}
return(INIT_SUCCEEDED);
}
Bitte kompilieren Sie nach dem Hinzufügen des Authentifizierungscodes.
Wenn Sie die Authentifizierungslogik in Ihrer Umgebung testen möchten, teilen Sie uns bitte Ihre Kontonummer mit.
※ Zum Testen fügen Sie bitte https://sys-tre.com/ zur erlaubten WebRequest-URL-Liste hinzu.
//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;
}
}
//+------------------------------------------------------------------+

Kopieren Sie die heruntergeladene mqh-Datei in den Ordner MQL5 → Include.
Fügen Sie diesen Code in die erste Zeile der mq5-Datei Ihres Indikators ein. Dies ist der Code zum Aufrufen der heruntergeladenen mqh-Datei.
#include
Fügen Sie diesen Code am Anfang der OnInit-Funktion ein.
Erstellen Sie im Code int pass_magic = eine eindeutige 6-8-stellige Identifikationsnummer.
Bitte vermeiden Sie einfache Zahlen, um Duplikate auf der Website zu verhindern.
Bei Duplikaten bitten wir Sie möglicherweise, die Nummer zu ändern.
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;
}
}
Bitte kompilieren Sie nach dem Hinzufügen des Authentifizierungscodes.
Wenn Sie die Authentifizierungslogik in Ihrer Umgebung testen möchten, teilen Sie uns bitte Ihre Kontonummer mit.
※ Zum Testen fügen Sie bitte https://sys-tre.com/ zur erlaubten WebRequest-URL-Liste hinzu.
//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;
}
}
}
//+------------------------------------------------------------------+
Unser Team kann die oben genannten Schritte auch für Sie übernehmen.
Laden Sie die Datei bei der Einreichung einfach im MQ4/5-Format hoch, und wir prüfen sie.
Bei Fragen können Sie uns jederzeit kontaktieren.