シストレ.COM For Vendor
EX4/EX5 ファイル出品方法

有料版と無料版の2ファイルをZIP圧縮してアップロード

$
有料版ファイル EX4 / EX5
+
FREE
無料版ファイル EX4 / EX5
ZIP圧縮 ZIP
アップロード 完了
⚠️重要

EX4/EX5形式でのご出品の場合、フォワード計測は
開発者自身でのリアル口座計測となります。
あらかじめご了承ください。

専用の口座認証及び取引履歴をデータ化するロジックを加えてex4/5形式で提出することが可能です。
ex4/5ファイルでの出品時は有料版/無料版の2点をzipファイルに圧縮してアップロードしてください

ここからは"Meta Editor"を使用して、作業を行います。

01無料版を準備

 ご自身のmq4ファイル(EA)を複製し、"EAの商品名_free.mq4"を作成してください。※EAの名前にはご自身のEAの商品名を使用してください。

Free_createのテンプレート画像|シストレ.COM

02呼び出しコードを挿入

 mq4ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。

シストレ.COMの画像|シストレ.COM
				
					#include <web_auth.mqh>
				
			

03マジックナンバーのパラメータを隠す

マジックナンバー開放設定
無料版 開放しない
外部パラメータとして
開放しないでください。
有料版 開放する
外部パラメータとして
開放してください。

 マジックナンバーを外部パラメータとして開放しないでください。

 今回は例としてEAのマジックナンバー変数を以下とします。お使いのマジックナンバー変数名を変更する必要はございません

Magic_number_A
Magic_number_B
Magic_number_C


 ※マジックナンバーを使用して取引履歴を管理しています。

				
					int Magic_number_A
				
			
				
					extern int Magic_number_A
				
			
				
					input Magic_number_A
				
			

04 コード追加①

OnInit関数の最初に、以下のコードを挿入してください。(OnInit関数のすぐ後に必ず挿入してください)
例①のArrayResizeのマジックナンバーの数字はサイズ指定です。
EAのマジックナンバーの個数に合わせて、サイズを入力してください。(マジックナンバーを一つしか持たない場合は1)
また、多くのマジックナンバーを持つEAに関しては、以下②のように格納するマジックナンバーの数を増やして配置いたします。

				
					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;
				
			

05 コード追加②

 続けてマジックナンバーの指定が終わったら、前のステップで挿入したコードの下にこちらのコードを挿入してください。

 続けて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);
  }

				
			

06 コード追加③

OnTimer関数を"使用していない"場合

 mq4ファイルの一番下に以下の関数を配置すれば正常に機能します。

OnTimer関数を"使用している"場合

以下の関数をOnTimer関数の中で呼び出してください。

				
					<!-- Bottom of source code -->
void OnTimer()
  {
   if(!IsTesting())
     {
      SendAccountData(AccountNumber());
     }
  }
				
			
				
					void OnTimer()
  {
   if(!IsTesting())
     {
      SendAccountData(AccountNumber());
     }
  }
				
			

07サンプルコード

認証コードの追加が完了したらコンパイルを行ってください。

 ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。

 ※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。

サンプルコード

				
					//Global variables
  #include <web_auth.mqh>
    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());
       }
    }
  //+------------------------------------------------------------------+
				
			
ここからは"Meta Editor"を使用して、作業を行います。

01有料版を準備

 ご自身のmq4ファイル(EA)を複製し、(EAの商品名)_paid.mq4を作成してください。※EAの名前にはご自身のEAの商品名を使用してください。

Free_createのテンプレート画像|シストレ.COM

02呼び出しコードを挿入

mq4ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。

				
					#include <paid_auth.mqh>
				
			

03 マジックナンバーを宣言

マジックナンバー開放設定
無料版 開放しない
外部パラメータとして
開放しないでください。
有料版 開放する
外部パラメータとして
開放してください。

 ※注意
 無料版とは異なり、有料版はマジックナンバーパラメータを変更できるよう、外部パラメータして開放してください。
 複数のマジックナンバーを持つ場合は、1つ目のマジックナンバーの値を入力してください。

				
					#include <paid_auth.mqh>
extern int MAGIC = Your EA's magic number;

				
			

04 コード追加

 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;
}

				
			

05サンプルコード

認証コードの追加が完了したらコンパイルを行ってください。

 ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。

 ※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。

サンプルコード

				
					//Global variables
  #include <paid_auth.mqh>
    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;
  }
     //+------------------------------------------------------------------+
				
			
