マルチタイムフレーム・インディケーター - ページ 377

 

Mtf

mladen様

この下に添付されているインジケータをMTFバージョンにする必要があります。

ありがとうございます。

ミカエラ

ファイル:
 

クリスティーナ

この説明は、私が考えていたことと同じだったので、とても気に入っています。一般的に、ほとんどのMTFインジケータは、下のチャートのn個の時間帯をカバーするフラットラインとして結果を表示するか、または下の時間帯の最後のポイントと現在のバーを結ぶ直線を得るように補間されます。しかし、両方の時間枠に共通するバー時間まで時間が経過すると、共通時間に達するまで、平坦な線が上下するか、補間された線が傾きを変えます。これによって、インジケータはn個の時間帯で「再描画」されることになります。その結果、このインジケータを見ると、実際のパフォーマンスよりも歴史的に良いパフォーマンスになっています。

バージョン2やバージョン5のように、上位時間軸の中間結果を下位時間軸のチャートバッファに保持した状態で表示することができればと思います。ビデオで説明されたように、インジケータの開始時間より前のバーは、下の時間枠期間の価格から計算できるようにカスタムプログラミングが 必要です。バージョン2は、インジケータを開始する時間より前のバーの時間は「再描画」され、後の時間は正しく表示されるとのことでした。これは正しいですか?

私の解決策は、低い時間枠と高い時間枠の間のバーの倍数の間に "リペイント "短い期間の高い時間枠を使用するのではなく、低い時間枠で指標のためにはるかに長い期間を使用することです。

Tzuman

 

投稿#3802のv5バージョンの例

私の投稿#3802に続き、Simple Moving Averageを使ったv5の例を早速作ってみました。比較のため、v4も作ってみましたので、バックテスト動作の違いを皆さんにお見せします。デモの動画は以下をご覧ください。

MTF2.mp4 - YouTube

もうお分かりだと思いますが、v4とv5はバックテストで「表示できない」問題を解決するためだけに作りました。フォワード取引だけなら、そんな面倒なことをする必要はない。

ただ、一番手間のかからない方法をとったので、現在は終値でSMAを表示するだけのインジケーターになっています。しかし、重要なのは、今回紹介した方法を使えば、バックテストでMTFインジケータを正しく表示することが可能だということです。

もちろん、もう一歩進んで、v2として表示させながら、バックテストにも対応させることも可能です。ただ、すべてのMTFインジケータをこの方法で作るのは手間がかかるので、不要だと思い続けています。それよりも、機能的なEAを作るためには、MTFインジケータは本当に必要ではなく、ユーザーが視覚的に見ることができればいいのです。MA、RSI、Stochなどの標準的なインジケータについては、過去のMTF戦略を実際に視覚的にテストすることが可能になるため、プログラマが時間をかける価値があると思われます。

これまでのところ、私は本当にこのように正しくバックテストで他のMTFの指標の表示を見たことがありませんが、それはちょうど私が私自身の小さな世界の外で何が起こっているかを知らないことかもしれません。

 

...

ミカエラ

これはイゴラズのボルティチャンネルストップインジケーターをちょっと見た目が違うようにしたものです。一つは「チャート上」のバージョンで、もう一つはあなたが投稿したものと同じように作られた別ウィンドウのバージョンです(同じ結果を得るには、パラメータを 同じ値に設定するだけです)。どちらもマルチタイムフレームで正常に動作するように作られています。

mchlpetrikova:
mladenさんへ

この下に添付されているインジケータをMTFバージョンにする必要があります。

ありがとうございます。

ミカエラ
 
mladen:
ミカエラ

これはigorads volty channel stop indicatorで、見た目が少し変わっています。一つは「チャート上」のバージョンで、もう一つはあなたが投稿したものに似せて作られた別ウィンドウのバージョンです(同じ結果を得るには、パラメータを同じ値に設定するだけです)。どちらも、マルチタイムフレームで正常に動作するように作られています。

Mladenさん、素敵なインジケーターありがとうございます

ただ、この指標を「ガウシアンフィルター」計算で変換したり、MA_Modeのオプションに「ガウシアンフィルター」を追加することは可能でしょうか?

