6 STEPSExpertAuth.mqh
導入ガイドへ戻る最短で認証を導入するための手順
ExpertAuth.mqh の配置から認証の組み込みまでを順番に進めるための手順です。ヘッダーファイルは MT4 / MT5 共通です。
手順
下の順番でそのまま進めれば、MT4 / MT5 共通の認証処理を組み込めます。
STEP 1
ダウンロードページへAPI連携用ファイルをダウンロード
API連携ファイルページから、共通ヘッダーファイル ExpertAuth.mqh を取得します。
STEP 2
配置して import
ダウンロードしたファイルを配置し、EA またはインジケータから import します。
MQL4/Include/ExpertAuth.mqh
MQL5/Include/ExpertAuth.mqh#include <ExpertAuth.mqh>STEP 3
プロダクトIDを定義
商品登録画面で発行されたプロダクト ID を、EA またはインジケータ側で定義します。
#define PRODUCT_ID "***"STEP 4
パスワード入力項目を用意
パスワード認証を使う場合だけ、外部パラメータとしてパスワード入力項目を用意します。
input string pass = "";STEP 5
OnInit でタイマーを準備
初回認証を走らせるため、OnInit でタイマーを準備します。
MetaTrader 起動直後は回線が不通になる場合があるため、3〜10秒後の実行が推奨です。
int OnInit(){
EventSetTimer(5);
return(INIT_SUCCEEDED);
}STEP 6
OnTimer に認証処理を用意
OnTimer 内で認証処理を呼び出します。口座番号認証を主例にし、パスワード認証はコメントの行を使います。
短期間での繰り返し認証を避けるため、初回認証後は 1 時間後などに設定します。
void OnTimer(){
CJAVal result;
//↓口座番号による認証
result = AuthAccountNumber(PRODUCT_ID);
//↓パスワードによる認証
//result = AuthPassword(PRODUCT_ID, pass);
bool success = result["success"].ToBool();
int code = result["code"].ToInt();
string reason = result["message"].ToStr();
int expiresAt = result["license"]["expires_at"].ToInt();
// 認証失敗
if(!success){
Print("認証失敗(", code, ") 理由: ", reason);
ExpertRemove();
return;
}
// 認証成功メッセージ
string message = "認証完了";
if(expiresAt != 0){
string expiry = TimeToString((datetime)expiresAt, TIME_DATE|TIME_MINUTES);
message = message + " 使用期限: " + expiry + "です。";
}
Alert(message);
EventSetTimer(3600);
}実装が難しい場合は、認証導入代行にも対応できます
初期設定、認証組み込み、ヘッダーファイル導入まで、有償の導入代行として個別に相談できます。
初期設定
環境に合わせた初回セットアップを整理して進めます。
認証組み込み
EA やインジケータへの認証組み込みを相談しながら進めます。
ヘッダーファイル導入
ExpertAuth.mqh の導入と呼び出し準備まで対応できます。
Free / Lite / Pro の月額プランには含まれません。個別相談・個別見積もりで対応します。
お問い合わせはこちら