MT5のパラメーター設定のexternがうまく動作しない件ついて
MT5のプログラム内で数値を変更する場合は、externを使ってパラメーターを設定します。
今回のMT5ではexternがうまく機能しなかったので、inputを使用してパラメーター設定しました。
※inputを使用した外部パラメータの値は変更ができません!
異常値を入力されるのを防ぐ目的で、以下のようなプログラムコードを書いていたのですが、コメントアウトして機能しないようにしました。
//■□■□■□■□■ 不正なプロパティの入力防止設定 ■□■□■□■□■
/*
if ( Sensitivity <= 0 ){
Sensitivity = 1;
}
*/
これで感度やその他のプロパティが正常に動きます。
MT5の文字列の連結がうまく動作しない件ついて
string で設定した引数同士の連結は記号 “+” を使って連結することが可能です。
↓修正前↓
string str = StringFormat(“■売買停止中です。” , MinuteTime , “分に売買開始\n”);
↓修正後↓
string str = “■売買停止中です。” + MinuteTime + “分に売買開始\n”;
カンマ,で区切っていた連結を+に置き換えます。
StringFormatとかの関数は必要ありません。
カッコ()も必要ありません。
マジックナンバーをプロパティで変更できるように修正
プログラム中で使用している以下のコード
//マジックナンバー
define MAGIC 20210305
上記を下のように書き換えることでプロパティ画面で変更できるようになりました。
//マジックナンバー
input int MAGIC = 20210305;
オーダー関連の関数をどこまでカスタマイズするか?
テンプレートや公式サイトのプログラムをコピペして、ようやく動いたMT5のEAですが、
ポジションを集計して決済するオーダー関連の関数が複雑で、整理するのに時間がかかります。
とりあえず思った通りの動作が確認できたので、オーダー関連の関数はそのままにして、複数のインジケーターを組み合わせて最高のEAを作るべく、開発を継続していこうと思います。
結果の方は随時、プログやYouTube、Twitterで報告します。
それでは最後までお読み頂きありがとうございました。