Vladimir #: いい記事だ。テストデータの予測グラフには失望した。DNNのモデリングやトレーニングをすべてスキップして、単純に直近の価格と同じ次の価格を予測したほうがいい。そのような些細なモデルの予測精度は、あなたのDNNモデルを使うよりも高くなるに違いない。この2つの精度を比較し、ここに示すことを提案する。一般的に、DNNを使って価格を予測するのは悪い考えです。DNNは価格パターン(買い、売り、ホールドなど)の分類に適しています。また、DNNの重みの数は天文学的です。オーバーフィッティングに違いない。
Hello MQL5 community, I've been trying to follow this tutorial on how to use ONNX in your EA's. In the tutorial a neural network was the model of choice, I've used a gradient boosted tree.
Object-oriented programming enables creation of a more compact code that is easy to read and modify. Here we will have a look at the example for three ONNX models.
pythonでの処理の最後に、次のようなエラーが出ます: AttributeError: 'Sequential' object has no attribute 'output_names'。私はpythonやプログラミングについてあまり知りません。ですから、どんな助けでもありがたいです!ありがとうございました。
pythonでの処理の最後に以下のようなエラーが出ます:AttributeError: 'Sequential' object has no attribute 'output_names'。私はPythonやプログラミングについてあまり知りません。ですから、どんな助けでも歓迎します!ありがとうございます。
Alberto Henrique Tacoronte #: こんにちは。pythonの処理の最後に、次のようなエラーが出ます: AttributeError: 'Sequential' object has no attribute 'output_names'。私はpythonやプログラミングについてあまり知りません。だから、どんな助けでもありがたいです!ありがとうございます。
いい記事だ。テストデータの予測グラフには失望した。DNNのモデリングやトレーニングをすべてスキップして、単純に直近の価格と同じ次の価格を予測したほうがいい。そのような些細なモデルの予測精度は、あなたのDNNモデルを使うよりも高くなるに違いない。この2つの精度を比較し、ここに示すことを提案する。一般的に、DNNを使って価格を予測するのは悪い考えです。DNNは価格パターン(買い、売り、ホールドなど)の分類に適しています。また、DNNの重みの数は天文学的です。オーバーフィッティングに違いない。
ただ議論のために、時間が許せば、このモデルを変更して、比較のための分類を行うつもりです。
アイデアがあれば教えてください。
チュートリアルでは、1バッチSAMPLE_SIZE数のクローズ入力が与えられて います。
また、あなたのモデルは入力として浮動小数点数ではなく倍数を使用しています、
モデレーター注:この投稿は、以下の投稿が別のトピックから移動されたため、順番が前後しています。以下の投稿をご覧ください。
MQL5コミュニティの皆さん、こんにちは。EAでONNXを使用する方法について、この チュートリアルに従おうとしています。チュートリアルではニューラルネットワークが選択されましたが、私は勾配ブーストツリーを使用しました。
InterpretML Pythonパッケージを使ってモデルを構築し、ebm2onnxを使って ONNXにエクスポートしました。
モデルの学習過程を要約する。
1) モデルは5つの入力、OHLCとHeightで学習され、Heightは((H + L) / 2) - Cとして計算される。
2) モデルは二値分類器で、次のローソク足を上昇(1)か下降(0)のいずれかに分類することを目指す。
モデルの学習に使用したデータ
3) モデルは ONNX フォーマットにエクスポートされる。
ONNXモデルの表現。
モデルを動作させるために、チュートリアルのコードから逸脱し、ONNXモデルを動作させるためにコードを編集し続けました。モデルのハンドルが無効だというエラーが出続けます。
以下にMQL5のコードを添付します。
私のコードでチュートリアルの内容から逸脱したステップを要約し、なぜチュートリアルから逸脱したのかも説明します。
1) LINE 57: Setting Model Input Shape.
チュートリアルでは、入力と出力の形状を設定するために3次元が使用されていました。通常のトレイル・アンド・エラー・プロセスの後、1次元(入力数)のみを使用するとエラーがなくなることに気づきました。
2) 68行目:モデル出力形状の設定。
上記と同じロジック。
例えば、チュートリアルで実装されているロジックよりも直感的に理解できるロジックを使って時間を記録した。ツリーベースのモデルなので、入力を正規化する必要はありませんでした。
もし私が犯した他のミスを発見することができれば、あなたの洞察に感謝します。
取引、自動取引システム、取引戦略のテストに関するフォーラム
記事「MQL5でONNXモデルを使用する方法」についての議論
Stian Andreassen, 2023.12.08 20:51
チュートリアルでは、1バッチSAMPLE_SIZE数のクローズ入力が与えられて います。
また、あなたのモデルは入力として浮動小数点数ではなく倍数を使用しています、
ご指摘の内容を適用しましたが、エラーはまだ残っています。
input_countの入力が1バッチ。

