FC2ブログ

機械学習をEAの出力ファイルでやってます、その1

EA作成中
05 /31 2020
解析できるようなデータをEAで残す仕組みができました。
こんな感じ。

GlobalVariableSet("forestEye5_arg_count", count);
for (int n=0; n < count; n++)
{
string variable = StringFormat("forestEye5_arg_%d", n);
GlobalVariableSet(variable, data[n]);
}

グローバル変数をこっそり使うことで簡単?にできます。
パラメータによってデータが可変になるので、ちょっと工夫はしています。

EAから出力されたデータを解析してみると、ほとんどのテクニカル指標がランダムな感じでした。
ボリンジャーバンド2σ抜けで順張り、ストキャスティクス80-20で逆張り、決済は一定期間で強制的にした出力データで各テクニカルに偏った傾向があるか見てみた(ちゃんと解析はしてないです)のですが、関連性が見られたのはストキャスティクスRCIでした。
※ボリンジャーバンドは逆張りで使用されることが多いようですが、バックテストではボロボロだったので順張りにしています。

ストキャスティクスのシグナルなのでストキャスティクスは当たり前ですね。
RCIもストキャスティクスと同じような動きをするので、まぁうなづけます。

RCIの傾向
ただ、青色の部分をフィルターすれば、良い感じで利益が出そうです。
試しにExcelで計算してみると、全体の損益は-104.85でしたが、80以上、-80以下を合計すると5145.37になりました。
(バックテストの期間は、2020年1月~4月末です)

RCIフィルターでも良さげな結果になりそうですが、目的は機械学習ですから横道にそれずに、データの準備です。

データの準備

今回、データ解析するためにいろいろデータを残しすぎていますので、学習しないデータを削除します。

データの準備

がっつり削除します。(python慣れてないので1行ずつww)
学習するデータはシグナルとストキャスティクス長短期、RSI、ADX、RCI三種です。
学習データは2019年9月~12月末で、評価データは2020年1月~4月末です。

さて学習&評価!

予測100

オーダーしない選択を含めると85%正解、オーダー方向は100%正解・・・・

こっ!これは!!!100%バグってますねww
(_ _|||)
何、間違えたんだろう><
実際にこのモデルでバックテストをするか、scikit-learnつかって検証するか・・

パぺ太メモ

汎化忘れてる!と思って、汎化してみましたが100%の予測結果w

学習データを評価データにしてしまっているとか、どこかでマージしちゃったとか・・・
今週の休日全部使ってやっとここまで。
┐( ̄- ̄)┌ 

来週は、実際にこのモデルでバックテストをしてみますか。
休日にMT5でバックテストをすると、ティックデータが取れない期間が多くてテストにならないのですが、どうにかしたいなー
自分のネットワーク環境なのか、OANDAさんなのかな?
MT5でバックテストをしている人が少ないのか、そういう情報が出てないのです。

このモデルでバックテストをすると・・・ボロボロな予感w


関連記事

コメント

非公開コメント

パペ太

パペ太は自動人形(EA)を操るという意味で、puppeteer(人形遣い)から付けました。
高収益のEAを目指して日々悩んでいます。