経済指標発表や任意の時間でEAを停止、開始できるMT4トレードツール
経済指標や任意の時間で停止・開始ができるトレードツールEATradeStop
EA(ExpertAdvisor)を時間指定や指標発表の前後で自動的に停止・再開するスクリプトプログラムです。指標情報を画面に表示する機能ももっています。
以前、同じような機能を持ったフリーソフトを開発・公開していたのですが、インストールや設定が煩雑、指標情報の誤りが多い、インジケーターからスクリプトを強引に実行する方法を採っていたため、停止処理がうまく動作しないケースがある、一部のインジケータは他所で作られたものであるため、解析・改修に手間がかかる‥といった諸問題に対処するべく新たに作り直しました。
EATradeStopの機能は以下のとおりです。
- 停止する曜日と開始時間と終了時間を指定して任意の時刻に停止・再開
- 停止する月日を指定して任意の月日に停止・再開
- 指標発表の前後で指定した時間だけトレードを停止
- 停止時にポジションクローズと待機注文のキャンセルも可能
- ポジションを持っている場合には停止せず、決済(ノーポジション)と同時に停止することも可能
- 停止に失敗した場合には警告メールを送信
- 指標情報を画面に表示
- 指定した指標(国別)を対象にできる(例:USDとJPYのみ対象 等)
- 画面から設定値(時刻指定)の変更可能(ON/OFF切り替えも可能)
- 緊急停止機能(スマートフォンなどからの停止指示)
- 証拠金維持率停止機能
- 過大損失緊急停止機能
- 恐怖指数(VIX)停止機能
MT5版を開発しました。MT5版のご購入は以下からお願いします。
時刻指定による停止機能
パラメーターで指定した時刻で停止します。図のように左上に「停止する時刻」が表示されます。
指定は曜日と時分です。指定する時刻は日本時間で指定してください(既定値)
※パラメーターで時刻の基準値を変更することもできます。
24時間停止することも可能です。その場合には0:00~0:00を指定します。
「金曜日は丸一日停止したい」という用途などに使用できます。
10パターンまで登録可能です。
月曜日は0:00から16:00まで停止。火曜日から金曜日までは3:00から8:00まで。土曜日は0:00以降停止‥といった停止計画を作ることができます。
月日指定による停止機能
パラメーターで指定した月日で停止します。上画像の様に「停止する月日」が表示されます。
指定は月/日(MM/DD)です。指定する時刻は日本時間で指定してください(既定値)
※パラメーターで時刻の基準値を変更することもできます。
指標発表前後で停止する機能
指標発表停止機能を使用する(UseNewsStop=true)にすると指標発表の前後で停止するようになります。
停止する指標の重要度(High,Medium,Low)は選択可能です。(重要度の高い指標発表のみ停止するという設定も可能です)
停止する時間もパラメーターで指定できます。
また、停止対象にする国も設定できます。ドル円のEAを使用している場合でUSDとJPYの指標のみ停止対象にしたい場合などに使用できます。
停止時にポジションのクローズと待機注文のキャンセルする機能
停止する際にポジションのクローズと待機注文のキャンセルができます。
EAを停止した状態でポジションを持ったままにすることは危険なことが多いため、クローズ・キャンセルをおすすめいたします。(「クローズ・キャンセルする」が規定値です)
例外的に「ポジションを閉じない、待機注文をキャンセルしない」マジックナンバーを指定することもできます。
また、別売(別製品)のScalTradeAssistProの擬似指値や擬似逆指値をキャンセルすることも可能です。
なお、ScalTradeAssistProはEAで開発されていますので指標発表が近い場合にはトレードを停止するようにしておくと、指標発表が近い時間に「うっかりポジションを持ってしまった」というミスも防げます。
自動トレイリング/ライントレードなど機能満載のMT4トレード補助ツール ScalTradeAssistPro
ポジションを持っている場合には停止せず、決済と同時に停止する機能
停止するべき条件になっても「ポジションを持っている場合には稼働してもらいたい」というケースがあります。
この機能はポジションが決済され、ノーポジションになるまで待ってから停止する機能です。(PositionNotStopという新機能です)
停止に失敗した場合、警告メールを送信
以前開発した無料版で「指標発表時で停止する設定をしていたが、停止に失敗して大きな損が発生してしまった」という事例がありました。
※例えば、何らかの通信エラーが発生し、ブローカーと接続エラーになっているとクローズに失敗します。
そこで最初のクローズ処理の後、数秒置いてリトライし3回リトライしてもクローズできなかった場合には指定したメールアドレスにメールを送信できるようにいたしました。(設定方法は後述)
指標情報表示機能
最大8件、直近の経済指標を表示します。既定値は日本時間ですが、基準時間は変更可能です。
なお、停止対象「国」を指定した場合には、指定した国の指標情報だけ表示されます。
表示言語は英語か日本語を選択できます。
英語を選択した場合にはLiteForex、日本語を選択した場合にはマネーパートナーズのホームページから取得します。
なお、ホームページ側に負荷がかからないように1日に1回しか取得していません。(起動時はすぐに取得を開始します)
【ご注意】取得には少々お時間がかかります。インターネット回線の速度にもよりますが、1分程度かかることもあります。(英語と日本語では日本語の方が速く取得できます)
画面から設定値(時刻指定)の変更する機能
起動すると画面に曜日と時刻指定の入力欄及び、ON/OFFスイッチが表示されます。
ONが有効になっている状態、OFFが無効状態です。
曜日指定や時刻指定の入力欄から値を変更すると、その値が適用されます。(左のEA Stop timeに設定値が適用されるまで1秒程度かかることがあります。)
メール送信設定
停止時、何らかの理由でポジションのクローズに失敗した場合「警告メール」を送信できます。メール送信を行う場合にはMT4のツール>オプションのE-メールタブで設定してください。
メールの設定方法についてはMT4のマニュアルやブローカーへお問い合わせください。
※通常のメーラーと同じ設定をします。
「テスト」でメールが送信されない場合にも申し訳ございませんがブローカーの方へお問い合わせください。(MT4の基本機能ですので、サポート対象外とさせてください)
緊急停止機能
スマートフォンなどのMT4アプリから緊急停止指示が出せます。(もちろん、通常のMT4からも指示が出せます)
緊急停止したい場合には「停止したい(EATradeStopが稼働している)口座」にパラメーターで指定した以上の指値注文を実行するとEATradeStopが「緊急停止指示」と認識して停止処理を行います。
緊急停止機能はON/OFF可能で、規定値はOFFになっています。
再稼働する場合には指値注文を削除(キャンセル)してください。
証拠金維持率停止機能
証拠金維持率が指定値を下回った場合に自動的に停止する機能です。
※停止時に強制決済する設定(CloseAllPrositions)が有効になっている場合には「停止と同時に決済が行われて証拠金維持率が回復する」ため、即座に停止が解除されます。
過大損失緊急停止機能
過大な損失が発生した場合に緊急停止する機能です。
確定した損失で停止する機能と含み損で停止する機能の二種類があります。
確定した損失で停止する機能は「(サーバー時間の)日単位」で損益を合算し、指定した値を超えた損失が発生した場合に緊急停止します。
翌日、自動的に停止が解除されます。(※金曜日はサーバーが停止しているため土日も停止し続けます。月曜日に解除されます。)
含み損で停止する機能は「現在のポジションの合算した損益」が指定した値を超えた場合に緊急停止します。
停止した場合、自動的には解除されません。EAによるトレードを再開したい場合には手動で開始してください。
恐怖指数(VIX)停止機能
CBOE(シカゴ・オプション取引所)のページにて公開されている恐怖指数(VIX)が指定した値を上回った場合や下回った場合に停止する機能です。
上回った際に停止する場合はStopVixHigherに値を入力し、下回った際に停止する場合にはStopVixLowerに入力します。使用しない方には0を入力してください。(両方入力した場合には「どちらかの条件に合致すると停止」します)
朝スキャ(早朝の取引が少ない時間帯にスキャルピングを行う)EAはVIXとの相関性があるとされており、VIXが高くなった際には停止した方が損失が低減される‥ことが多いようです。
トレンドフォロー系のEAではVIXが低い場合には停止すると良い結果になる可能性があります。
VIX値が指定した値を下回る(または上回る)と自動的に解除されます。
CBOE(VIX):https://www.cboe.com/vix/
ダウンロード(販売サイト)
価格は4,900円です。
☆【販売サイト】FX研究日記(別館)
上記はMT4版です。MT5版のご購入は以下からお願いします。
インストール方法
インストール方法やパラメーターの詳細は購入時に添付されている説明書を御覧ください。
高度な設定(任意設定)
MT4起動時に自動的にEATradeStopを起動する設定です。
この設定はパソコン(Windows)の知識がある程度必要になります。
1.テキストファイルを作成します
Script=EATradeStop
ScriptParameters=EATradeStop.set
二行追加して保存します。
なお、ScriptParametersにはEATradeStopの設定保存時につけたファイル名を指定してください。
今回はEATradeStop.iniというファイル名でMT4のインストールフォルダに保存しました。これを「起動時の設定ファイル」と便宜上呼びます。
2.バッチファイルを作成します。
@echo off
“C:\Program Files (x86)\Axiory MetaTrader 4\terminal.exe” “C:\Program Files (x86)\Axiory MetaTrader 4\EATradeStop.ini”
”MT4の実行ファイル(terminal.exe)” “起動時の設定ファイル”
と記入してファイルを保存。あとはこれを実行(ダブルクリック)するだけです。
MT4が起動すると自動的にEATradeStopが起動しますが、EATradeStopが設定されるのは一番左端に表示されているチャートです。
注意事項
リアル口座でご利用になる前に、まずはデモ環境等で動作をご確認ください。
当ツールを利用したことに関連して生ずる損害について、一切責任を負いません。(自己責任でお使いください)
ご購入者は個人使用・業務使用に関わらず自由にご使用いただいてかまいません。
当ツールの加工・販売等は禁止といたします。
なお、ライセンスは1つのご注文につき5ライセンス(5口座まで)となっております。5口座までは同時に使用できます。それ以上必要な場合には申し訳ございませんが、もう1つご購入ください。(デモ口座はライセンス不要です)
不要なライセンスは削除することができます。ソフトに同梱している「ライセンス申請説明書.pdf」に削除方法を記載しておりますので、削除したい場合にはそちらを御覧ください。
もし不具合等ございましたら当記事のコメント欄またはショップページの「お問い合わせ」からご連絡ください。
例えば複数のチャートを開いていて
指標がUSDに関するときは、USDだけ
CLOSEしたりはできますか?
GBPは指標に関係ないので、そのままOPENに
しておくなど。