|
今回は原作者『Reshetovさん』が『Combo-Right』EAの前に製作した『人工知能型EA』を見てみたいと思います。 このEAの無料公開場所はおなじみのCode-Baseフォーラムで、http://codebase.mql4.com/en/755になります。 名称は直接的な表現の『Artificial_Intelligence.mq4』ですが、バグがあったみたいで、フォーラムコメント欄で修正版がアップされていまして、名称が『Artificial_Intelligence_Right』に変更になっていますのでご注意ください。 原作者が『人工知能型』に関連して公開した最初の作品だと思われ、Cellは1個だけですね。 そのCellは、やはりNeural-Netwok分野でよく使用されている『perceptron』という関数名が付与されており、以下のように定義されております。 //+------------------------------------------------+ //| The PERCEPTRON - a perceiving and recognizing function | //+------------------------------------------------+ double perceptron() { double w1 = x1 - 100; double w2 = x2 - 100; double w3 = x3 - 100; double w4 = x4 - 100; double a1 = iAC(Symbol(), 0, 0); double a2 = iAC(Symbol(), 0, 7); double a3 = iAC(Symbol(), 0, 14); double a4 = iAC(Symbol(), 0, 21); return(w1 * a1 + w2 * a2 + w3 * a3 + w4 * a4); } //+------------------------------------------------+ 最新作と同様『ジャンケンの後出し』になっている要素があり、バックテストの結果が不正確になる可能性がありますので、途中の4行分は以下のように改造しておいた方が適切だろうと思っております。 double a1 = iAC(Symbol(), 0, 1); double a2 = iAC(Symbol(), 0, 8); double a3 = iAC(Symbol(), 0, 15); double a4 = iAC(Symbol(), 0, 22); ここで、市場価格変動のパターン認識にあたる部分は、7期間ピッチでサンプリングをしたACの値と、各重み付け係数を付与して数値化しておりますね。 しかしながら、このスライス期間は7期間に固定されていますので、チャートのタイムフレームを変えたり、通貨ペアを変えたりした場合の柔軟性はなくなってしまっていますよね。 これを改善するとなると、以下のようになると思います。 double a1 = iAC(Symbol(), 0, 1); double a2 = iAC(Symbol(), 0, p+1); double a3 = iAC(Symbol(), 0, 2*p+1); double a4 = iAC(Symbol(), 0, 3*p+1); ただし、『 p 』は外部入力変数で最適化対象とするため、事前に以下のように定義しておく必要があります。 extern int p = 7; なお、このEAの場合はTrailing機能を使用しておりますので、『ボラが低くなればトレード回数が少なくなる』という効果が出にくくなっております。 個人的には最新作の『固定Stop/Limit』を採用する方が好きなのですが。。。 私の得意な『独断・偏見とカーブフィッティング技』がまた出てきました。。。。 皆さん方はいかがお考えでしょうか? |
| << 前記事(2008/05/28) | トップへ | 後記事(2008/05/29)>> |
| タイトル (本文) | ブログ名/日時 |
|---|
| 内 容 | ニックネーム/日時 |
|---|
| << 前記事(2008/05/28) | トップへ | 後記事(2008/05/29)>> |