2種類のCCIと移動平均線を使ったデイトレード手法を検証

   2018/08/02

今日はCCIと移動平均線を使った手法を検証していきます。

2種類のCCIと移動平均線を使ったデイトレード手法

仕掛けと手仕舞いの条件

買いの条件

1.EMA34を価格が上抜ける

2.CCI14が0より上

3.CCI50が0より上

売りの条件

1.EMA34を価格が下抜ける

2.CCI14が0より下

3.CCI50が0より下

これだけです。

手仕舞い条件

損切りは15pipsを基本として臨機応変に対応。

利益確定はある程度利益が出ていて、EMA34を価格が逆に抜けた場合(買いの場合、下抜け)

・・・条件がガバガバすぎぃ・・・(困惑)

※詳細はFX Worksをご覧ください。(これはFX Worksに投稿されていた手法です)

MetaTrader4でプログラミング!

ガバガバ条件のところはどうしましょうか・・・。

コンピューターに曖昧な条件を与えるのはとても難しいのです(笑)

まず、損切りは15pips固定としましょう(とりあえず)

利益確定も「ある程度利益が出ていて」の部分は無視して逆に抜けたら手仕舞いとします(とりあえず)

移動平均線付近で上下するとダマされると思いますが・・・。

これだけ単純化すれば(過去作ったものの流用で)10分とかからずプログラミングできます。

double MA = iMA(NULL,0,34,0,MODE_EMA,PRICE_CLOSE,1);
double CCIshort = iCCI(NULL,0,14,PRICE_CLOSE,1);
double CCIlong = iCCI(NULL,0,50,PRICE_CLOSE,1);
double close = Close[1]; double open = Open[1];

MAとCCIは関数を実行して取ってくるだけ。それと一本前(確定している足)の始値と終値も取得します。

買いの条件

if(CCIshort > 0 && CCIlong > 0 && close > MA && open < MA)

CCIは0より上を確認するだけ。

MA上抜けは始値がMAより下、終値がMAより上・・・つまり、ローソク足の実体が上へ抜けたことを確認して仕掛けることにしました。

とりあえずこれでバックテストを実行してみます。

バックテスト実行

WS000383 (3)

※ユーロ円 2014年1月1日~2015年2月13日[MACD_Mom_ParSAR_EA.ex4]

CCI2MAEURJPY

意外と頑張ってますね・・・もっとダメだと思っていました(笑)

強いトレンドが発生すれば大きく取れますが、弱いトレンド・レンジ相場ではダマされます。

手仕舞いの変更

固定の利食いポイントを用意します。(60~100pips程度を想定)

価格がMAと逆にクロスした場合には損切りと同程度(15pips)の利益でも確定とします。 これでどうでしょうか!?

CCI2MAEURJPY_TEJIMAI

ぼぼトントンになりました!(微益)

まだ最適化していませんので、これで勝ち確です(笑)

(僕が思いつきで設定したパラメータが最適値であるわけが無く、今までの検証で「トレード時間の制限」が不要だった例はありません。トレンドフォローにせよ、カウンターにせよ、有利な時間帯・不利な時間帯というのがあります。)

手仕舞いの最適化

損切り、利益確定の値を最適化しました。 損切りは20pips、利益確定は30pips(MAとの逆クロス時も30pips)です。

CCI2MAEURJPY_Opt1

なにやら良さげな感じです。

