先日よりATRを用いたストップロスの設定をいろいろと試しています。
ATRと言うのは、Average True Rangeの略で、True Rangeと言う、前日の終値と当日の高値と安値から計算できる最大の値幅の過去数日間における平均値のことです。
ATRを用いたストップロス設定は、ボラティリティ・ストップの一つとして有名なようで、過去10日間のATRの3倍(2.7~3.4倍)を設定するのが一般的なようです。
MT4ではiATRというATRの値を求めることが出来る関数があるのでそれを使っていますが、一般的な設定を用いて検証してみてもなかなかうまく行きません。うまく行かないと言うよりも、パフォーマンスは向上するけれども実用的ではないように思われる設定になってしまうと言うところでしょうか・・・。
例えば、BN430で今年2008年のデータを用いて検証した結果を紹介します。
ATRストップを用いるとProfitFactorや勝率と言ったパフォーマンスを評価する指標を見ると格段にパフォーマンスが向上しているように見えますね。いや見えるだけじゃなく確実に向上しているんです。
収益グラフ上では負けなしになっているのに、詳細データ上では2敗分がカウントされているのは、TakeProfitに達して決済されたものの、マイナススワップ分が加算されて収益としてはマイナス勘定になってしまったポジションがあるためです。
BN430オリジナル

BN430+ATRストップ(10日間のATRの3倍)

実はこの好成績にはちゃんと裏があって、ATRストップを用いた場合のストップロスの設定値を確認してみると、最小259pips、最大840pips、平均約450pipsと、たった5pipsを取るためのストップとしてはとてつもなく大きな設定になっていることがわかりました。過去のデータ上では確かに負けを回避できるストップロスの値なのでしょうが、将来のことはわかりませんので、万が一負けたりすることがあったりするとなかなか損失を取り戻すことが難しいほどの設定のように思われます・・・。
やはり適度に負けて、もし負けたとしても十分損失から回復するぐらいの設定でないと導入には踏み切れませんね。
例えば、ATRの2倍の値をストップロスの値として用いてみると、以下のようになります。ストップロスの設定値は、最小173pips、最大560pips、平均約300pipsとなっています。実際の負けトレードの損失は約195pipsと165pipsでした。値としてはまだまだ大きいように思えますが、何とかその後のトレードで損失からは回復してくれるレベルのように思います。
BN430+ATRストップ(10日間のATRの2倍)

もっと精神的に安心できるレベルの設定がないかいろいろと検証していますが、なかなかこれは良いと思われるような設定にたどり着きません。もっと期間を短くしてみたりとか、ATRの時間軸を変えてみたりとか、組み合わせを考えると途方も無くなります・・・。最適な設定も各EA毎に違う出違うでしょうし・・・。
BNシリーズのユーザーの方でATRを用いたストップロス設定について検証してみたい方、いらっしゃいますか?ご連絡いただければ、ご利用中のEAにATRストップのコードを追加したファイルをお送りしますよ。
- 2008/09/14(日) 07:23:55|
- 開発方針
-
-
| コメント:2
本気で検証しているのか記事のネタがないのか
同じところを行ったり来たりしているようですがSLを探るより基本的なパフォーマンスを上げることですよ。
そうしないといつか破産します。
- 2008/09/15(月) 00:23:27 |
- URL |
- tsr #-
- [ 編集]
そうですね。おっしゃるとおりだと思います。
基本的なパフォーマンスがあがれば、ストップロスの設定などあれこれ悩まなくて済むんですけどね・・・。
確かに記事ネタに困っているので、検証途中の内容を記事にしてしまっていますが、ストップロスの検証は真剣に行っていますよ。
何とか初期設定とほぼ変わらない値で全体のパフォーマンスが向上するような設定が見つからないか模索中です。
- 2008/09/15(月) 16:08:28 |
- URL |
- ぼなんさ #-
- [ 編集]