インジゲーターに利用期限の制御をつける方法

sitemap
世界最強のFXキャッシュバックサイト
インジゲーターに口座番号の利用制御をつける方法
公開日:2018/06/19
前回、「インジゲーターに利用期限の制御をつける方法」という記事を書きました。

日付や時間を指定して、制御をかける方法も有効的ですが、これだけだと、 誰でもその期間内であれば、

インジゲーターやEAを利用することができてしまいます。

そこで今回は、指定した口座番号でのみインジゲーターを利用することができるように制御をつけてみます。

以下から作成過程を説明していきます。
準備
今回は、利用制限に口座番号を指定する場合を例に紹介していきます。

わかりやすいように自作したインジゲーターにコードを追加して結果を見ていきます。

前回同様に、利用したインジゲーターは、「UP DOWN ARROWS」です。

このインジゲーターは、陰線なら下矢印、陽線なら上矢印を表示するというシンプルなものです。
UPDOWNARROWS
ソースコードの説明
まず、制御をつける場所ですが、前回はOnInit内にコードを追加した場合、

チャートを切り替えたり、MT4を再起動しない限り、インジゲーターが正常に動き続けて、

矢印が表示されてしまうということがわかったので、

今回は、start内だけにコードを追加していきます。

■グローバル変数の設定

start()の中で利用する変数を宣言します。
①int flag = 0;

■start内に追加するコード

start()の中で処理をします。以下、start内に追加したコード。

今回は、わかりやすいように口座番号が一致した場合にもアラートを鳴らしています。

①if(AccountNumber() != 1234567 && flag == 0){
②Alert("無効な口座番号です。");
③flag = 1;
④return(INIT_FAILED);
}

⑤if(AccountNumber() == 1234567 && flag == 0){
⑥Alert("利用可能な口座番号です。");
⑦flag = 1;
}

①if(AccountNumber() != 1234567 && flag == 0){
ここで、口座番号のチェックをします。
今回は、口座番号が1234567ではなければという条件を指定。
そして、アラートを連続で鳴らさないためにflagで制御します。

②Alert("無効な口座番号です。");
口座番号が間違っていたら、アラートを鳴らして、メッセージを表示させます。

③flag = 1;
アラートを連続で鳴らさないようにフラグを立てます。
本当は、bool変数でtrueとfalseの判定で...。

④return(INIT_FAILED);
インジゲーターを強制終了させます。

⑤if(AccountNumber() == 1234567 && flag == 0){
ここで、口座番号のチェックをします。
今回は、口座番号が1234567であればという条件を指定。
そして、アラートを連続で鳴らさないためにflagで制御します。

⑥Alert("利用可能な口座番号です。")
口座番号が一致していたら、アラートを鳴らして、メッセージを表示させます。

⑦flag = 1
アラートを連続で鳴らさないようにフラグを立てます。
本当は、bool変数でtrueとfalseの判定で...。

それでは、コンパイルして実行してみます。

実行結果
今回は、口座番号が1234567でなければインジゲーターを稼動させないという制御をつけました。

まず、口座番号が1234567でない場合でインジゲーターを稼動させてみました。

パターン①

ちゃんと、アラートを鳴らし、矢印も表示されませんでした。

次に、口座番号が1234567という口座はないので、ソースコードの口座番号を実行するMT4の口座番号に変えて実行します。

パターン②

こちらもちゃんと、アラートを鳴らしてくれました。

そして、チャート上には矢印が表示されました。(今回は結果画像は省かせていただきます)
まとめ
いかがだったでしょうか?

今回は、口座番号に制御をつけることができました。

これを利用することによって、利用者を限定することが可能です。

さらに、前回の利用期限もつければ、より制御が強いインジゲーターが作成できます。

そして、これ以外にも業者名やアカウント名などでも制御をかけることもできるので、制御ガチガチのインジゲーターも作ることができます。

このあたりの制御については、また別の日に詳しく紹介していきます。

それでは、また。
今回使用したMQL一覧
関連ページ
スポンサードリンク
Twitter