EA開発に明確な基準があるわけではありません。

リアルトレードで利益を上げられるのなら、
どんなEAを開発しても構わないんですが、
バックテストの段階である程度の基準を満たしておかないと、
リアルトレードで利益を上げる可能性は下がってしまいます。

では、バックテスト時にどのような基準を設ければ良いのか、、、

このあたりはEA開発者の経験によるところが大きいです。

一つ言えることとして、
EA開発の経験値が少ないと、得てして、
バックテストの為だけのバックテスト
になってしまいがちです。

バックテストで好成績を収めるのが目的ではありません。
リアルトレードで利益を上げるのが目的です。

バックテストのためだけのEAで終わるのか、
それとも、リアルトレードへ移行できるEAになるのか。。。

今回は私がEAを開発する際の
最低限のクリアー条件を紹介します。

EAの種類に関係なく、
これだけは絶対にクリアーしていなければいけない条件です。

私がEAを開発する際の最低限の5条件

まず、[モデリング品質]が90.00%以上とか、
[不整合チャートエラー]が0(ゼロ)とかは、当たり前ですよ。

これらはEA開発する際の条件ではなく、
EA開発者としての礼儀です。

わざわざ言うまでもないですからね。

では、本題に行きますが、
まずは、サンプルとするバックテストをご覧ください。

以下は、最近私が開発したEAですが、
クリアーすべき条件項目に赤色ラインを引きましたので、
それらに注目してください。
cody20063001

私がEAを開発する際は、
以下の5つの条件を必ず満たすようにします。

  1. 期間は10年以上
  2. スプレッドは通常は20、ポンド関連は30
  3. プロフィットファクターは1.30以上
  4. 総取引数は1000回以上
  5. 最大ドローダウンは25%未満

これらについてさらに詳しく解説すると、、、

1.期間は10年以上

バックテストの期間は長ければ長いほど信頼性が増します。

やはり1~2年程度のバックテストと10年以上のバックテストとでは、
後者の方が信頼できますよね。

期間が長いということは、
それだけいろんな相場環境を経験させたことになります。

例えば、去年までの1~2年間は、
前例がないくらいの低ボラティリティ相場でした。

その1~2年間しかバックテストをしていないということは、
低ボラティリティ相場に特化したEAになっている可能性が高いわけで、
高ボラティリティ相場に移行した場合、
本当に優位性があるのか分かりませんね。

そこで私の場合は、
バックテストの期間は最低限10年以上にしています。

これならば様々な相場環境を経験させたうえでのEAになります。

2.スプレッドは通常は20、ポンド関連は30

[スプレッド]は買値と売値の差ですが、
ここを厳格にするかどうかで、
EA開発者の良心が問われます。

私の場合は、通常であれば20
ポンド関連の通貨ペアであれば30にします。

20というのは2PIPS、30というのは3PIPSのことです。

「スプレッドってそんなに重要なの?」
と思う方も多いんですが、甘く見ないように。

この[スプレッド]を狭くするだけで
簡単に右肩上がりのEAが開発できたりもします。

中にはそれを見越してなのか、それとも知らないだけなのか、
この[スプレッド]に2とか3という数値を入れたバックテストも散見されますが、
そんなにスプレッドが狭いFX会社は稀です。

[スプレッド]が狭い特定のFX会社に向けて開発したEAなら別ですが、
そうでないなら、一般的なFX会社で通用するように
できるだけ広めの数値にしておくべきです。

3.プロフィットファクターは1.30以上

この項目は1よりも大きければ良いんですが、
だからと言って、あまりにも高過ぎると過剰最適化が疑われますし
あまりにも低過ぎると優位性がなくなります。

また、次に書く[総取引数]にも関連しています。

どういうことかと言うと、
[総取引数]が少ないと[プロフィットファクター]を高くするのは簡単ですが、
その分、有益性が低くなります。

逆に、[総取引数]が多いと[プロフィットファクター]を高くするのは困難ですが、
その分、有益性が高くなります。

なので、[プロフィットファクター]単独で見るわけにもいかないんですが、
それでも個人的には、1.3~1.8くらいにします。

ちなみに、ナンピン型EAであれば、
[プロフィットファクター]を2や3などの高数値にすることは容易いです。

しかし、ナンピン型EAでの[プロフィットファクター]は参考にならないので
とりあえず今回はナンピン型EAは考えないとします。

4.総取引数は1000回以上

[総取引数]が多ければ多いほど統計的な優位性が増しますので、
この項目はできるだけ大きな数値にすることを心掛けています。

しかし、肝心のロジックがエントリー厳選型だった場合、
この項目を無理やり増やすわけにもいかない状況もあります。

また、常に単独ポジションなのか、
それとも、複数ポジションもありえるのか、
で、この項目の数値は大きく変わってきます。

なので一概には言えないのですが、
私の場合であれば[総取引数]は1000回以上にしています。

複数ポジションを持つのなら、
さらに増やして2000回以上を目標にしています。

5.最大ドローダウンは25%未満

[最大ドローダウン]は小さければ小さいほど
安定感があることを意味しますので、
この項目はできるだけ小さな数値にすることを心掛けています。

しかし、この項目も単独だけで判断できるものではなく、
関連する別の項目との相対的なバランスを見る必要があります。

例えば、
[期間]が長ければ長いほど、
この項目は大きな数値になりがちです。

また、
[総取引数]が多ければ多いほど、
この項目は大きな数値になりがちです。

そして、上記のバックテストには表れていませんが、
[ロット数]が大きければ大きいほど
この項目は大きな数値になりがちです。

なので一概には言えないのですが、
私の場合であれば[最大ドローダウン]は25%未満になるようにしています。
金額的にも、[初期証拠金]の25%未満になるようにしています。

ちなみに、ナンピン型EAだとまた基準が違うのですが、
とりあえず今回はナンピン型EAは考えないとします。

以上、私がEAを開発する際の最低限のクリアー条件5つでした。

バックテストでこの5つの条件を満たしたものだけが、
私にとってのEAとなります。

なので、開発している最中に、
どれかの項目が満たされないと分かったら、
開発途中で諦めます。

そのまま続けても無駄ですからね。

時間があればこの条件に照らし合わせて
他様のEAのバックテストも確認してみてください。

各EA開発者の基準、良心、方針が垣間見えるかもしれませんよ。

PS.
先にサンプルとして掲載したEAですが、
実はこれ、、、EAの販売、学習で有名な某サイトで
既に販売開始されています。

私はこれまで自分以外のサイトで
自作EAを販売したことがなかったのですが、
物は試しに販売してみたところ、
販売開始から1ヶ月も経っていないのに、
フォワードテストも順調なこともあってか、
ありがたいことに結構購入されています。

もし興味があれば、探してみてください。
バックテストは上記のままですから。

でも、ペンネームでの販売なので、
見つけづらいかも?