しかし、トレンドフォローにも関わらず利益を伸ばせていないのが気になります。(経験上、期間を変えると上手くいかないパターン

試しに2012年~2014年でバックテストしてみます。

CCI2MAEURJPY_Opt2

はい、予想通りですね(笑)

「損切りは素早く、利益はできるだけ伸ばせ」がトレンドフォローの基本です。

というわけで、損切りは20pips、利益確定は100pips、MAとの逆クロスは20pipsとしました。

2014年1月1日~2015年2月13日

CCI2MAEURJPY_Opt3

2012年~2013年

CCI2MAEURJPY_Opt4

うーむ・・・あんまり良くないですね・・・。

2013年後半からまったく機能していないのが気になります。 原因は調べないとわかりませんが・・・(何かありました?)

トレード時間制限(フィルタ)の追加

最後に(いつもどおり)トレード時間の制限を追加していきます。 ※UTC4時~14時(日本時間13時~23時)

CCI2MAEURJPY_Time1

なにやら良さげです(笑)ロンドン市場よりも早めに仕掛けた方が(最適化では)うまくいっています。

では、試しに長期間のバックテストをしてみます。

2011年~2015年2月13日

CCI2MAEURJPY_Opt5

2013年の後半でどうしても利益が減ってしまいますが、それ以外はまずまず機能していますね!

結論

この手法に優位性はありそうです。

・レンジになるとどうしても損切りを連発するので、その辺りをどう回避するか?

・2013年後半はなぜ上手くいかないのか?

これらを解決することで、もっと良くなると思います。

  • このエントリーをはてなブックマークに追加
  • Pocket

コメント一覧

  1. 軒下のネコ より:

    こんばんは。

    私のEAにも取引時間を制限するフィルターを入れてみましたが、フィルターを入れた方がPFが改善しましたし、ドローダウンが1%台まで向上して驚きました。
    EA開発にはまりそうで怖いです(笑)

    やはり感覚的に動かない時間というのは分かっているつもりでしたが、EAにしてみるとドローダウンもPFも改善しているのを見て動かない時間を避けた方がいいのを実感ています。

    ところでemijaさんは、ご自分で組まれたEAを実際に実運用しようと考えられる基準をなにかお持ちでしょうか?

    もちろんPFが高くてもドローダウンが大きいという様なバランスが悪いのは問題だと思いますが、もしなにか実運用するかどうかの基準をお持ちであればお教え願えればと思い書き込ませていただきました。

    お忙しい中、恐れ入りますがご教授いただければ幸いです。

    • emija より:

      回答が遅くなりましてすみません。(気づいて無かったです;;
      基準・・ですか・・・。あんまりないですw

      回数がある程度あって(数百回以上)
      大きく損失が出るような期間がなく(ドローダウンが大きくない)
      コンスタントに稼いでくれそうだなと思ったらとりあえずデモ口座で動かします。
      1ヶ月くらい動かしてみて問題なさそうだったら最小ロットで実運用開始です。
      後は動かしながら慎重にロットを上げていきます。

      参考になるかどうか・・・;;

  2. 通りすがり より:

    裁量ユロ円で試してみたのですが全く勝てません(;_;)
    20ppストップにかからず100ppなんて一ヶ月に一回くらいしか取れないです…。
    レンジですぐに20ppストップなんて狩られるし、指標やオセアニアタイムでスプが10くらい広がって狩られることも…。
    EAバックテストで良い成績が出ても、裁量ではダメってことなんでしょうか?

    • emija より:

      バックテストで良くても、リアルでは勝てないということはありえます。

      バックテストでは「スプレッドが広がる」というのはシミュレーションできません…。
      (MT4のバックテストではスプレッドが固定になります)

      裁量で(というかリアル口座で)勝てるかどうかは、私の方では材料を持っていないのでわかりません・・・
      また、最後に書いたとおりにレンジ相場をどう回避するか?ということ考えなければならないと思っていますし、裁量でやられるのであれば、指標発表やオセアニアタイムはトレードを控えられた方が良いのではないかと思います。(ポジションを持っている場合には閉じてしまう)

      それと、できればご自身でバックテストして確認されることをおすすめします。
      (プログラムが組めなくても、過去チャートを見ながら確認することはできます)

  3. 通りすがり より:

    やっぱりそうですよね…レンジで1日に5回も6回も損切りさせられちゃ勝てるわけがないです。
    100pp狙って長く持っても、指標やオセアニアタイムでスプ広がって狩られるので、利益も伸ばせない。
    レンジ相場を回避する方法がない限り、この手法は封印する事にします。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。