【スプレッドの拡大や取引停止時間帯を検知して自動的にMT4をストップ!同時に指値解除やポジションの決済も可能!】
○商品概要○
本ツールをMT4にセットすると、以下のようなフィルタリング機能によりMT4の運用状況を自動的に変更することが出来ます!
・スプレッド拡大時の自動売買停止、スプレッドが元に戻った時の自動復旧
・特定の時間帯のみ自動売買を停止(毎日設定、毎週設定、特定時間指定)
・純資産額が一定以下になった場合に自動売買を停止(復帰設定も可)
・含み損額が一定以上になった場合に自動売買を停止
・窓開けが発生したときの緊急停止
・EAが暴走したときの緊急停止
・任意のEAでマイナス決済が出たときの一時停止
・一定額以上の利益に達したらその日の稼働停止
・保有ポジションがなくなったときの稼働停止
また、同時に指値設定の解除や、保有ポジションの強制決済などといったこともポジションごとに設定することが出来ます(※窓開けフィルタでは不可)。
マーケットクローズ時の週末ポジション持ち越し回避やロールオーバ時の指値約定回避、窓あけが発生したりスプレッドが拡大するような相場急変時のエントリー回避・指値約定回避といった様々な用途に使用することが出来ます!
■[trueの場合] ポジションがなくなると停止機能と連動する予備時間(秒指定)(3,600)
→「ポジションがなくなると停止機能」をtrueに設定している場合、本パラメータをtrueにすることで、下図のような「特定時間フィルタに入る前、指定した秒数前以降にポジションがなくなると先行的に停止する」という挙動を実現することができます。
→利用ケースとして、例えば雇用統計に入る前(21時)に強制的に決済するよりも、「15時以降にポジションがゼロになった瞬間に運用停止し、翌週に再開」という設定をして雇用統計に備える、といった使い方ができます。
■CSV指定による特定時間フィルタの有無(false)
→特定時間フィルタをCSVファイルで指定できるようにします。本パラメータをtrueにしても、上記のパラメータで指定する特定時間フィルタ設定は有効のままです。
→CSV指定フィルタでの指値解除、ポジション決済の有無は、本項の対象2パラメータ(特定時間フィルタ発動で指値解除するか/特定時間フィルタ発動でポジション決済するか)に依存します。
→設定内容は、本ツール適用時に読み込まれます。その際、「エキスパート」タブに取引停止対象時間が一斉出力されますので、設定に誤りがないか、念のためこちらでご確認下さい。
■[CSV指定有時]CSV特定時間フィルタを定義するCSVファイル名(TimeFilter_data.csv)
→「CSV指定による特定時間フィルタの有無」パラメータを「true」とした場合、参照元となるCSVファイルのファイル名を指定します。
(「CSV指定による特定時間フィルタの有無」が「false」の場合、ファイルを作成する必要はありません)
【窓開けフィルタ関連情報】
■窓開けフィルタの有無(false)
→窓開けフィルタがtrueの場合、ここで設定したPips以上の窓が開いた場合に自動売買が停止状態になります(ポジションの決済や指値解除機能はありません)。
→窓開けの設定値が狭い場合、マーケットオープンのみならず、極稀にある相場急変時にもフィルタが発動する可能性がありますが、仕様動作となります。
■何Pips窓開けたらフィルタ発動するか(50)
→これ以上の窓をあけると、フィルタが発動します(Pips指定)。
デフォルト設定は50Pips(=クロス円なら50銭)です。
■窓開け判定時、何時間止めるか(6)
→窓開けフィルタ発動時、指定した時間だけ取引をストップします。
デフォルト設定では6時間です。
【暴走停止フィルタ関連情報】
■暴走停止フィルタの有無(false)
→暴走停止フィルタがtrueの場合、一定期間内に一定数以上のポジションが新規約定した場合に一時停止します。
→一時停止する期間は、時間単位で指定することが可能です。
■計測間隔(秒指定)
■測定時間内に何ポジション約定したら止めるか
→計測期間内に、一定数以上のポジションが約定した場合に、異常動作発生としてMT4を停止します。
運用しているEAの最大保有ポジション数を加味して、適切な数値を設定してください
■暴走判定時、何時間止めるか
→暴走停止フィルタ発動時、何時間後に再開するかを指定します。
■暴走停止フィルタ発動で指値解除するか
→暴走停止フィルタが発動した際、指値注文を解除するかどうかを指定します。
→trueにした場合、上記「フィルタにより(逆)指値解除する場合の対象指定」で指定したマジックナンバーが指値解除対象となります。
■暴走停止フィルタ発動でポジション決済するか
→暴走停止フィルタが発動した際、保有しているポジションを決済するかどうかを指定します。
→trueにした場合、上記「フィルタによりポジションを決済する場合の対象指定」で指定したマジックナンバーが決済対象となります。
【マイナス決済フィルタ関連情報】
■マイナス決済フィルタの有無
→マイナス約定フィルタがtrueの場合、特定のEAがマイナス決済をした際にMT4を停止させることができます。
→一時停止する期間は、時間単位で指定することが可能です。
■観測対象のマジックナンバー(0で裁量ポジション、-1で全ポジション)
→マイナス決済フィルタの発動対象とするEAのマジックナンバーを指定します。
→-1指定で全ポジション、0指定で裁量ポジションが対象となります。
■マイナス決済時、何時間止めるか
→マイナス決済フィルタ発動時、何時間後に再開するかを指定します。
■マイナス決済フィルタ発動で指値解除するか
→マイナス決済フィルタが発動した際、指値注文を解除するかどうかを指定します。
→trueにした場合、上記「フィルタにより(逆)指値解除する場合の対象指定」で指定したマジックナンバーが指値解除対象となります。
■マイナス決済フィルタ発動でポジション決済するか
→マイナス決済フィルタが発動した際、保有しているポジションを決済するかどうかを指定します。
→trueにした場合、上記「フィルタによりポジションを決済する場合の対象指定」で指定したマジックナンバーが決済対象となります。
【有効証拠金額フィルタ関連情報】
■有効証拠金フィルタの有無(false)
→有効証拠金額フィルタがtrueの場合、有効証拠金額がここで設定した額未満になると取引を停止します。
■[trueの場合]有効証拠金フィルタのモード
→閾値判定を有効証拠金額の絶対値で指示するか、対残高比率で指示するかを選択します。
含み損を多く抱えるEAの場合、割合指定を行うことで緊急停止を行うことができます。
■[絶対値指定の場合]機能発動する有効証拠金の額(100,000)
→有効証拠金がこの額を下回ると、有効証拠金額フィルタが発動します。
円口座の場合は円、ドル口座の場合はドルでの額を指定してください。
■[割合指定の場合]機能発動する有効証拠金の対残高比率(50)
→有効証拠金が対残高の比率でこの数値(%)を下回ると、有効証拠金額フィルタが発動します。
■有効証拠金額が戻ったら再開を許容するか(false)
→本設定がtrueの場合、取引ストップ後に有効証拠金額が指定額を上回ると、自動的に運用を再開します。
■[絶対値指定の場合]再開閾値となる有効証拠金額(150,000)
→再開を許容する場合、絶対値指定であれば、有効証拠金額が本閾値を上回ると運用を再開します。
■[割合指定の場合]再開閾値となる有効証拠金の対残高比率(80)
→再開を許容する場合、割合指定であれば、有効証拠金額の対残高比率が本閾値を上回ると運用を再開します。
■有効証拠金額フィルタ発動で指値解除するか(true)
→有効証拠金額フィルタが発動した際、指値注文を解除するかどうかを指定します。
→trueにした場合、上記「フィルタにより(逆)指値解除する場合の対象指定」で指定したマジックナンバーが指値解除対象となります。
■有効証拠金額フィルタ発動でポジション決済するか(false)
→有効証拠金額フィルタが発動した際、保有しているポジションを決済するかどうかを指定します。
→trueにした場合、上記「フィルタによりポジションを決済する場合の対象指定」で指定したマジックナンバーが決済対象となります。
【含み損フィルタ関連情報】
■含み損フィルタの有無
→含み損フィルタがtrueの場合、含み損が一定額以上になった際にMT4を停止させることができます(再開は手動設定が必要)。
■機能発動する含み損額
→含み損フィルタが発動する含み損額を指定します。
■含み損フィルタ発動で指値解除するか
→マイナス決済フィルタが発動した際、指値注文を解除するかどうかを指定します。
→trueにした場合、上記「フィルタにより(逆)指値解除する場合の対象指定」で指定したマジックナンバーが指値解除対象となります。
■含み損フィルタ発動でポジション決済するか
→マイナス決済フィルタが発動した際、保有しているポジションを決済するかどうかを指定します。
→trueにした場合、上記「フィルタによりポジションを決済する場合の対象指定」で指定したマジックナンバーが決済対象となります。
【実現利益フィルタ関連情報】
■実現利益フィルタの有無
→実現利益フィルタがtrueの場合、当日の利益が一定額以上になった際にMT4を停止させることができます。
毎日「リセット時間」を回ると、「当日利益0」にリセットして運用を再開します。
■機能発動する実現利益額
→実現利益フィルタの閾値となる額を指定します。
■含み損益を考慮するか
→機能発動する際、保有ポジションの含み損益を考慮するかどうかを指定します。
■リセット時間(時間指定)
■リセット時間(分指定)
→利益カウントをリセットする時刻を指定します。
ここで指定した時間を過ぎると、利益が閾値を超えて運用を停止していた場合、運用を再開します。
■実現利益フィルタ発動で指値解除するか
→実現利益フィルタが発動した際、指値注文を解除するかどうかを指定します。
→trueにした場合、上記「フィルタにより(逆)指値解除する場合の対象指定」で指定したマジックナンバーが指値解除対象となります。
■実現利益フィルタ発動でポジション決済するか
→実現利益フィルタが発動した際、保有しているポジションを決済するかどうかを指定します。
→trueにした場合、上記「フィルタによりポジションを決済する場合の対象指定」で指定したマジックナンバーが決済対象となります。
○CSVファイルの設定方法○
CSVファイルを外部的に読み込むことにより、フィルタ発動時に指値解除するマジックナンバーとポジション決済するマジックナンバーを指定することが出来ます。
エクセル2003以降をお持ちの方は、添付のデータ出力マクロを用いることで簡単に設定ファイルを作成することが可能です。
<エクセル2003以降をお持ちの方>
添付の『「いろいろ条件でMT4を停止・再開!」用CSV作成マクロ(MagicNo/取引時間指定)』を用いて「MagicNos_ByFilter.csv」および「TimeFilter_data.csv」ファイルを作成します。
ファイルを開き、必要なデータの情報を入力してボタンを押すだけで簡単出力できます。
<エクセル2003以降をお持ちでない方>
添付の「[サンプル] MagicNos_ByFilter.csv」および「[サンプル] TimeFilter_data.csv」を事前にエクセルやテキスト編集ツール等で編集し、「MagicNos_ByFilter.csv」名および「TimeFilter_data.csv」で保存します。
合わせて添付している「[手動作成の手引] MagicNos_ByFilter.csv」および「[手動作成の手引] TimeFilter_data.csv」にかかれている通りにマジックナンバーおよび取引停止時間帯の一覧を作成してください。
○各種フィルタ値の設定例○
目的に応じたパラメータ設定例を以下に示します。
ご利用目的に沿った設定を自由に行ってください。
<相場急変時のエントリーを緊急回避するためのスプレッドフィルタ設定例>
■スプレッドフィルタの有無 : true
■スプレッドフィルタの閾値 : 通常時のスプレッド+数pips
■フィルタ発動保護段数 : 2~3程度
■フィルタ解除保護段数 : 10程度
■スプレッドフィルタ発動で指値解除するか : true
■スプレッドフィルタ発動でポジション決済するか : true または false
☆設定のポイント
薄商い時も含め、通常時は発動しないようにする必要があるので、閾値は高めに設定しておきます。
相場急変時に俊敏に対応する必要が有るため、発動保護段数は浅めに設定します。
相場急変時にポジションの損失拡大のリスクを防ぎたいような場合は、ポジション決済設定を行うようにします。
<定常的にスプレッドが開く時間帯の取引を回避するためのスプレッドフィルタ設定例>
■スプレッドフィルタの有無 : true
■スプレッドフィルタの閾値 : エントリーさせたくないスプレッド幅
■フィルタ発動保護段数 : 5~10程度
■フィルタ解除保護段数 : 5~10程度
■スプレッドフィルタ発動で指値解除するか : true
■スプレッドフィルタ発動でポジション決済するか : false
☆設定のポイント
時間帯でのスプレッドの開きは大きなものではないので、
正確にスプレッドの開きを判断させるために、判定期間は長めにします。
スイングトレードのポジションを決済しては困るので、フィルタ発動しても決済は行わないようにします。
<ロールオーバー時のデイリーフィルタ設定例>
■デイリーフィルタの有無 : true
■デイリーフィルタを発動させる時間(時間指定) : JSTなら5(夏時間)または6(冬時間)、EET利用業者ならば23
■デイリーフィルタを発動させる時間(分指定) : 30~50程度(※業者のトレード休止時間に従う)
■デイリーフィルタを解除させる時間(時間指定) : JSTなら6(夏時間)または7(冬時間)、EET利用業者ならば0
■デイリーフィルタを解除させる時間(分指定) : 10程度(※業者のトレード休止時間に従う)
■デイリーフィルタ発動で指値解除するか : true
■デイリーフィルタ発動でポジション決済するか : false
☆設定のポイント
ロールオーバ時に注文が入らなくなる業者などで使うと良い設定例。
注文が入らない時間帯に指値約定してしまうことを回避します。
<週末にポジションを持ち越さないための設定例>
■ウィークリーフィルタの有無 : true
■ウィークリーフィルタを発動させる曜日(日曜日) : JSTなら土曜日、EET利用業者ならば金曜日
■ウィークリーフィルタを発動させる時間(時間指定) : JSTなら5(夏時間)または6(冬時間)、EET利用業者ならば23
■ウィークリーフィルタを発動させる時間(分指定) : 30~50程度(※業者のトレード終了時間に従う)
■ウィークリーフィルタを解除させる曜日(日曜日) : 月曜日
■ウィークリーフィルタを解除させる時間(時間指定) : 週明けにトレードを開始させたい時間帯
■ウィークリーフィルタを解除させる時間(分指定) : 週明けにトレードを開始させたい時間帯
■ウィークリーフィルタ発動で指値解除するか : true
■ウィークリーフィルタ発動でポジション決済するか : true
☆設定のポイント
ポジションを持ち越さないようにするので、すべてのポジションを決済する設定にします。
ポジションをすべて決済した上で指値注文を含め以降の注文が入らなくなりますので、週をまたいでのポジションの持ち越しはなくなります。
○[参考] フィルタ発動時のポジション解除例○
パラメータの設定により、スプレッドフィルタ発動時にどのような挙動をするか、以下に例示します。
○その他の留意点○
・デフォルト設定かつ、手動作業などの外部要因により「自動売買」の状態が変更された場合、自動的に「Filter OFF」状態に移行します。再度フィルタを設定したい場合は、チャート上のボタン押下により「Filter ON」状態に遷移させてください。
・本ツールを複数起動すると、上記の競合処理が走ってしまうため正常に動きません。
(先にフィルタ発動した方の設定が残り、フィルタ発動しなかった方は「Filter OFF」状態に遷移します)
複数フィルタを管理させたい場合は、MT4を複数起動するなどで対応してください。
・本ツールのフィルタ発動はOR条件となります。
スプレッドフィルタ、デイリーフィルタ、ウィークリーフィルタ、特定時間フィルタのどれかの条件に合致する場合にフィルタ発動となり、すべての条件が外れた際にフィルタ解除となります。
・フィルタ発動時に他のフィルタ条件にかかり、その際にポジション決済などが入る場合には瞬間的に「自動売買ON」の状態になります。
この際に特定EAのエントリー条件を満たした場合に、エントリー即決済という状況が発生する可能性があります。極稀にしか発生しないと考えられますので、本仕様による動作については制約事項としてご容赦ください。
(各フィルタの指値解除条件および決済条件が同じ場合には、この事象は発生しません)
○その他○
使用可能業者の確認やパラメータ設定例の検討など、ご依頼いただければ実施いたしますのでコミュニティにてどしどしご質問ください!
GogoJungleを初めてご利用する方へ商品のご利用まではかんたん3ステップ!
GogoJungleでは、会員様向けに、あなたの投資生活を豊かにするサービスをご用意しております。また、商品のご購入は通常会員様に限られさせていただいております。今すぐ会員登録をして、Gogojungleを活用してみませんか!