入力をdoubleに設定
エラーメッセージ
Hello MQL5 community, I've been trying to follow this tutorial on how to use ONNX in your EA's. In the tutorial a neural network was the model of choice, I've used a gradient boosted tree.
InterpretML Pythonパッケージを使ってモデルを作り、ebm2onnxを使って ONNXにエクスポートしました。
このモデルが学習された過程を要約します。
1) モデルは5つの入力、OHLCとHeightで学習され、Heightは((H + L) / 2) - Cとして計算される。
2) モデルは二値分類器で、次のローソク足を上昇(1)か下降(0)のいずれかに分類することを目指す。
モデルの学習に使用したデータ
3) モデルは ONNX フォーマットにエクスポートされる。
ONNXモデルの表現。
モデルを動作させるために、チュートリアルのコードから逸脱し、ONNXモデルを動作させるためにコードを編集し続けました。モデルのハンドルが無効だというエラーが出続けます。
以下にMQL5のコードを添付します。
私のコードでチュートリアルの内容から逸脱したステップを要約し、なぜチュートリアルから逸脱したのかも説明します。
1) LINE 57: Setting Model Input Shape.
チュートリアルでは、入力と出力の形状を設定するために3次元が使用されていました。通常のトレイル・アンド・エラー・プロセスの後、1次元(入力数)のみを使用するとエラーがなくなることに気づきました。
2) 68行目:モデル出力形状の設定。
上記と同じロジック。
例えば、チュートリアルで実装されているロジックよりも直感的に理解できるロジックを使って時間を記録した。ツリーベースのモデルなので、入力を正規化する必要はありませんでした。
もし私が犯した他のミスを発見することができれば、あなたの洞察に感謝します。
ご指摘いただいたことを適用しましたが、エラーはまだ残っています。
。
入力をダブルに設定
エラーメッセージ。
MQL5はまだ(というかONNXMLToolsは まだ)EBMのONNXをサポートしていないようです:
https://www.mql5.com/ja/docs/onnx/onnx_conversion
https://www.mql5.com/ja/articles/12484、ONNXの添付ファイル(特に4つの入力を使用するmodel.eurusd.D1.10.class.onnx)を参照し、Netron(ウェブ版)を使用してonnxファイルを視覚化すると、違いがわかります。
以下の2つの記事も理解を深めるのに役立つと思う:
Scikit-learnライブラリの回帰モデルとONNXへのエクスポート
Scikit-Learnライブラリの分類モデルとONNXへのエクスポート
皆さんこんにちは、
私たちは、ある時点で11の予測子を持つkerasニューラルネットワーク(バッチサイズ32)を使用して、XauUsd(出力は0と1の間の特異数)の予測をしようとしています。まず、OnnxCreatefrombufferからロードし(OnnxCreate自体が動作しないため)、次にOnnxRunステージで常にエラーが発生します。入力のためにどの次元にリシェイプするか、予測ベクトルをどのようなフォーマットで置くか(もしベクトルであるべきなら)、あるいはこれらのエラーに対処するためのシンタックスに関するヘルプや提案があれば教えてください。私たちは32,1,11のベクトルのあらゆる組み合わせにリシェイプを試みましたが、うまくいかず、次のステップもわかりませんでした。助けてくださる方、本当にありがとうございます!ベン
エラー 5808'
' ONNX: 入力パラメータ #0 のテンソルの次元 [0] が間違っています。
'ONNX: invalid input parameter #0 size, expected 1408 bytes instead of 480'.
こんにちは。
OnnxModelInfo.mq5
ファイルスクリプトを使おうとしたのですが、うまくいきません!
OnnxModelInfoスクリプトをコピーペーストして、Filesフォルダに保存しました。
onnxモデル(添付)があります。
スクリプトをコンパイルすると、21のエラーが表示されます。
どなたか教えてください。お願いします。
MQL5でONNXモデルを使う」を掲載しました:
著者:MetaQuotes
こんにちは。
pythonでの処理の最後に、次のようなエラーが出ます: AttributeError: 'Sequential' object has no attribute 'output_names'。私はpythonやプログラミングについてあまり知りません。ですから、どんな助けでもありがたいです!ありがとうございました。
Python(MetaTrader for Python|ONNX Models)に詳しい方が解決策を指摘してくれるかもしれません。