EAの利用にはMT4が正しく設定されている必要があります。
MT4の設定状況はプログラムから取得可能です。
販売・配布用のEAでは事前に設定状況を確認して通知することで、
「動かない」、「取引しない」などのトラブルを回避することができます。
自動売買の許可の確認
EAが取引を行うには、[自動売買の許可]にチェックが入っている必要があります。
[自動売買の許可]はMT4のオプションと、EAの設定の全般タブの2箇所にあります。
どちらか1つでもチェックが入っていないとEAによる取引は行われません。
オプションの設定確認
MT4のオプション内の[自動売買の許可]は、TerminalInfoInteger関数を使用することで確認できます。
引数にTERMINAL_TRADE_ALLOWEDを指定するとチェックの有無を取得できます。
戻り値はチェックが入っている場合true, チェックが入っていない場合falseとなります。
if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED) == false){
Alert("MT4の設定に誤りがあります。" + "
"
+ "MT4の画面上部の[ツール]から[オプション]を開き、" + "
"
+ "[エキスパートアドバイザ]内の[自動売買を許可する]がチェックされているか" + "
"
+ "確認して下さい。");
}
EAの全般タブの設定確認
全般タブ内の設定は、MQLInfoInteger関数を使用することで確認できます。
引数にMQL_TRADE_ALLOWEDを指定することでチェックの有無を取得できます。
戻り値はチェックが入っている場合true, チェックが入っていない場合falseとなります。
if(!MQLInfoInteger(MQL_TRADE_ALLOWED)){
Alert("MT4の設定に誤りがあります。" + "
"
+ "チャート上で右クリックを行い、" + "
"
+ "[エキスパートアドバイザ]の[設定]をクリックしてください。" + "
"
+ "[全般]内の[自動売買を許可する]がチェックされているか確認して下さい。");
}
検索結果がありません。 |
検索結果がありません。 |