ここからは"Meta Editor"を使用して、作業を行います。

01無料版を準備

 ご自身のmq5ファイル(EA)を複製し、"EAの商品名_free.mq5"を作成してください。※EAの名前にはご自身のEAの商品名を使用してください。

Free_create_mt5のテンプレート画像|シストレ.COM

02呼び出しコードを挿入

 mq5ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。

				
					#include <web_auth_mt5.mqh>
				
			

03マジックナンバーのパラメータを隠す

マジックナンバー開放設定
無料版 開放しない
外部パラメータとして
開放しないでください。
有料版 開放する
外部パラメータとして
開放してください。

 マジックナンバーを外部パラメータとして開放しないでください。

 今回は例としてEAのマジックナンバー変数を以下とします。お使いのマジックナンバー変数名を変更する必要はございません

Magic_number_A
Magic_number_B
Magic_number_C


 ※マジックナンバーを使用して取引履歴を管理しています。

				
					int Magic_number_A
				
			
				
					extern int Magic_number_A
				
			
				
					input Magic_number_A
				
			

04 コード追加①

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;
				
			

05 コード追加②

続けてマジックナンバーの指定が終わったら、前のステップで挿入したコードの下にこちらのコードを挿入してください。

 続けて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);
  }
				
			

06 コード追加③

OnTimer関数を"使用していない"場合

 mq4ファイルの一番下に以下の関数を配置すれば正常に機能します。

OnTimer関数を"使用している"場合

以下の関数をOnTimer関数の中で呼び出してください。

				
					<!-- Bottom of source code -->
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);
     }
  }
				
			

07サンプルコード

認証コードの追加が完了したらコンパイルを行ってください。

 ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。

 ※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。

サンプルコード

				
					//Global variables
  #include <web_auth_mt5.mqh>
    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);
       }
    }
  //+------------------------------------------------------------------+
				
			
ここからは"Meta Editor"を使用して、作業を行います。

01有料版を準備

ご自身のmq5ファイル(EA)を複製し、(EAの商品名)_paid.mq5を作成してください。
※EAの名前にはご自身のEAの商品名を使用してください。

Paid_create_mt5のテンプレート画像|シストレ.COM

02呼び出しコードを挿入

 mq5ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。

				
					#include <paid_auth_mt5.mqh>
				
			

03 コード追加

 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);
  }

				
			

04 マジックナンバーを宣言

マジックナンバー開放設定
無料版 開放しない
外部パラメータとして
開放しないでください。
有料版 開放する
外部パラメータとして
開放してください。

 コード内で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);
  }

				
			

07サンプルコード

認証コードの追加が完了したらコンパイルを行ってください。

 ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。

 ※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。

サンプルコード

				
					//Global variables
  #include <paid_auth_mt5.mqh>
  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);
    }
				
			
ここからは"Meta Editor"を使用して、作業を行います。

01mqhファイルを準備

 ダウンロードしたmqhファイルをMQL5→Includeファイルにコピーしてください。

02呼び出しコードを挿入

 インジケーターのmq4ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。

				
					#include <indicator_auth.mqh>
				
			

03 コード追加

 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);
}

				
			

04コンパイル

認証コードの追加が完了したらコンパイルを行ってください。

 ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。

 ※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。

サンプルコード

				
					//Global variables
  #include <indicator_auth.mqh>


  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;
          }

  }
     //+------------------------------------------------------------------+
				
			
ここからは"Meta Editor"を使用して、作業を行います。

01mqhファイルを準備

 ダウンロードしたmqhファイルをMQL5→Includeファイルにコピーしてください。

02呼び出しコードを挿入

インジケーターのmq5ファイルの1行目にこのコードを挿入してください。先ほどダウンロードした、mqhファイルを呼び出すコードです。

				
					#include <indicator_auth_mt5.mqh>
				
			

03 コード追加

 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;
        }
     }
				
			

04コンパイル

認証コードの追加が完了したらコンパイルを行ってください。

 ご自身の環境下で認証ロジックの動作確認を行いたい場合は、お使いの口座番号をお知らせください。

 ※動作確認の際はWebRequestを許可するURLリストに、https://sys-tre.com/ を追加してください。

サンプルコード

				
					//Global variables
#include <indicator_auth_mt5.mqh>


  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形式のままでアップロードいただければご確認させていただきます。
なにかご不明点がございましたら、お気軽にお問い合わせください。

上部へスクロール