よろしくお願いします。

秘密のコード

ファイル:
 

ガウシアンフィルタによるヴォルティチャネル停止 ...

シークレットコード

とにかく、igorad(彼はメタトレーダー用のボルティチャンネルストップの最初のバージョンを作った人です)に感謝しなければなりません。ガウシアンフィルターの追加については、以下の通りです(「チャート上」バージョンです。MA_Modeを4に設定すると、メタトレーダーに組み込まれている通常の移動 平均の代わりにガウシアンフィルタを計算します。

追記:前作同様、こちらもすでにmtfになっています。

secretcode:
:)

Mladenさん、ナイスなインジケーターありがとうございます

ただ、このインディケータを「ガウシアンフィルタ」計算で変換したり、MA_Modeオプションに「ガウシアンフィルタ」を追加することは可能でしょうか?

よろしくお願いします。

秘密のコード
ファイル:
 
mladen:
シークレットコード

面白いアイデアですね。

とにかく、igorad(彼はメタトレーダー用のボルティチャネルストップの最初のバージョンを作った人です)に感謝しなければなりませんね。ガウシアンフィルターの追加ですが、これは「チャート上」バージョンです。MA_Modeを4に設定すると、メタトレーダーに組み込まれている通常の移動平均の代わりにガウシアンフィルタを計算します。

PS:前回同様、今回もすでにMTFです。

:):)

素晴らしい

Mladenさん、ありがとうございます。

この美しいVoltyをありがとう、Igorad !

ありがとうございました。

シークレットコード

 
Tzuman:
クリスティーナ

あなたの説明は、私が考えていたことと同じで、とても気に入っています。一般に、ほとんどのMTFインジケータは、下位チャートのn個の時間帯をカバーするフラットラインとして結果を表示するか、下位時間帯の最後のポイントと現在のバーを結ぶ直線を得るように補間します。しかし、両方の時間枠に共通するバー時間まで時間が経過すると、共通時間に達するまで、平坦な線が上下するか、補間された線が傾きを変えます。これによって、インジケータはn個の時間帯で「再描画」されることになります。その結果、このインジケータを見ると、実際のパフォーマンスよりも歴史的に良いパフォーマンスになっています。

バージョン2やバージョン5のように、上位時間軸の中間結果を下位時間軸のチャートバッファに保持した状態で表示することができればと思います。ビデオで説明されたように、インジケータの開始時間より前のバーは、下の時間枠期間の価格から計算できるようにカスタムプログラミングが必要です。バージョン2は、インジケータを開始する時間より前のバーの時間は「再描画」され、後の時間は正しく表示されるとのことでした。これは正しいですか?

私の解決策は、低い時間枠と高い時間枠の間のバーの倍数の間に "リペイント "短い期間の高い時間枠を使用するのではなく、低い時間枠で指標のためのはるかに長い期間を使用することです。

ツマン

私が間違っていなければ、インジケータをリフレッシュしない限り、v2はリペイントしないので、あなたが望んだことを正確に行うはずです。しかし、v2はバックテストに使用することはできません。

私はv5で移動平均の サンプルを作るのに時間を費やしましたが、投稿3805で示したように、今考えると、同じ方法を使えば、更新しても直線に戻らないv2の別のバージョンを作ることができ、バックテストに使用することができます。可能性は無限大ですね。

 

MTFインジケータの詳細

以下は、私が自分のクライアント数社に送った記事ですが、より多くの人に役立つと思ったので、ここで共有します。

私は仕事柄、世界中の多くのトレードを扱っていますが、その中で最もよく紹介されるのが、複数の時間軸の条件に基づいた戦略です。それに伴い、トレーダーが自分のアイデアを試すためのツールとして、MTFインジケータを多く目にするようになりました。

しかし、これらのインジケータやMT4がMTFをどのように扱うか、特にバックテストに関して、多くの誤解があることに気づきました。MT4はMTFをバックテストできない」「MTF指標はバックテストに使えない」などと断定的に主張する人がいます。これらの発言は正確には事実ではありません。

