解決済み

MT5での利用制限のコードがわかりません

2021/02/24 14:53
624

mt5でEAの期限制限及び指定口座のみで動かしたい場合のソースコードが分かりません…。mql4は色々ネットなどで書かれてますが、 mt5でのmql5のEAの利用期限を付けたり、指定された口座のみ動かす、ソースコードを教えて頂けませんでしょうかm(__)mよろしくお願い致します。

コメント

GogoJungle
2021/02/24 17:17

下記、簡単ではございますが一例としてご参考くださいませ。
口座番号9999および2021年いっぱいご利用可能な設定となります。

   //指定口座
   long allow = 9999;   
   long login=AccountInfoInteger(ACCOUNT_LOGIN);
   if(allow != login) ExpertRemove();
   
   //期限制限
   datetime start = D'2021.01.01 00:00';
   datetime end = D'2021.12.31 23:59';
   if(TimeCurrent() < start) ExpertRemove();
   if(TimeCurrent() > end) ExpertRemove();

※OnTick()内に記載

また、mql5のサイトには他にもご利用可能な関数や使用方法が記載されておりますので、
合わせてご確認いただくとよろしいかと思います。
参考:https://www.mql5.com/ja/docs/constants/environment_state/accountinformation

Kye
2021/02/24 23:20

ご丁寧なご対応有難う御座います!申し訳ございません追加補足ですが、
下記のソースコードで
アラートで指定口座が違う場合(指定された口座ではありません)
     有効期限が違う場合(有効期限が過ぎてます)
アラート機能を使い、お知らせとして出すソースコードを教えて頂けないでしょうかm(__)m
また、追加のご質問ですが、指定された取引所のみを動かしたい場合、ライブ口座、デモ口座関係なく
取引所名が合わないとEAが起動しないソースコードを下記同様教えて頂けないでしょうか。
初心者ながらmql5について色々と調べたのですがこの3点だけが最後の難関でしてどうかご対応宜しいくお願い致します・・・。

//指定口座
long allow = 9999;
long login=AccountInfoInteger(ACCOUNT_LOGIN);
if(allow != login) ExpertRemove();

//期限制限
datetime start = D’2021.01.01 00:00’;
datetime end = D’2021.12.31 23:59’;
if(TimeCurrent() < start) ExpertRemove();
if(TimeCurrent() > end) ExpertRemove();

GogoJungle
2021/02/26 11:44

追加でいただいたご質問についての回答を下記記載いたしましたのでご確認くださいませ。

【追加】
・アラート
・取引所制限(AvaTradeさんの例になります)

   //指定口座
   long allow = 9999;   
   long login=AccountInfoInteger(ACCOUNT_LOGIN);
   if(allow != login) {
      Alert("指定された口座ではありません");
      ExpertRemove();
   }
   //期限制限
   datetime start = D'2021.01.01 00:00';
   datetime end = D'2021.12.31 23:59';
   if(TimeCurrent() < start) {
      Alert("有効期限前です");
      ExpertRemove();
   }
   if(TimeCurrent() > end) {
      Alert("有効期限が過ぎてます");
      ExpertRemove();
   }
   //取引所制限
   string company = "Ava Trade Ltd.";
   string account_company = AccountInfoString(ACCOUNT_COMPANY);
   if(account_company != company) {
      Alert("AvaTrade専用です");
      ExpertRemove();
   }
  }

会社名を調べる際には関数を使用しPrintなどで一度表示確認を行うとよろしいかと思います。
下記ご参考ください。

Print(AccountInfoString(ACCOUNT_COMPANY));
Kye
2021/03/10 03:02

大変ありがとうございました。頑張ってみます。

関連トピックス

検索結果がありません。

ノーコードで誰でも簡単EA開発!MQL言語学習にも使える! | GogoJungle

注目トピックス

検索結果がありません。