右肩上がりの資産曲線を描くEAの作り方① バックテスト編 <MT4自動売買>
有料の自動売買とかでよく見る、右肩上がり一直線の資産曲線(直線?)を描くEAの作り方を検証していたら、意外と良さげなEAが出来たので紹介します。
2020年5月4日 追記
3月16日からのフォワードテスト結果を最後に追記しました。
年末年始にトレンドラインを引くインジケータとか、残り時間表示のインジケータとか作ってたんですが、それ以降はずっとEA作りばっかりしていました。
以前のインジケータとかは下記リンクからご覧ください。
で、EAを作るにあたり、いろんな本とかブログ、YouTubeとか見て研究しました。25日のEMAとSMAがとか、RCIがとか、MACDのダイバージェンスが出たらとか。。。
2005年からの1分足をFXDDから引っ張ってきて、いろんなEAを回すんですけど、堅牢なやつってなかなか無いですね。堅牢って作りがしっかりしているって意味で、トレンドでもレンジでもどんな状態でも安定しているEAってこと。
どのEAにも言えることですが、去年は右肩上がりなのに、今年はダメダメとか、トレンド相場なら稼ぐけどレンジ相場では損失発生マシーンになっちゃったり。。。と、恒常的に安定して稼げるEAってなかなかありません。
今回は、単純なEMAとSMAのクロスでエントリーイグジットするだけのEAを元に、条件を整えて安定して稼げそうなEAを作ってみました。
25日のEMAとSMAのクロスでエントリーイグジットするだけの簡単なEA
・2018年1月1日~2019年12月31日まで 4時間足 全ティック
・USDJPY スプレッド10
・OANDA NYサーバのMT4 (初期資産10000ドル)
・ナンピンなし 1トレード1万通貨のみ
右肩上がりに資産曲線が描けています。プロフィットファクターが1.8でドローダウンが3.99%なんてかなり魅力的ですよね。これが通常なら19800円するところ、4800円です!2年で2218ドルの純益ですから、1か月で元取れますよ。
なんて甘い言葉に踊らされて、こんなEA買っちゃダメですよ!
2005年から2020年まで検証した場合
これが、2005年から検証した結果です。上記の右肩上がりは、最後の部分だけを表示しただけってことです。
ひょっとしたら、これからもこんな感じで稼げるかもしれないですし、逆に2011年のようにヨコヨコから下げるかもしれません。
結局トレード手法って、めちゃくちゃ効果ある時と、カスみたいな時があって、手動裁量でやっている人は、さらにフィルターかけて勝率を安定させているんでしょうけど、EAは真面目で正直なので決められたポイントで必ず売買します。ヤバそうなポイントだからって、エントリーを控えたり忖度はしてくれません。
でも、何とかして安定的に稼げるEAにしたい。。。
エントリーを活かして、損切と利確を決め打ちすれば。。。
そこで、上記のEMA、SMAのクロスを活かして、直近10本の高値安値を損切ポイントに、同じ幅の2倍を利確ポイントに設定してみました。
毎回のエントリーにおける損切幅と利確幅を一定の条件で決めてしまうことで、少しは堅牢性が上がるかなと思いやってみました。
結果がこちらです。
ドローダウンが32%から14%くらいにまで下がりました。先ほどの結果に比べ、資産曲線も安定したように感じます。
元々のSMAとEMAのクロスにおける勝率は40%くらい。ここで、損切幅と利確幅と2倍にすることで、損小利大となり、負けが多くても利益が大きくなるので資産曲線が安定したと考えられます。
最適化して条件を変えてみる
過去のチャートにおいて最も良かった条件は以下の通り。
・高値安値を計算する本数 5本
・利確を損切の何倍にするか 3倍
過去5本の高値安値の値幅を利用し、その値幅を損切、値幅の3倍を利確とした結果です。
利幅を2倍から3倍に伸ばした結果、勝率は35%まで下がりましたが、さらに損小利大となったため資産曲線が落ち着き、ドローダウンも11%まで下がりました。
でも、15年分検証して純益4000ドル(+40%)はしょぼいですよね。そこで売買単位を増やしてみました。
10万通貨でトレードしたら。。。
ぼろ負けです。
5万通貨なら。。。
20310ドルなんで、+200%くらいですね。
これだけでは堅牢とはいえない
ここまでやってきたことって結局、ただの数字遊びなんですよね。
2倍にしたら。。。3倍にしたら。。。
過去のチャートに無理やりカーブフィッティングさせて、最適な条件って言う名の過去チャートにおけるチャンピオンデータ。
このフィッティングさせた条件で毎年毎年、今年も来年も同じように右肩上がりの資産曲線を描けるならば堅牢と言えます。
では、上記条件で2005年からトレードしたらどうなるでしょうか?
各年の勝敗
*4時間足の始値のみで判定するので、始値のみで検証しました。
2005年 負け 1敗
2006年 勝ち 1勝1敗
2007年 勝ち 2勝1敗
2008年 負け 2勝2敗
2009年 勝ち 3勝2敗
2010年 勝ち 4勝2敗
2011年 負け 4勝3敗
2012年 勝ち 5勝3敗
2013年 勝ち 6勝3敗
2014年 勝ち 7勝3敗
2015年 負け 7勝4敗
2016年 勝ち 8勝4敗
2017年 負け 8勝5敗
2018年 勝ち 9勝5敗
2019年 勝ち 10勝5敗
2020年 ???
年単位で見ると、10回は勝ち越し、5回は負け越しているようです。
どうやら相場環境によって損益が大きく変わってしまうようです。このように、パラメータでコロコロと結果が変わってしまうEAは堅牢とは言えません。
GBPJPYの場合
異なる通貨でも同じような結果が得られるのか調べてみました。同一条件で1万通貨で、2005年から2019年を検証した結果です。
右肩上がりではあるものの、ドローダウンも大きく安定しているとは言えません。
USDJPY 1時間足を最適化させた場合
次に、判定回数を増やすため、4時間足より短い足で最適な条件を探してみました。さらに、移動平均の期間も最適化させました。
最適な条件を使った場合の資産曲線がこちらです。
*1万通貨で、2005年から2019年を検証した結果です。パラメータの条件は異なります。
なかなかいい感じになってきました。
上記条件で今年を今日まで動かした場合
今年はまだ38ドルくらいしか稼げていないとの結果になりました。
USDJPY 30分足を最適化させた場合
上記条件で今年を今日まで動かした場合
今のところは、なんとなく良さげですね。
最後に
今回紹介したEAは、EMAとSMAのクロスでエントリーして、高値安値で損切幅と利確幅を決定しただけの単純なEAです。
堅牢性を高めるため、いろいろ検証しました。
*なお、今回はもともと、
『パラメータ次第でEAの結果ってコロコロ変わるから、
インジケータを利用したEAって安定しないですよ。』
って言いたかったのですが、
予想外に良さげなEAが出来たので、方向変えました。
相場に依存しない堅牢なEAについては
次回紹介します。
コードを販売することもできますが、バックテストの検証しかできていないので、さすがにダメだろうと思い、これから1か月、XMのリアル口座でフォワードテストして追記します。
2020年5月4日追記 OANDA口座を使用しました。
ここまで読んでいただき、ありがとうございました。
2020年5月4日 追記
バックテストでかなり良さげな右肩上がりの資産曲線が得られたので、早速実弾を投じフォワードテスト検証を行いました。
・OANDA口座使用
・証拠金10万円でスタート
・5000通貨単位(0.05Lot)で運用
・30分足
・2020年3月16日 ~ 2020年5月4日
現在の資産残高はこんな感じです。
最初ちょこっと勝っただけで、あとはダラダラと負け続けています。2か月間の30分足データを用いて、フォワードとの乖離が無いかバックテスト検証も行いました。結果はこちらです。
バックテストとフォワードテストに乖離はありませんでした。どちらも大きく下げています。
上図はUSDJPYの4時間足チャートで、3月16日までがオレンジのエリア、3月16日以降が水色のエリアです。
オレンジのような大きく動くところで稼ぐことが出来るものの、水色のような横ばい部分では小さなマイナスを繰り返します。
EMAとSMAのクロスだけで判断してしまうと、ローソク足が行き過ぎた時点でエントリーしてしまうため、比較的不利なタイミングになってしまうことが多いことが原因と考えられます。
エントリータイミングを遅らせて、より安全なポイントでエントリーできるようなフィルターの導入を検討してみます。
なお、下記記事で紹介したEAはローリターンではありますが、現状安定して利益を出しています。
この記事が気に入ったらサポートをしてみませんか?