FC2ブログ

機械学習EAプロトタイプ初号

EA作成中
05 /23 2020
え~っとできました。
USDJPY EA 1st prototype for MT5 powered by Random Forest。
カッコつけてみたけど英語苦手なので、これで合ってるか不明w

出来たら当然最適化して、バックテスト&フォワードテストするでしょー

グラフ-proto0
2019年1年間のバックテスト・フォワードテストです。
・・・まぁこんなものかな(TヘT)
バックテストは
バックテスト-proto0
・・・
フォワードテストは?
フォワードテスト-proto0

年間取引、バックテスト 331回、フォワードテスト 52回で、383回ですね。勝率は65%弱、PF1.1前後、微利益が望めますがこの程度ですかー
トレイリングストップのロジックとの相性が悪いのかな?

今回使用した学習モデルは、2期間で8pipsの上下動(2018年データ)を学習させています。
年間の取引予測は475回なので少し抑えられた感じになっています。予測確率は65%を超えているので勝率もまぁ同じ程度(SL/TPの設定で変わるので一概には言えない)ですね。

この結果から

結果は残念としか言いようがないですね。前回の山谷オーダーの方が良いという。
( ̄へ ̄|||) 

さて、サンプルから持ってきたトレイリングストップのロジックでは機械学習予測の実力は測れません。
2期間で8PIPSの上下動を予測したのであれば、2期間でクローズして年間成績を見てみないと検証にはなりません。
年間成績だけではなく、予測通り8PIPS動いたかどうか、予測と逆の動きをしたのかなどが解るデータを残さないと次のステップに進めません。

ここで大きな問題があります!面倒><

まぁここまで面倒なことやってきてるんですから、頑張ってやりましょうかー・・・

次のステップは

1.オーダー時の各データ、n期間後にクローズした時の損益を1ラインでファイル出力
2.予測モデルでのオーダー、予測モデルなしのオーダーで比較検証
3.予測・損益をカテゴリ分けして、学習ロジックに突っ込む

書くだけなら簡単なんだけどなー
仕様から検討しないと。

パぺ太メモ

まだ「出来たー!」とは言えませんね。
MT5での値動きをデータ出力して学習モデルを作った方が現実的に思えます。
理想的には学習しながら予測するのが良いのでしょうが、そこまでのCPUパワーが無いですからねVPSには。

今回MT5でバックテストを行っていますので、当然ヒストリー品質は90%以上(というか100%)です。
MT5ではヒストリーデータをオンラインで(ボリュームもスプレッドも)取得していますので、ヒストリーデータの齟齬はありません。
また1分足でもティックデータによるバックテストが可能です。

しかし!MT4では注意が必要です。
1分足のバックテストはティックデータではなく1分足データでのシミュレートです(記憶が確かなら、そうでした)し、ヒストリーデータをインポートしないとバックテストはできません。
また、インポートする前に既存データを全削除しないと「n/a」とかになることもあります。
(そんな時は、もう一度全削除→いったん終了→1分足データをインポートして、各時間足に展開するスクリプトを走らせます)

フォワードテストもできるMT5の方が便利ですが、世の中の主流はMT4ですw

さて、仕様を考えようっと・・・


関連記事

コメント

非公開コメント

パペ太

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