UT Bot MTF
- インディケータ
-
Evgenii Sutulov
I build trading indicators, strategies, and dashboards that don't repaint.
Seven years doing this. MetaTrader 4, MetaTrader 5, TradingView.
Closed bars only. What you see is what happened.
The bar being formed never changes a published value. - バージョン: 1.3
UT Bot MTF は、ATR にもとづくトレーリングストップと、そこから生まれるドテン(反転)シグナルです。ストップは指定した ATR の倍数だけ離れた位置で価格を追い、値動きの方向へ切り上がり(切り下がり)、いったん進んだ分を戻すことはありません。価格がストップを抜けて確定すると、ストップは反対側へ移り、インジケーターは BUY または SELL を表示します。
エンジンはこれだけで、意図的に単純に保たれています。この製品がその周囲に加えているのは、実際に使えるかどうかを決める部分です。すなわち、独立した四つのフィルター、それぞれが何を捨てたかについての率直な報告、そして形成中の足のシグナルが確定済みであるかのように見せかけない情報パネルです。
必要であれば、計算全体を実際の終値ではなく平均足(Heikin Ashi)の終値から測ることもできます。その場合、反転の回数は減り、タイミングは遅くなります。
四つのフィルター
すべてのフィルターは初期状態でオフです。それぞれが市場についての別々の仮説であり、単独でオンにできます。トレンドフィルターは、上位時間足の移動平均の方向と一致するシグナルだけを残します。時間足、期間、計算方法はいずれも利用者が選びます。フィルター自身のデータより古いシグナルは判定せずそのまま残し、その本数をパネルが表示します。
セッションフィルターは、GMT の HH:MM 形式で指定した時間帯に入るシグナルだけを残します。ブローカーの GMT オフセットは手入力するか、サーバー時計から検出できます。ボラティリティフィルターは、ATR がポイントで指定した下限を下回っている間に出たシグナルを捨てます。下限が 0 のときは何も捨てず、パネルは動作しているふりをせずにその旨を明記します。ニュースフィルターは、指定した重要度以上の経済指標イベントの前後、指定した分数以内のシグナルを捨てます。参照するのはターミナル自身の経済カレンダーです。カレンダーが利用できない場合、パネルは黙ってすべてを通すのではなく、エラーの内容を明示します。
パネルは、どのフィルターがどの設定でオンになっているかを常時表示し、生シグナル何本のうち何本が通過したかを、残りをどのフィルターが弾いたかの内訳とともに一行で示します。オンになっていても仕事ができないフィルターは、自分の行でそれを申告します。
チャートに表示されるもの
現在どちら側にあるかで色分けされたトレーリングストップのライン。その下には、任意で、同じラインの太く淡い複製を重ねられるので、情報の多いチャートでも一目で読み取れます。任意でストップと価格の間の塗りつぶし。反転した足に付く BUY と SELL の矢印。さらに任意で、現在のストップ水準を価格スケール上のタグとして表示できるため、目分量で測る必要がありません。描画はすべて価格ウィンドウ内で行われます。
パネル
価格チャート上のキャンバスパネルで、ドラッグ、折りたたみ、クローズができます。表示するのは、有効な時間足、実際に使われている key value と ATR 期間、そして Heikin Ashi が有効かどうかです。直前に確定した足の結果、すなわち BUY 反転、SELL 反転、反転なしのいずれかを示します。現在の足の状態は、それが該当する間、警告色で示されます。現在の足に BUY が形成中でまだ消える可能性があるか、SELL について同じ内容か、あるいは確定足のみを使用しておりシグナルは確定時に現れる、のいずれかです。早期アラートが有効かどうか、確定の何秒前に鳴るかも示します。上で述べたフィルターのブロックも表示し、どのフィルターもオフのときは沈黙します。そして数値がプロパティ画面のものかパネルのものか、いくつ変更されたかも示します。
その下には、パネルから動かせる設定が現在値とともに並びます。歯車は三つのタブからなるシートを開きます。Values タブは、時間足、key value、ATR 期間、Heikin Ashi ソース、現在の足のシグナル、トレンドフィルターとその時間足、MA の長さと MA の計算方法、ボラティリティフィルターとその ATR 下限を扱い、各行にステッパー、値域、一文の説明が付きます。Alerts タブは、マスタースイッチ、イベント別スイッチ、四つのチャネル、分単位のクールダウン、テストアラートを扱います。Styles タブは、配色、塗りつぶし、グロー、ライン、矢印、線の太さ、矢印の大きさ、価格スケールのタグを扱い、変えるのは見た目だけです。
配色は三種類。ダーク、ライト、そして青とオレンジを用い、赤と緑を対置しない色覚に配慮した配色です。パネルの状態とシート上のすべての変更はチャートごとに保存され、時間足の変更やターミナルの再起動を越えて残ります。インターフェースは英語です。
形成中の足のシグナル
入力パラメーターにも Values タブにも、まだ確定していない足にバッファーと矢印を書き込んでよいかを決めるスイッチがあります。初期状態はオンで、オンである間はパネルが警告色でそのことを伝え続けます。オンのときは、市場が反転した瞬間にそれが見えますが、足が確定する前に反転が取り消され、矢印が消えることもあります。オフのときは、形成中の足には一切何も書き込まれません。再描画は起こらず、そのかわりすべてのシグナルは構造上一本遅れて届きます。製品は利用者に代わって選ばず、どちらのモードで動いているかも隠しません。
アラート
初期状態では鳴りません。イベントは BUY シグナルと SELL シグナルです。チャネルはポップアップウィンドウ、サウンド、モバイル端末へのプッシュ通知、電子メールで、イベント別およびチャネル別のスイッチと、既定で 2 時間のクールダウンがあります。
アラートは直前に確定した足で発火します。既定でオフのアラートがさらに二つあり、これらは形成中の足で、しかも確定までの指定秒数以内にのみ鳴ります。どちらのモードにいるかはパネルが明示するので、利用者が推測する必要はありません。Telegram はこの製品には含まれません。
マルチタイムフレーム
Timeframe 設定は上位時間足で計算し、その結果をここに描画します。読み取るのは確定した上位足だけなので、チャートの各足には、その足の時刻までにすでに確定していた最新の上位足が対応します。これはトレンドフィルターの時間足とは別物で、あちらはフィルターであって表示設定ではありません。
他系列はバックグラウンドで構築されます。最初の読み取りは空で返ることがありますが、インジケーターは再試行し、ダウンロード待ちなのか履歴が足りないのかをパネルが伝えます。足が足りないことを理由に初期化が失敗することはありません。
EA からの読み取り
バッファーは 15 本あり、すべて iCustom と CopyBuffer で読み取れます。バッファー 0 の Buy は、BUY 反転の足では矢印の価格、それ以外では EMPTY_VALUE を持ち、描画されません。バッファー 1 の Sell は SELL 反転について同じです。バッファー 2 と 3 はトレンド塗りつぶしの二つの縁、バッファー 4 と 5 はラインのグローの二つの縁です。バッファー 6 と 7 は描画されるトレーリングストップのライン(上方向と下方向)です。バッファー 8 の BuyMark とバッファー 9 の SellMark は、バッファー 0 と 1 の描画用の複製です。バッファー 10 の Stop はトレーリングストップの水準、バッファー 11 はその色インデックスです。バッファー 12 の Signal は、BUY 反転で +1、SELL 反転で -1、反転がなければ 0 です。バッファー 13 の Override は、パネルから変更された設定の個数です。バッファー 14 の Atr は、ストップの根拠となっている ATR です。
バッファー 0 と 1 は契約にあたります。決して描画されず、Styles タブの表示状態に関係なく毎回埋められ、データウィンドウにも現れます。矢印、塗りつぶし、ラインを非表示にしても、ストラテジーがシグナルを失うことはありません。契約にはフィルターがすでに適用済みなので、バッファー 0 を読む EA は、人がチャートで見るのと同じシグナルを見ます。
iCustom で生成したインスタンスは読み取り専用で、常に渡したパラメーターを使います。バッファー 13 により、チャート上のインスタンスが手で変更された数値で動いていることをストラテジー側から検出できます。
出自
本製品は TradingView の「UT Bot Alerts」の移植です。着想は HPotter によるもので、アラート版は QuantNomad と Yo_adriiiiaan が公開しました。スクリプトは公開されており、そのため数式にもとづく移植が許容されます。この実装は行単位の翻訳ではなく、数式を作業仕様として再構成したものです。
製品が手法の名を冠しているのは、実装しているのがまさにその手法だからです。オリジナルの著作は各著者に帰属し、ここでその著作者性を主張するものではありません。
正直な限界
形成中の足のシグナルがオンのとき、これが出荷時の設定ですが、現在の足の矢印はその足が確定する前に消えることがあります。該当するたびにパネルが警告色でそれを伝えます。この設定をオフにすれば、形成中の足には何も書き込まれません。確定した足はどちらのモードでも変化しません。
トレーリングストップはあくまでトレーリングストップです。レンジ相場では何度も刈られ、そのどれもが本物の反転であると同時に不出来なトレードになります。フィルターがあるのはまさにこのためですが、どのフィルターもこの問題をなくすものではなく、遭遇する頻度を下げるだけです。
ニュースフィルターはターミナルの経済カレンダーに依存します。ご利用の口座やブローカーでカレンダーが利用できない場合、フィルターは待機状態となり、パネルがエラーを明示します。動いているふりをして黙ってすべてを通すことはありません。HH:MM 以外の書式で指定されたセッション時間帯はセッションフィルターを待機状態にし、パネルはそれを伝えます。見えない理由でシグナルを捨てることはしません。トレンドフィルターは、手元にある上位時間足データより古いシグナルを判定できません。そうしたシグナルは取り除かずそのまま残し、パネルが本数を数えます。
ここでは、収益額も勝率もバックテスト結果も主張していません。

