5. 学習の実施

前回までで学習用データの入力データと教師ラベルのセットが完了しました。いよいよ学習を開始します。

以下に学習の実装例を示します。

int handle;
int EPOCH = 1000;
int BATCH_SIZE = 32;
string FILE_NAME = "AIparam.pcl";
  
void do_train()
{ 
   IZEL_fit(handle, EPOCH, BATCH_SIZE); 
   IZEL_save(handle, FILE_NAME);
}

IZEL_fit()

IZEL_fit()にて学習を開始します。

指定するパラメータはエポック数とバッチサイズです。これらの最適なパラメータ値は学習モデルに依存して変わってきます。この値の決め方についての解説をするのはこのチュートリアルの範囲を超えますので、詳しい解説は省略します。エポック数とバッチサイズが何でどのような値を与えるかについては別途ディープラーニングを調べてください。

ここでは、エポック数を1000、バッチサイズを32として学習を実施することにしています。

IZEL_save()

IZEL_save()は学習モデルと学習結果をファイルに保存します。トレード時にはこのデータを読み込んで、トレードの予測をします。

EAの実行

これで学習のためのEA実装が完了しました。購入したデータの中にMovinAcerageTraining.mq4というファイルをおいていますが、このファイルがここまで解説した全ソースコードになっています。

ここまでの実装結果を実行してみましょう。ソースコードをコンパイルしてください。無事にコンパイルができれば、ストラトジーテスターを起動し、以下の実行パラメータでスタートしてください。

通貨USDJPY
開始日 - 終了日2023/01/01 - 2023/12/31
期間M15
スプレッド5
モデル始値のみ(最も早い方法。バーの始めにしか動かないEA向け)

コンパイルがうまくいったらEAをスタートさせます。操作履歴に以下の結果が表示され始めます。ディープラーニングの学習履歴を示しています。

スクリーンショット 2024-11-13 18.19.43

accuracyの値がエポック数が増えるごとに徐々に変化していっているのがわかります。エポックは1000回としていますので、学習の終了まではしばらく時間がかかります。

スクリーンショット 2024-11-13 18.17.06

最終的に学習を終えた時はaccuracyは0.9を超える値を示しています。どうやらIzelは学習に成功したようです。

次は、この学習結果を使うとトレードのパフォーマンスがどう改善するのかを見ていきましょう。

Copyright (C) izel.cloud-line.com All Rights Reserved.