2023年3月6日SHAREツイートシェアはてブLINE前回の開発日記でも書いたが普通に開発しててもまともなEAを作るのはかなり難しい。裁量でよほど勝てていれば別であるがそんな場合はまれである。裁量で勝てていたとしてもそのロジックをEAに落とし込むのはかなり難しい。いってエントリー条件をプログラムで解析するとなると組み合わせ爆発(NP困難)になってしまう。本記事はFXの自動売買について紹介していますが内容を保証するものではありません。金銭にかかわる内容であるためご注意ください。参考にする場合は自己責任でお願いします。条件の自動抽出AIの汎用パッケージは使えるかチャート分析システムを自作まとめEA実装の難しさ普通の手順で開発してても無理な気がしてきた。裁量で勝てていてもEA実装は難しいEAで取引する場合は裁量の感覚をすべて数値化して実装しなくてはならない。何となくがまったく許されない世界なのでルールではなく感覚に頼っている場合はEA化できない。ルールがあったとしてもEA化が難しいケースもあり簡単ではない。思考をプログラミングする作成するEAの9割がゴミ裁量で良しとされる方法で色々なEAをつくってみたものの9割がゴミ。巷にあふれている手法のほとんどが検証したらマイナスということがよくわかった。特殊な条件を組み合わせないとまともに勝てるEAはつくれない。EA設計を再考するバックテストの信頼性ちょっと厳しめの条件にしてもバックテストとフォーワードテストとの乖離が大きい。以前の記事でもいったがスプレッドの広がりや約定タイミングなどバックテストにない不利な要因がありすぎる。バックテストでかなり好成績をだしていないとフォワードテストで歯が立たないことが多い。FX作業を中断した理由EA開発を根本から見直すプログラムを使ってエントリー条件を自動抽出するしかない。通常のEA開発では勝てる見込みのあるルールを見つけそれをプログラムに落とし込んでいく。ルールは裁量経験が多少でもあれば「こんなチャートだと勝ちやすい」ってのがあるのでだいたい目星はつく。筆者の裁量の腕前はプラマイゼロか微マイナス程度である。筆者の感覚をEAに落とし込めば大きなマイナスにはならないだろうと考えたが・・・。開発したEAはバックテストの時点でほぼ壊滅状態。どんなに複雑なエントリー条件を設定してもバックテストでプラス収支になることはほとんどない。EA化してみると普段やっている裁量取引ルールがどんだけあいまいなものなのかよーくわかる。根本的にルールがダメなのか無意識部分がEAに反映されていないのかはわからないが上手くいかない。組み合わせ条件の手動検証は不可能ダメならダメで条件を組み合わせたり変えたりすればいいのではと思うが意外に難しい。条件どうしの相性もあって中々いい条件を見つけることができない。中期MAの動きとBB2αの相性はいいが短期MAと相性が悪いなどどの条件がどう作用するかはバックテストしてみないとわからない。チャートを分析してある程度予測はできるものの役に立たないことが多い。条件の組み合わせを考えるとほぼ無限大で手動では処理できない。一時期特徴的なチャートを1,000枚くらいスナップショットして分析したがまともに成果が出なかった。筆者の分析が悪いのかEA実装がわるいのかわからないがチャートに潜む共通のポイントを見つけ出すのは想像以上に難しい。昔は手動で目視検証をしていたが今考えると無理があるように思う。筆者は一応ではあるがAIやビッグデータ分析の開発をしたことがありある程度の知識はある。ビッグデータと言えば併売分析などが有名なところ。売上データから缶ビールのケースとおむつの購入が同時に行われやすいのをみつけるなど。データからある法則を導き出す方法。チャートから値動きがある方法を見つけ出すのもこれと同じ。ビッグデータ分析はデータアナリストなる専門職が色々なクエリーを使ってDBをこねくり回してるので、これをFXのチャート分析に当てはめるのは難しいだろうか。大量のデータ(チャートの情報)から何らかの法則を導き出すという方法論については同じである。AIでは通常コンピューターでは普通に処理しきれない問題(NP困難)を処理することがある。こちらは有名なところだとビンパッキング問題や巡回セールスマン問題などがある。FXの課題も同じでエントリー条件がそれぞれのエントリーポイントでトレードオフになっている場合が多く大量の組み合わせによる検証が必要になってくる。目的はただ一つで資産を増やすだけなのでそのゴールにたどり着く条件をどうやって見つけ出すかがポイント。AIの汎用パッケージは使えるかちょっと検証していないので何とも言えないがFXチャートの分析に汎用パッケージは難しい気がしている。使うとしてもかなりカスタマイズが必要。自分でソルバー(最適数値を求める機能)作った方がやはい気がする。考えた結果自分でチャートを分析するプログラムを開発することにした。MT4で使用するMQL4はC言語ベースでちょっと扱いづらいのでシステムはJavaを使って構築予定(現時点で進捗5割程度)である。システム開発のベースにMQL4はいくらなんでも辛すぎる。チャート操作はMQL4の有利な点もあるためMQL4とJavaで組み合わせた方がよさそう。MT4でしかできない部分は最小限にしてあとはJavaにまかせる感じだろうか。まとめEA開発をしていて行きついた答えが「チャート分析プログラム」である。人の力だけで分析するのは不可能だと思う。このプログラム作成に時間を費やしたいと思う。ポイントエントリー条件を手動で見つけるのは難しい良い条件を見つけないとEAの成績は良くならなにチャートから条件を見つけ出すようなプログラムに可能性あり筆者はプログラミングが一切苦にならい特異体質です。EAで期待できる収益はどのくらいかこの記事を書いた人ふないプログラミング大好き約20年間SE・プログラマーとして会社員を経験。FX歴は約5年で裁量取引はマイナス収支。ビットコインの長期投資は運よくプラスである。検索ふない約20年間SE・プログラマーとして会社員を経験。FX歴は約5年で裁量取引はマイナス収支。ビットコインの長期投資は運よくプラスである。