サービスの概要と仕組みについて
最初に管理者側で使用者データベースにファイル名&口座番号を登録します。
口座認証コードが埋め込まれた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++ランタイムをインストールしてください。