FXでシステムトレードをしているとどうしても複数のインジケーターを組み合わせた複雑なシステムを作りたくなってしまうのですが、あまりにも凝り過ぎてしまうと売買シグナルが滅多に出ないような使いにくいシステムになってしまいます。
使いにくいだけならいいのですが、これらのシステムは過剰フィッティングになりやすいので実運用で結果が出ないこともよくあります。
そんなわけでシステムはシンプルなのが一番使いやすいというのが現時点での結論なのですが、シンプルで機能するシステムを作るのはこれまた大変です(笑)
シンプルなシステムを作ろうと思ったらあまり難しく考えずに移動平均線を使っておけば間違いないかもしれません。なんといっても過去の価格の平均がラインになっているだけのシンプルなインジケーターを使うわけなので複雑になりようがありません。
初心者でも移動平均線を見ればトレンドの方向がなんとなくわかると思うので、インジケーターに迷ったらとりあえず移動平均線を使っておけばいいのではないでしょうか。
今までも移動平均線を使ったシステムはいくつも作ってきたのですが、トレンドが発生していない状況で負けが続いてしまうのでパフォーマンスの安定したシステムを作るのは簡単なことではありません。
レンジフィルターを入れることで多少は改善されますが、相性のいいレンジフィルターを作るのはかなり大変です^^;
そこで今回は売りと買いのエントリー条件に一工夫することでレンジフィルターを兼ね備えたロジックを考えてみました。
移動平均線を使った売買ロジックといってまず思い浮かぶのは何でしょうか?
人によって違いはあるとは思いますが、私の場合は移動平均線クロスを使ったシンプルな売買ロジックです。
短期と長期の2本の移動平均線を使ってゴールデンクロスで買いエントリー、デッドクロスで売りエントリーするという簡単なロジックでトレンドが発生しているときにはかなり稼ぐことこが出来ます。トレンドが発生していないときはボロボロですが(T_T)
この移動平均線クロスを普通に使ってしまってはレンジ相場でやられてしまうので、今回はパラメータの中にある適用価格を変えることでレンジ相場を回避することを狙っています。
移動平均線の適用価格は通常Closeを使用していると思いますが、Close以外にもOpen、High、Low、Median Price、Typical Price、Weighted Close、Previous Indicator’s Data、First Indicator’s Dataなどがあります。
これらの中で馴染みのあるのはOpen(始値)High(高値)、Low(安値)の3つですが、HighとLowの数値は移動平均線のレンジを知ることが出来るので特に重要です。
期間1の移動平均線の適用価格をHighとLowに変更すると以下のようになります。赤がHighで黄色がLowですね。
2本のラインにより太いバンドが形成されているのがわかるのではないでしょうか。
この2本のラインで囲まれたバンド(以下ハイローバンド)を1本の移動平均線と考えることで、エントリー条件を厳しくしようというのが今回のロジックの考え方です。
このハイローバンドは短期移動平均線として使います。
買いエントリー
ハイローバンドが長期移動平均線を上抜ける
売りエントリー
ハイローバンドが長期移動平均線を下抜ける
このように考え方は非常に簡単です。
下の画像ですと赤い丸で囲んだ部分でクロスが発生しています。
通常のクロスよりは条件が厳しくなるので騙しのクロスを回避することが出来るのではないでしょうか。騙しを回避できるメリットはあるのですが、通常の移動平均線クロスよりもクロスの判断が若干遅れるというデメリットもあります。
このようなデメリットの影響をできるだけ受けないように損切りは小さく、利益確定は大きくしたほうが良さそうですね。
ハイローバンドの期間を20、長期移動平均線の期間を50にしてバックテストをすると以下のような収益曲線を描いてくれます(ストップロス:100pips、テイクプロフィット:300pips)。
このEAを最適化すると結構いい収益曲線を描いたりしてくれるので決済ロジックを煮詰めていけばかなりいいシステムになるかもしれませんね。
損小利大を基本コンセプトにできるだけ利を伸ばすようなロジックを追加していきたいと思います。
MT4のEAだけでなくトレードステーションのストラテジーなどにも移植できるような汎用性の高いロジックを作り上げていきたいですね、
コメント
ふと、何方がオリジナルなのかな?っと思ったので
https://www.gogojungle.co.jp/finance/navi/6854?fbclid=IwAR2xnmnWOs7uhtBYCcNVnAZgjS1GFJfkeq8HcFv-DuPUYEcEHlKdbm6AGPE