今回は、MTF RSIを例にとって、この問題を検証してみようと思います。

まず、MTFの要素を持つシステムを自動化することは間違いなく可能で、すべてのロジックはインジケータを使わずにEA内部でコード化することができます。インジケータは取引の進捗を確認するための視覚的なツールとしては有効ですが。MTFインジケータを使用するトレーダーのほとんどは、使用しているインジケータの詳細をすべて知っているわけではありません。バックテストで使用できない理由は、その書き方にあります。

MTF RSIのインジケーターを4バージョン使ってみます。5Mのチャートで30MのRSIを表示させて取引していると仮定します。

v1: 意外と多くのMTFインジケータがこのテンプレートを使って作成されていますが、これは私にとって不思議なことで、インジケータは過去は直線を表示し、今後は5Mバーのオープニングごとに30M RSIの中間レベルを取り、バーのオープン後に現在のバーの値が更新されないのです。その結果、インジケータを更新しない限り、30M毎の直線を得ることができません。例えば、5:55に開いたバーの最終値は、5:55の時点で30MのRSIを読み取ることになります。ArrayCopySeries()関数を使用しているため、バックテストでは正しく表示されません。リペイントはしません。

v2:一見v1と似ていますが、5Mチャートの進行中、5Mバーが閉じるまで、現在のバーの値が最新の30Mチャートの読みに基づき、常に更新される点が異なります。 例えば、5:55に開いたバーの最終値は、6:00の時点で30MのRSIを読み取ります。 言い換えれば、このバーは5:30に開いた30M RSIバーの終値と同じ値を表示します。インジケータを更新しない限り、30M毎の直線を得ることはできません。ArrayCopySeries()関数を使用しているため、バックテストでは正しく表示されません。リペイントはありません。

v3: 前2バージョンとの違いは、30分毎に5Mの直線を表示し、常に最新の30Mの読みに基づき最新のバーを更新することです。 例えば、現在が5時41分の場合、5時30分、5時35分、5時40分に開いたバーは全て現在の30Mバーの読みを表示し、これらの値は6時に固定され、それは5時30分に開いた30M RSIバーの終値と同じでしょう。 ArrayCopySeries()関数を使用しているため、バックテストでは正しく表示されません。また、最新のバーを強制的に現在と同じ値で表示するため、再描画のインジケータを使用します。

v4: v3と全く同じに見えますが、ibarshit()関数を使用しているため、バックテストでは正しい値を表示することができます。しかし、ibarshit()の機能により、完璧ではありません。バックテストでは、このインジケータは各30Mバーの最終値を「すでに知って」いるので、現在のバーの値は変化せず、常に対応する30Mバーの終値となります。明らかにフォワードテストと同じではありませんが、多くの戦略では、ほとんどの場合、これで十分でしょう。また、最新のバーが現在と同じ値を表示するように強制するために、再描画インジケータがあります。

v5:私はまだこれを作成するのに苦労していませんが、理論的にはこれは間違いなく可能です。v4と同様の考え方で、iRSI()を直接呼び出すのではなく、RSIインジケータのロジックを全てインジケータ内に組み込み、その時の価格を使って現在の30M RSI値を計算することで、バックテスト環境でも完全に正しく更新されるようにする。

追記:v5での例を投稿番号3805に示しました。

上記の4つのバージョンのRSIを紹介する簡単な動画があります。フォワードトレードでは、v2もv3もトレードロジックによっては使えると個人的には思っています。

MTF.mp4 - YouTube

全体として、どのような指標を使う場合でも、その指標に何ができて、何ができないかをきちんと理解することが大切だということを、私はトレーダーに伝えたいと思っています。

ファイル:
v1.jpg  94 kb
v2.jpg  96 kb
v3.jpg  84 kb
v4.jpg  50 kb
 

傾斜方向MTF

こんにちは、皆さん

勾配方向MTF "はチャート上ではずっと機能していました。今、このインジケータをチャートに適用しても何も表示されないのですが、なぜこのようなことが起こるのか、どなたかご存知でしょうか?インジケータを添付しましたので、どなたか助けていただけないでしょうか?

ありがとうございます。

ファイル: