現在これを実行するために猛勉強中です。
一回無料公開されている人工知能を使ってデモトレードしたことがあるんですが、全然駄目だったんですよね。
人工知能ってだけあって、tickが動く度に予想が変わるんですが、変わりすぎ笑
ということで、リペイントしないAI搭載したインジゲータやEAを作れたらいいなと思っています。
ただ、リペイントしないということは変化しないということですよね。
これは人工知能なのか?って感じです。
人工知能っていうのは過去のデータをもとに未来を予測するものなので、過去データが増えれば(変われば)学習量が変わるんですよね。
なので「リペイントしない」の定義を決めていきたいと思います。
リペイントしない定義
- 過去の結果はリペイントしない。
- 未来の予測はローソク足ごとにリペイントしてもいいが、予測した結果は消さない。
この2つを条件としたAIを作っていこうと思います。
まだまだ作成には時間がかかりそうですが笑
次にどのようなAIを作っていくかを明示しておこうと思います。
これはAIを作るために勉強した結果どのようなものが作れるのかというものが見えてきたからです。
初めに作るAI
- MT4とPythonを連携させて作る。
MT4とPythonの連携って結構むずかしそうですが、これができたら機械学習が楽なので頑張ろうと思います。 - 次の足が陽線か陰線かを予想するインジゲータを作成する。
これはロジスティック回帰という機械学習をさせることによって作成できると思います。
また、これによってMTFによるエントリータイミングを計れるのではないかと予想します。 - 学習データは時間、始値、高値、安値、終値、Tick回数をもとに結果を予想
これはすべてのデータってことですね。AIを学ぶ前は「ボリンジャーバンドとRSIを組み合わせて~」とか考えていたんですが、すべて、ローソク足から計算した結果なので、2重計算的なことになってしまって、正しい結果が出力されない可能性があるので、この6個を使って未来予想するAIにしました。 - AIの予想が有意に働きそうなときだけ表示する。(すべてをローソク足を予想するが、高確率であると判断した時のみ表示する)
理想は陽線・陰線だけでなく、値幅も予想したいところですが、線形回帰とロジスティック回帰抱き合わせでどのように連携していくのかがつかめていないので、初めに作るAIには搭載しないでおこうと思います。
具体的なイメージ
サブウィンドウに次のローソク足の予想を黄色の矢印と確率で表示して、結果を赤色の〇で表示するというようなインジゲータを作成します。
AIには通貨ごとに学習させたいので、学習結果を通貨ごとにファイルに保存しておき、読み込んだ学習結果を使ってインジゲータ内で計算結果を出力する形にしようかなと思います。
学習期間は1年間に抑えて、前日のデータから去年の前日のデータを訓練用データと検証用データに分け、学習させていこうと思います。(教師あり学習ですね)
余談
本当に余談ですが、クラスタリングという教師なし学習を学びましたが、現段階では実際に運用するのは難しいかなと思っています。
クラスタリングというのはざっくりいうとグループ分けみたいなものですが、クラスタリングをした結果なにかをつかめるような気がしません笑
線形回帰とロジスティック回帰についてはおおむね理解でき、Pythonでは実装できるようになったので、次はニューラルネットワーク、ディープラーニングを学んでいこうと思います。
興味がある方、同じことを考えて勉強中の方、もう作っちゃった方がいらっしゃいましたら、twitterのフォローよろしくお願いします。
コメント