今回は、BPNNライブラリを使ったシンプルなデモをご紹介します。このライブラリは元々C++で書かれており、MQLに移植されています。
このデモでは、時系列予測のためのニューラルネットワークのトレーニングとテストの様子をお見せします。
ニューラルネットワークの詳細については、元のBPNN予測インジケーターのページをご覧ください。こちらではDLLライブラリを使用しています。
今回の実装では、ライブラリとインジケーターをMQL5でネイティブに構築できます。
ソースコードはスタンドアロンのex5ライブラリにコンパイル可能で、その後MQL5プログラムにインポートする必要があります。また、ソースコードをMQL5プログラムに直接組み込むこともでき、外部ライブラリが不要になります。このデモインジケーターは両方のモードで構築可能です。
以下が添付されたファイルのリストです:
- BPNN_MQL_IMPL.mqh - BPNNニューラルネットワークのソースコード(MQL5/Includeに配置し、ライブラリを直接組み込むためにMQLプログラムに含める必要があります);
- BPNN_MQL.mqh - スタンドアロンライブラリのヘッダーファイル(MQL5/Includeに配置し、外部(スタンドアロン)BPNN_MQL.ex5とバインドするためにMQLプログラムに含める必要があります);
- BPNN_MQL.mq5 - ライブラリのメインモジュール(MQL5/Librariesに配置し、スタンドアロンライブラリBPNN_MQL.ex5を使用する場合はコンパイルする必要があります);
- BPNNMQLPredictorDemo.mq5 - デモインジケーター(MQL5/Indicatorに配置;
#include <BPNN_MQL_IMPL.mqh>を使用して埋め込まれたライブラリでコンパイルするか、#include <BPNN_MQL.mqh>を使用してスタンドアロンライブラリでコンパイルできます); - BPNNMQLi45.mqh - MT4スタイルのインジケーター用のヘルパーメソッドを含むヘッダーファイル;
どちらか一方のファイルのみを含めてください:BPNN_MQL_IMPL.mqhまたはBPNN_MQL.mqhのいずれか。両方を含めないようにしましょう。BPNN_MQL.mqhを含める場合は、ライブラリBPNN_MQL.mq5が事前にコンパイルされていることを確認してください。