導入ガイド/クイックスタート
導入ガイド/クイックスタート
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秒後の実行が推奨です。
// MQL5
int OnInit(){
//挿入後5秒後に認証を行う。
EventSetTimer(5);
//インジケータの場合はショートネームを設定
IndicatorSetString(INDICATOR_SHORTNAME, "sample");
return(INIT_SUCCEEDED);
}// MQL4
int OnInit(){
//挿入後5秒後に認証を行う。
EventSetTimer(5);
//インジケータの場合はショートネームを設定
IndicatorShortName("sample");
return(INIT_SUCCEEDED);
}STEP 6
OnTimer に認証処理を用意
OnTimer 内で認証処理を呼び出します。口座番号認証を主例にし、パスワード認証はコメントの行を使います。認証失敗時は EA またはインジケータをチャートから外します。
短期間での繰り返し認証を避けるため、初回認証後は 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){
Alert("Authentication failed (", code, ") \nreason: ", reason);
//↓チャートからEAを削除する
//ExpertRemove();
//↓チャートからインジケータを削除する
ChartIndicatorDelete(0, 0, "sample");
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 の月額プランには含まれません。個別相談・個別見積もりで対応します。
お問い合わせはこちら