見出し画像

EAをパスワード認証を導入しよう

割引あり

 こんにちは。そーまんあやとんです(o*。_。)oペコッ
EAを口座縛りで無料配布(たまに有料)している方、もしくはこれからEA作成して配ってみたいという方必見っ!!(とりあえずMT4専用です)


1.コンパイル型方式

 ちょっと調べていただくとわかりますが、口座縛りすること自体は簡単です。以下の関数を使ってログインしている口座番号を読み込み、if文で確認するだけ。一例を示すなら以下のようなコードを書くだけです。


int Pass = 12345678;  //ここに紐づけしたい口座番号を入力

if( Pass == AccountNumber() )
{
//ここに処理を記入
}

 紐づけしたい口座番号ごとにコンパイルして、紐づけしたユーザーに配れば、晴れて口座縛りの完成。それ以外の口座では処理が走りません。
 一人や二人ならどうってことない作業ですが、これが何十人、何百人となると結構な作業になります。一度きりの配布であればそれもまぁ頑張れなくもないとは思いますが、アップデートなどしようものなら全てコンパイルし直しが必要で、しかもユーザーごとにファイルが違うので、間違えないように管理して配布が必要・・・と、とてもじゃないですがやってられない状態になります。

2.Webサーバー認証方式

 これを簡単にするために、webサーバー認証方式というものもあります。これの良いところは、配布側が認証したい口座番号を登録しておき、ユーザー側が口座番号を登録したらそれで認証が完了すること。EAをアップデートしても、同じEA本体のみを全ユーザーに一括配布が可能です。その他特徴としては、一度認証した後に認証はく奪することも可能なので、ユーザー側とのトラブルがあっても利用停止ができ安心です。
 しかし、Webサーバーを使うための事前設定でつまずくユーザーも多く、意外とサポートが面倒になりがちではないでしょうか?

3.パスワード認証方式

 さて、前段はこのくらいにして、今回提案するパスワード認証方式は、個別コンパイル方式とWebサーバー認証方式の中間のような位置づけで、以下のような特徴があります。

✅EA本体の配布のみで対応可能(コンパイルは一回のみ)
✅配布側は口座番号を聞いてパスワードを発行
✅ユーザー側はパラメータ欄にパスワードを入力のみで使用可能
✅配布後に認証解除は不可能

(アプデ版でパスワード変更すればアプデ以降は使用不能にはできる)

 EAへの導入方法は、別途解説いたしますが、簡単にパスワード認証方式を使用したEA配布方法、使用方法を紹介します。

3-1 紐づけたい口座番号からパスワードを発行

 ユーザーから口座番号の連絡を受け、無事自身のIBと紐づけが確認できたら、お好きなMT4でお好きなチャートを開き、「change_36.ex4」をセットします。

 パラメータ設定画面に画像に従って数字を入力します。マスク変数は絶対にユーザーに知られてはいけません。この変数によってパスワードを任意に変化させることができます。

 OKを入力すると、アラート画面で文字列が出てくるので、この文字列をパスワードとしてEAと共にユーザーに配布します。

3-2 ユーザー側の操作

 EAとパスワードをもらったユーザーは、EAをセットした時にパラメータにパスワード入力をするだけで認証が完了し、使用可能となります。
 配布するEAは「password_check.mq4」をベースとしてEAのロジックを盛り込んだプログラムを作成していくことになります。

 認証状態のコメントには以下の種類があり、それぞれ意味合いと動作が変わります。

This account is NOT verified.
 ⇒リアル口座であり、認証パスワードが違うときに表示
  EAは稼働しません
This account is verified
 ⇒リアル口座であり、認証パスワードが合致しているときに表示
  EAは正常に稼働します
This account is DEMO Account
 ⇒デモ口座であり、認証パスワード不要
  EAは正常に動作します
※稀にデモ口座と認識してくれないブローカーがあるため、その際は別途認証パスワード発行で対応
This is Testmode
 ⇒ストラテジーテスターで動作中、認証パスワード不要
  検証のみ可能

 以上です。どうでしょうか?配布側もユーザー側もわずらわしさが大幅に少なく、バランスの取れた方法ではないでしょうか?
 購入いただくと、この方式を導入するための以下ソースコード一式を手に入れることができます。
✅change_36.mqh
 ⇒口座番号からパスワードを生成するヘッダファイル
 ※chenge_36.mq4、password_check.mq4をコンパイルするときに必要
  ユーザーに配布不要
✅change_36.mq4
 ⇒口座番号からパスワードを発行する実行ファイルのソースコード
✅password_check.mq4
 ⇒配布するEAに入れるソースコード

EA配布している人、したいと考えている人!
いちいちコンパイルが面倒だと思っていた人!
Webサーバーまで準備したりするのが面倒だと思っていた人!

ぜひ導入を検討してみてくださいね!

ここから先は

5,161字 / 4画像 / 1ファイル

期間限定!Amazon Payで支払うと抽選で
Amazonギフトカード5,000円分が当たる

この記事が気に入ったらチップで応援してみませんか?