見出し画像

売買システムレビュー Time frame identification system

皆さん、こんにちは。toyolabです。

今回は、売買システムレビューの2回目です。ActiveTraderの2012年4月号に掲載されていた売買システムを紹介します。

Time frame identification system

これは、直訳すると、「時間枠同定システム」といったところでしょうか。ただ、個人的には「時間枠」より「タイムフレーム」の方が好みなので、「タイムフレーム同定システム」、あるいは単に「システム」と呼ぶことにします。

タイムフレームとは、ローソク足チャートで、それそれの足が表す時間間隔のことです。日足チャートなら1本の足が1日を表すのに対して、1時間足なら1本で1時間の値動きを表すといった具合です。MT4/MT5を利用されている皆さんにはお馴染みだと思います。

タイムフレームが異なると、当然チャートの形状も異なります。通常は基本となるタイムフレームを決めて売買システムを構築するかと思います。ただ、そのタイムフレームはどうやって決めればよいでしょう?

このシステムでは、あらかじめタイムフレームを決めておくのではなく、すべてのタイムフレームでテクニカル指標を算出しておき、シグナルが出たタイムフレームでトレードを行おうというものです。

タイムフレームの異なる複数のシステムを同時に動かすのと同じですが、一度にオープンできるポジションは一つという点が異なります。

売買ルール

売買ルールを構築するための準備として、候補となるタイムフレームを5分足、15分足、30分足、1時間足、4時間足、日足の6種類とします。元の記事では4時間足の代わりに3時間足を使っていましたが、MT4のタイムフレームに合わせて4時間足を使います。MT4/MT5の表記を使って、それぞれ、M5、M15、M30、H1、H4、D1と表します。

使用するテクニカル指標は指数平滑移動平均(EMAと、平均方向性指数(ADXとします。以下のルールでタイムフレームの選択、および仕掛け売買シグナルを生成します。

タイムフレームの選択
各タイムフレームのチャートで14バーADXを算出します。これが一定値(元記事では30ですが、ここでは25とします)を超えているタイムフレームのなかで最も長いものをトレード対象のタイムフレームとします。
仕掛け売買シグナル
選択したタイムフレームのチャートで20バーEMAへのタッチを逆張りの売買シグナルとします。

このルールだけだとわかりにくいのでチャートで説明します。

画像1

これは5分足のチャートですが、その他のタイムフレームのテクニカル指標も表示しています。

まず、下のウィンドウにADXが表示されています。このチャートの左側を見てもらうと、複数のタイムフレームでADXの値が25を超えています。そして、そのなかで最も長いタイムフレームは1時間足(H1)なので、H1を選択します。ここで注意することは、ADXの値が最も大きいタイムフレームではなく、25を超えているタイムフレームのなかで最も長いタイムフレームを選択するということです。

これで、H1を選択したとすると、次に上半分のチャートでEMAの動きを見ます。ADXでは+DI、-DIのラインは表示していませんが、価格がEMAより上にあることから上昇トレンドだとわかります。

ここで、すぐに買いシグナルを出すのではなく、価格がH1のEMAまで戻ってきた押し目で買いシグナルを出すようにします。

この売買シグナルで成行売買が行われれば、決済は以下のルールで行います。

決済シグナル
売買したタイムフレームと同じチャートのADXが20を下回ったときに決済します。

タイムフレームを選択しても売買シグナルが発生しないこともあります。
ただ、タイムフレームの選択は常に行っているので、選択されるタイムフレームがH1からほかに変わると、新たに選択されたタイムフレームのチャートのEMAの動きで売買シグナルを待つことになります。

バックテスト

このシステムを以下の条件でバックテストしてみます。

ツール:Alpari MT5
通貨ペア:USDJPY
タイムフレーム:M5(実際にはコード中で選択したタイムフレームでトレード)
モデル:全ティック
期間:2019.07.1~2021.07.01
Lots = 0.1; //売買ロット数
EMAPeriod = 20; //EMAの期間
ADXPeriod = 14; //ADXの期間

今回のシステムはタイムフレームが変化するので、MT5のストラテジーテスターのタイムフレームの設定は何でも構いません。日中足のタイムフレームを含むので、2年間でバックテストしてみます。

結果は以下のようになりました。

スクリーンショット 2021-07-23 112853

結果的にプラスになりましたが、最大ドローダウンも大きく、あまり安定した結果とはなりませんでした。

ちなみにMT5では、さらに多くのタイムフレームが使えるので、M5, M15, M30, H1, H4, D1に加えて、M6, M10, M12, M20, H2, H3, H6, H8, H12 を選択の候補とすることができます。全部で15種類のタイムフレームから選択するとどうなるでしょうか?

先ほどと同じ条件でバックテストすると、以下のような結果となりました。

スクリーンショット 2021-07-23 114446

大きな違いはありませんでした。タイムフレームが多けりゃいいってことでもないようです。

実は元記事では、手仕舞いの条件として、20EMAでエントリーしても、さらに逆行して40EMAまで達したら損切りするというルールと、エントリーしたタイムフレームに関係なく5分足チャートで18バー、偏差2.0のボリンジャーバンドにタッチすると利食いするというルールが追加されていました。

しかし、そのルールをそのまま実装すると結果が完全に右肩下がりになるので、今回は外しています。以下のコードにはそのロジックも追加してあるので、興味のある方は試してみてください。

コード

以下の共通ライブラリを利用したコードです。今回は、紹介したシステムのEAに加えて、マルチタイムフレームのADXとEMAを表示させるカスタム指標のプログラムも掲載しています。いずれもMT4、MT5のどちらでもコンパイルして使えるコードです。

本記事で提供するプログラムの著作権は、toyolabが所有します。本プログラムは、個人的に利用する限り、自由に改変して使っていただいて構いません。ただし、本プログラムに基づく行為の結果発生した障害、損失などについて、著作権者は一切の責任を負いません。

ここから先は

3,303字 / 1画像 / 3ファイル

¥ 200

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?