MetaTrader口座認証サービス 設定方法

サービスの概要と仕組みについて

最初に管理者側で使用者データベースにファイル名&口座番号を登録します。
口座認証コードが埋め込まれたEA・インジケータは稼働する際に使用者データベースを参照し、
自身の情報に当てはまる登録データが存在するかをチェックします(情報がなければ稼働停止等を行います)

このページでは管理者・使用者それぞれで必要な設定方法について記載しています。
※説明はMT4バージョンで書いていますが、MT5バージョンでもやり方は同じです

■管理者が行う設定

1.使用制限をかけたいファイルに指定コードを埋め込んでコンパイルする

お持ちのファイルに必要なコードを埋め込みます。
MetaTrader口座認証サービス 挿入コードの解説

当社が作成したEAであればコードを埋め込んでお渡しすることもできます。
コンパイル作業については下記ページをご参照ください。
ソースコードを編集しコンパイルする方法

※ファイル名には全角文字を使わないようにしてください
日本語やマルチバイト文字ではDBに登録できません、EA名・インジケータ名は半角文字にしてください。

2.使用制限をかけたいファイル名と口座番号一覧を書いたcsvファイルを作成する

サービス購入時にお客様専用のIDをお伝えします。
このIDを後ろにつけた「CheckKoza_KozaLimit_△△」という名前のcsvファイルを作成し、
「制限したいファイル名(EAやインジケータの名前),口座番号」のセットを1行ずつ書き込んでいきます。
csvファイルの編集はメモ帳アプリ等で行ってください。

例)IDが「SampleUser」、許可したいファイル名が「testEA.ex4」、許可したい口座番号が1123と4456だった場合
「CheckKoza_KozaLimit_SampleUser.csv」を用意して
testEA,1123
testEA,4456
と1行ずつ書き込んで保存します。

3.スクリプトとcsvをMT4のフォルダに入れる

使用者DBへの書き込みを行います。
書き込みはMT4を利用して行いますので、自分が使っているMT4に必要なファイルを入れます(MT4なら何でもよいです
まずは先ほど編集したcsvファイルをMQL4\Filesに入れます。
続いてスクリプトファイルである「CheckKoza_KozaLimitSC.ex4」をScriptsフォルダへ入れてください。

4.MT4を開きWebRequest許可を行う

MT4を起動し、ツール→オプション→エキスパートアドバイザを開きます。
「WebRequestを許可するURLリスト」をチェックし「https://datafeed.matrix.jp」を追加してください。

5.スクリプトを実行する

ナビゲーターを表示しスクリプトの中にある「CheckKoza_KozaLimitSC」をチャートへドラッグ、またはダブルクリックします。
ユーザー名が自分のものになっているか確認しOKを押してください。

DB登録に成功するとチャート左上に「MT4 Kozalimit Upload Success!」と表示されます。

■使用者に渡すファイルと利用方法

使用者に渡すもの

・使わせたい制限付きex4ファイル(EAやインジケータ)
・MT4Inet.dll(MT5を使う人にはMT5Inet.dll)
の2つを渡してください。

EAやインジケータは通常通りExpertsフォルダやIndicatorsフォルダへ入れます。
MT4Inet.dllはLibraliesフォルダへ入れてください。


使用者側で必要な操作

MT4を起動し、ツール→オプション→エキスパートアドバイザを開き「DLLの使用を許可する」にチェックを入れてください。

ここにチェックを入れておけばEAやインジケータを稼働させる時には全般タブの「DLLの使用を許可する」に自動的にチェックマークが入ります。

使用者側はこれで準備完了です。
許可されていないファイルを稼働させようとしてもエラーが出て動きません。
許可されていない時の動作はコード次第ですが、デフォルトは「AccountNumber limitationをアラート画面に表示させる」としています。

■エラーと対処法

Cannot load ‘MT4Inet.dll’ [126]

VC++ランタイムがPCにインストールされていない場合このエラーが出ます。
VC++ランタイムをインストールしてください。