有料版と無料版の2ファイルをZIP圧縮してアップロード
EX4/EX5形式でのご出品の場合、フォワード計測は
開発者自身でのリアル口座計測となります。
あらかじめご了承ください。
専用の口座認証及び取引履歴をデータ化するロジックを加えてex4/5形式で提出することが可能です。
ex4/5ファイルでの出品時は有料版/無料版の2点をzipファイルに圧縮してアップロードしてください

ご自身のmq4ファイル(EA)を複製し、"EAの商品名_free.mq4"を作成してください。※EAの名前にはご自身のEAの商品名を使用してください。
mq4ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。
#include
マジックナンバーを外部パラメータとして開放しないでください。
OnInit関数の最初に、以下のコードを挿入してください。(OnInit関数のすぐ後に必ず挿入してください)
例①のArrayResizeのマジックナンバーの数字はサイズ指定です。
EAのマジックナンバーの個数に合わせて、サイズを入力してください。(マジックナンバーを一つしか持たない場合は1)
また、多くのマジックナンバーを持つEAに関しては、以下②のように格納するマジックナンバーの数を増やして配置いたします。
続けてマジックナンバーの指定が終わったら、前のステップで挿入したコードの下にこちらのコードを挿入してください。
続けて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);
}
mq4ファイルの一番下に以下の関数を配置すれば正常に機能します。
以下の関数をOnTimer関数の中で呼び出してください。
void OnTimer()
{
if(!IsTesting())
{
SendAccountData(AccountNumber());
}
}
void OnTimer()
{
if(!IsTesting())
{
SendAccountData(AccountNumber());
}
}
認証コードの追加が完了したらコンパイルを行ってください。
ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。
※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。
//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());
}
}
//+------------------------------------------------------------------+

ご自身のmq4ファイル(EA)を複製し、(EAの商品名)_paid.mq4を作成してください。※EAの名前にはご自身のEAの商品名を使用してください。
mq4ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。
#include
※注意
無料版とは異なり、有料版はマジックナンバーパラメータを変更できるよう、外部パラメータして開放してください。
複数のマジックナンバーを持つ場合は、1つ目のマジックナンバーの値を入力してください。
#include
extern int MAGIC = Your EA's magic number;
OnInit関数の最初に、こちらのコードを挿入してください。コード内でint pass_magic = 自身のEAのマジックナンバー;を宣言してください。
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;
}
認証コードの追加が完了したらコンパイルを行ってください。
ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。
※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。
//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;
}
//+------------------------------------------------------------------+

ご自身のmq5ファイル(EA)を複製し、"EAの商品名_free.mq5"を作成してください。※EAの名前にはご自身のEAの商品名を使用してください。
mq5ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。
#include
マジックナンバーを外部パラメータとして開放しないでください。
OnInit関数の最初に、以下のコードを挿入してください。(OnInit関数のすぐ後に必ず挿入してください)
例①のArrayResizeのマジックナンバーの数字はサイズ指定です。
EAのマジックナンバーの個数に合わせて、サイズを入力してください。(マジックナンバーを一つしか持たない場合は1)
また、多くのマジックナンバーを持つEAに関しては、以下②のように格納するマジックナンバーの数を増やして配置いたします。
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;
続けてマジックナンバーの指定が終わったら、前のステップで挿入したコードの下にこちらのコードを挿入してください。
続けて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);
}
mq4ファイルの一番下に以下の関数を配置すれば正常に機能します。
以下の関数を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);
}
}
認証コードの追加が完了したらコンパイルを行ってください。
ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。
※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。
//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);
}
}
//+------------------------------------------------------------------+

ご自身のmq5ファイル(EA)を複製し、(EAの商品名)_paid.mq5を作成してください。
※EAの名前にはご自身のEAの商品名を使用してください。
mq5ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。
#include
OnInit関数の最初に、こちらのコードを挿入してください。(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);
}
コード内でint pass_magic = 自身のEAのマジックナンバー;を宣言してください。(自身のEAのマジックナンバーはMagicNumber変数ではなく、数字を入力してください。) ※例 int pass_magic = 1234;
無料版とは異なり、有料版はマジックナンバーパラメータを変更できるよう、外部パラメータして開放してください。
複数のマジックナンバーを使用しているEAに関しましては、1つ目のマジックナンバーの数字を代入してください。
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);
}
認証コードの追加が完了したらコンパイルを行ってください。
ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。
※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。
//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);
}

ダウンロードしたmqhファイルをMQL5→Includeファイルにコピーしてください。
インジケーターのmq4ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。
#include
OnInit関数の最初に、こちらのコードを挿入してください。
コード内でint pass_magic = 任意の識別番号を6~8桁で作成してください。
サイト内で重複がないよう簡単な数字はお控えください。
万が一重複があった場合、番号の変更をお願いする場合がございます。
int OnInit() {
int pass_magic = 12345678;
if (!SystreAuth(AccountNumber(), pass_magic)) {
Alert("systre.com Account verification failed");
return(INIT_FAILED);
}
return(INIT_SUCCEEDED);
}
認証コードの追加が完了したらコンパイルを行ってください。
ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。
※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。
//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;
}
}
//+------------------------------------------------------------------+

ダウンロードしたmqhファイルをMQL5→Includeファイルにコピーしてください。
インジケーターのmq5ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。
#include
OnInit関数の最初に、こちらのコードを挿入してください。
コード内でint pass_magic = 任意の識別番号を6~8桁で作成してください。
サイト内で重複がないよう簡単な数字はお控えください。
万が一重複があった場合、番号の変更をお願いする場合がございます。
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;
}
}
認証コードの追加が完了したらコンパイルを行ってください。
ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。
※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。
//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;
}
}
}
//+------------------------------------------------------------------+
上記の手順を運営にて代理で準備させていただくことも可能でございます。
ご希望の際は、出品時にMQ4/5形式のままでアップロードいただければご確認させていただきます。
なにかご不明点がございましたら、お気軽にお問い合わせください。