MT5監視専用EAと付属EXEのWeb認証について(商品ID87496)

MetaTrader 5
なみころ
2026/10/08 16:52
4

お世話になっております。BB Watchを商品ID87496で下書き登録しています。カスタマーサクセスから、認証に関する3点をLABOへまとめて問い合わせるよう案内をいただきました。

本商品は、MT5の監視EA(EX5)がローカルJSONを通じてWindows表示アプリ(EXE)へデータを渡す構成です。売買注文の機能はありません。

認証コードは、商品編集画面のSTEP3「認証コード確認」から、MT5・半裁量EA向けのものを取得しました。wininet.dllを使う方式です。次の公開手順も確認しています。
https://www.gogojungle.co.jp/post/1/1587

1.閲覧専用口座と再認証

公式手順のOnInit内には、次の条件で起動を拒否する処理があります。

if(AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)==0)

注文を行わない監視専用EAでも、投資家パスワードによる閲覧専用口座は利用対象外でしょうか。利用できる場合は、公式に推奨する認証方法をご案内ください。

また、起動後に再認証が必要となる条件やタイミングも教えていただけますか。

2.付属表示アプリの認証・保護

EAに公式認証を組み込み、EXEを付属の表示用アプリとして同梱する構成で問題ないでしょうか。ローカルJSONを購入証明として扱うことは考えていません。

EXE側にも認証や保護が必要な場合は、利用できる公式方式と組み込み手順をご案内ください。審査に必要なEXE側の提出物と提出方法も確認したいです。

3.認証応答の判定方法

公式手順には、次の条件で認証失敗とする処理があります。

if(StringFind(AccountCert, "success") == -1)

正式な成功・失敗の応答形式と、通信エラー時の推奨判定方法を教えていただけますか。MT5の監視専用EAで参照すべき最新版のサンプルがあれば、取得先もご案内ください。

掲載したコードは公開手順の該当条件式です。製品ソースなどの追加資料が必要な場合は、公開投稿を避けて提出できる窓口をご指定いただけますと助かります。

技術的な内容を開発担当と正確に共有したいため、今回は電話ではなく、LABO上の回答などテキストでのご連絡をお願いいたします。

よろしくお願いいたします。

コメント

GogoJungle
2026/10/08 19:02

お問い合わせいただきありがとうございます。
ご質問の3点について、項目ごとに回答いたします。
長文失礼いたします。


1.閲覧専用口座と再認証

閲覧専用口座での利用について

売買注文を行わない監視専用EAであれば、投資家パスワードでログインした閲覧専用口座でご利用いただいて問題ありません。

ACCOUNT_TRADE_ALLOWED で起動を拒否する処理は、売買を行う半裁量EAを想定して認証コードに入れているものです。購入者様の認証(購入確認)とは別の処理で、認証自体は閲覧専用口座でも行えます。

そのため本商品では、認証コードのうち次のブロックを削除してご利用ください。

  if(AccountInfoInteger(ACCOUNT_TRADE_ALLOWED)==0){
    Alert("This is investor password. Please input real password.");
    ExpertRemove();
    return(INIT_FAILED);
  }

それ以外の部分は変更せず、そのままお使いください。対象は GrabWeb() による認証と、"success" による成否判定です。

推奨する組み込み方法

公開手順(post/1/1587)は以前に作成したもので、MT4を前提にした記述が中心です。
MT5では、商品編集画面にある認証コードの自動挿入機能のご利用をお勧めします。

  1. 商品編集画面のSTEP3「認証コード確認」を開き、MT5の「半裁量EA」向けを選択します。
  2. EAのmq5ソースを貼り付けると、認証コードを挿入したソースが生成されます。
    ※ソースはブラウザ上で処理され、弊社サーバーには送信されません。
  3. 生成されたソースから、上記の ACCOUNT_TRADE_ALLOWED のブロックを削除します。
  4. MetaEditorでコンパイルし、ex5をアップロードします。

アップロード時は、次の点にご注意ください。

  • ex5は、zipの直下(フォルダの外)に置いてください。購入者様がダウンロードする際、ファイル名に認証用の識別子が付きますが、フォルダ内のファイルには付きません。
  • 購入者様がex5のファイル名を変更すると、認証できなくなります。必要に応じて、商品説明に注意書きを入れてください。
  • 認証にはwininet.dllを使うため、購入者様のMT5で「DLLの使用を許可する」を有効にする必要があります。

再認証の条件とタイミング

買い切り商品の場合

認証は、EAのOnInitが実行されるときにのみ行います。主なタイミングは次のとおりです。

  • チャートへの適用時
  • MT5の再起動時
  • パラメータや時間足を変更してOnInitが再実行されたとき

起動後に定期的な再認証は行いません。

月額商品の場合

STEP3で表示される月額商品用のコードには、定期的に再認証する処理(OnTimer)が含まれます。

  • 1時間ごとに確認し、ブローカーのサーバー時刻で9時以降に、1日1回再認証します。
  • 再認証に失敗した場合は、EAを停止します(ExpertRemove())。
  • 認証コードはOnInit内で EventSetTimer(3600) を設定し、既存のOnTimer・OnDeinitの先頭に処理を追記します。EA側でもタイマーを使う場合は、この点を踏まえて実装してください。

2.付属表示アプリの認証・保護

EAに公式の認証を組み込み、EXEを付属の表示用アプリとして同梱する構成で問題ございません。
EXEはEAが出力するデータを表示する構成の場合、認証済みのEAが動作していなければ機能しません。そのためEXE側の認証は必須ではないと存じます。

もしもEXE側にも認証を入れたい場合は、弊社の「GogoAuth」をお勧めします。

  • GogoAuth導入キット(無料)
    https://www.gogojungle.co.jp/tools/ebooks/87163
  • EXEなど、MT4/MT5以外のソフトウェアに購入者認証を組み込める仕組みです。
  • 組み込み手順やサンプルコードは、上記のキットに収録しています。

審査に必要な提出物について

EXEも審査の対象となり、弊社エンジニアによるソースの確認が必要です。
ただし、製品にソースを同梱してしまうと購入者様にも公開されてしまうため、公開を希望されない資料は、弊社宛のDMで「エンジニア宛」と明記してお送りください。弊社エンジニアが確認させていただきます。


3.認証応答の判定方法

成功・失敗の判定

認証の成否は、GrabWeb() の戻り値に "success" が含まれるかどうかで判定します。

  • "success" を含む場合:認証成功
  • それ以外:認証失敗

失敗時の戻り値は、Authentication failure - に続けて理由を示す文言が入ります。ただし文言は今後変わる可能性があるため、個別の文言で分岐せず、"success" を含むかどうかだけで判定します。

通信エラー時の判定

通信エラー時は、GrabWeb() が Authentication failure - Error connecting to server : by GogoJungle を返すため、認証失敗として扱われます。
通信エラーの場合も、認証成功として扱わないでください。

最新版のサンプルの取得先

MT5の最新版の認証コードは、商品編集画面のSTEP3「認証コード確認」で表示されるものです。公開手順のページではなく、こちらを参照してください。
本商品のような監視専用EAは、「半裁量EA」向けのコードから、1でご案内した ACCOUNT_TRADE_ALLOWED のブロックを削除するだけで適用可能であると存じます。


ご不明な点がございましたら、お気軽にお問い合わせください。
よろしくお願いいたします。

関連トピックス

検索結果がありません。

ノーコードで誰でも簡単EA開発!MQL言語学習にも使える! | GogoJungle

注目トピックス

検索結果がありません。