見出し画像

売買システムレビュー Channel Midpoint Indicator

売買システムは時代とともに変化しています。最近ではAIとか機械学習とかが流行りですね。

そういう時代でも、これからシステムトレードをやってみたいと思われる皆さんには、まずはシンプルな売買システムから始めることをお勧めします。

シンプルなシステムはCodeBaseにも多数掲載しています。これらをコピーして使っていただいてもいいですし、慣れてくれば、独自のアイデアをプログラムしたくなるかもしれません。

これから、CodeBaseでのサンプルを増やすために、ActiveTraderMagazine に掲載されていた売買システムのなかでもプログラム化しやすいものを中心に紹介していきます。

Channel Midpoint Indicator

今回取り上げるのは、Currency Trader(May 2006)に掲載されていたシステムです。

Channel Midpoint Indicatorとは何か?ですが、下のチャートを見てください。

画像1

これは、過去の一定期間の最高値と最安値を結んだHLバンドというテクニカル指標です。そして、この上下のラインの真ん中(足して2で割ったもの)のラインがChannel Midpoint Indicatorです。

HLバンドを売買システムとして使う場合、終値が上位ラインを上にブレイクしたときに買いシグナル、終値が下位ラインを下にブレイクしたときに売りシグナルを出すような考え方がポピュラーです。

この考え方は、CodeBaseでも「HLバンドのブレイクアウト」として紹介しています。

ただし、今回はHLバンドの上下ラインは利用せず、中央ラインのみを利用します。

売買ルール

期間を変えた2種類のHLバンドを用意します。そして、短期HLバンドの中央ラインと長期HLバンドの中央ラインの交差を利用して売買シグナルとします。

画像2

このチャートで赤いラインが短期ライン、青いラインが長期ラインです。ここでは、短期ラインが長期ラインを上抜いたところが買いシグナル、短期ラインが長期ラインを下抜いたところが売りシグナルとします。つまり、順張りシグナルです。

売買ルールは以下のように書けます。

買いシグナル:2本前から1本前にかけて短期HLバンドの中央ラインが長期HLバンドの中央ラインを下から上に交差したとき
売りシグナル:2本前から1本前にかけて短期HLバンドの中央ラインが長期HLバンドの中央ラインを上から下に交差したとき
決済シグナル:保有ポジションと逆の売買シグナルが発生したとき

2本のラインの交差といえば、2本の移動平均線の交差と似ています。ただ、HLバンドの上下ラインは、一定値を維持することが多いので、中央ラインも一定値を維持しながら階段状に変化します。

移動平均線の場合、保ち合いの場面で頻繁に交差し、ダマシのシグナルが発生することがあります。それに対して、HLバンドの場合、指標値の微妙な変化がないので、ダマシのシグナルをある程度避けることができるという特徴があります。

バックテスト

このシステムを以下の条件でバックテストしてみます。使ったツールはAlpari MT5です。

シンボル:USDJPY
タイムフレーム:Daily
期間:2011.07.01~2021.07.01
Lots = 0.1; //売買ロット数
FastPeriod = 150; //短期HLバンドの期間
SlowPeriod = 250; //長期HLバンドの期間

バックテストの結果です。

画像3

画像4

HLバンドの期間が150日、250日とかなり長期間となっていますが、これは元記事の値を使用しています。ただ、15年前の記事なので、期間が適当かどうかはわかりません。一応損益はプラスとなっていますが、20年間のバックテストで23回のトレードしか行わないので、EAとして自動売買させる必要性はあまりないかもしれません。

パラメータの最適化

やはり、15年前の相場と今の相場が同じとは言えないので、システムのパラメータの最適化を行ってみます。

それぞれのHLバンドの期間を10から250まで10刻みで変えてみます。評価値は最終損益とします。

画像5

結果を2Dグラフで表したものです。

画像6

このグラフで横軸が短期HLバンドの期間、縦軸が長期HLバンドの期間です。順張りを想定した売買ルールとしているので、本来なら「長期期間>短期期間」の領域で良い結果がでるはずです。しかし、結果の良いとされる色の濃い領域は赤いラインの右下の「長期期間<短期期間」の部分に多く現れています。

つまり、バックテストした条件では、このシステムは順張りより逆張りシステムとして機能しているということになります。

参考のため、HLバンドの期間を

FastPeriod = 190; //短期HLバンドの期間
SlowPeriod = 130; //長期HLバンドの期間

と設定してバックテストした結果を示します。

画像8

画像8

プロフィットファクターが4.04と良すぎるので、オーバーフィッティングだと思いますが、機能するシステムが変わったということは、時代とともに相場も変わったということでしょう。

コード

このシステムのMT4/MT5用EAのコードですが、著作権を無視してコードだけ一人歩きすると困るので、必要な方のみ有料記事として提供させていただきます。

なお、本コードはMQL4/MQL5共通ライブラリを利用することを前提に作成されています。共通ライブラリの入手方法、利用方法については、以下のkindle本をご覧ください。

ここから先は

2,074字 / 1ファイル

¥ 100

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

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