見出し画像

【ツール付き】無料サーバを利用し簡単にWEB認証でEAに口座縛りを実装する方法

こんにちは。もるふぉと申します。外資系IT会社のプログラマです。
今まで、PHP, Ruby, Python, Java, C++, GoLang などを利用して自社、他社問わず様々な企業のソフトウェアを構築してきました。
EAは自分用のものを作成してきました。
エンジニアリングの観点から皆様のお力になれるのではないかと思いEAに関する情報発信していきます。


この記事の対象となる方は、

✅ EA開発に興味がある方
✅ EAを配布したいけど口座縛りの実装方法がわからない方
✅ 口座縛りでEAを配布しているがサーバー費用をかけたくない方

となっています。

EAの利用になにも制限しないで配布すると、簡単にコピーされそのファイルがあれば誰でも利用できてしまいます。
そこでEAに対してこの口座でしか動作しないように設定する、
いわゆる口座縛りをかけるのが一般的です。

口座縛りの手法は様々ですが、今記事は3つ紹介します。

  1. 口座番号をソースコードに記載して認証する方法

  2. 口座番号からパスワードを発行し認証する方法(パスワード発行ツール付き)

  3. WEBリクエストを利用して口座認証する方法(口座管理ツール付き)

それぞれメリット・デメリットがありますので違いを紹介しつつ、各々の状況に合わせて導入していきましょう。
最初からWEB認証のやり方を知りたい方は1と2は読み飛ばしてください。

※MQL4でのサンプルコードになります。MQL5は需要があれば別途書きます

有料部分のサンプルキャプチャ

認証した口座番号を入力するとEAが稼働可能になります。

では見ていきましょう。




口座番号をソースコードに記載し認証する方法

導入のしやすさ: ★★★★★
運用のしやすさ: ★☆☆☆☆

一番簡単な方法ですが、口座番号申請されるたびに「12345678」の部分を編集してその人専用のex4ファイルを作成し送付するという作業が発生します。

#property strict

int account_number = 12345678; // 申請された口座番号

int OnInit(){
   if (!Auth()) {
      Comment("Auth Failed.");
      return (INIT_FAILED);
   }
   Comment("Auth Success.");

   return (INIT_SUCCEEDED);
}

bool Auth() {
   return (account_number == AccountNumber());
}


口座番号からパスワードを発行し認証する方法

導入のしやすさ: ★★★★☆
運用のしやすさ: ★★★☆☆

外部と通信せず口座縛りをする場合での運用においてはこの方法が比較的ラクだと思います。
流れは以下の画像に記します。

ここから先は

5,717字 / 23画像

¥ 4,980

この記事が気に入ったらサポートをしてみませんか?