記事「MQL5でONNXモデルを使用する方法」についてのディスカッション - ページ 4

 
本当にありがとう。本当に感謝している。近い将来、もっと多くの記事が掲載されることを願っています。
 

onyx libに問題があるようです。

onyxのインストール中にエラーが発生しました。

ERROR:onyxの要件を満たすバージョンが見つかりませんでした:0.0.5, 0.0.17, 0.0.19, 0.0.20, 0.0.21, 0.1, 0.1.1, 0.1.3, 0.1.4, 0.1.5, 0.2, 0.2.1, 0.3, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.3.11, 0.3.12, 0.4, 0.4.1, 0.4.2, 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.5, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.10, 0.7.11, 0.7.12, 0.7.13, 0.8.5, 0.8.7, 0.8.10, 0.8.11)

ERROR: onyxに一致するディストリビューションが見つかりません。

次にt2fonnxを実行すると

import onyx

ModuleNotFoundError:onyx'という名前のモジュールがありません



 
不思議なことに、ネットワークは1時間単位でトレーニングされているのに、Expert Advisorは日次データをフィードしている。何かの間違いでしょうか?それとも、私が何か理解していないのでしょうか?
 
donbar upbar #:

オニキスリブに問題があるようです。

onyxのインストール中にエラーが発生しました。

ERROR:onyxの要件を満たすバージョンが見つかりませんでした:0.0.5, 0.0.17, 0.0.19, 0.0.20, 0.0.21, 0.1, 0.1.1, 0.1.3, 0.1.4, 0.1.5, 0.2, 0.2.1, 0.3, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.3.11, 0.3.12, 0.4, 0.4.1, 0.4.2, 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.5, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.10, 0.7.11, 0.7.12, 0.7.13, 0.8.5, 0.8.7, 0.8.10, 0.8.11)

ERROR: onyxに一致するディストリビューションは見つかりませんでした。

次にt2fonnxを実行すると

import onyx

ModuleNotFoundError:onyx'という名前のモジュールがありません



Donbarさん、間違ったパッケージをインストールしようとしているようですね。onyxではなくonnxのはずです。
 

こんにちは。MLモデルを構築し、EAに組み込む方法についての素晴らしいウォークスルーです!

あなたの結果を再現しようとしましたが、いくつか問題があります。その理由を理解する手助けをしていただければと思います。

記事には注意深く従いましたが、ストラテジーテスターでは 全く異なる結果になってしまいました。これらのアルゴリズムにはランダムな特性があることは理解していますが、それでもこの違いには驚いています。また、モデル構築のために、少なくともトレーニングデータとテストデータが同じになるように、同じ期間を利用するように注意しました。しかし、結果はまったく異なるものでした。

可能性のある原因を特定しようとしましたが、最も興味深い違いはモデル構築中に始まったと思います。私の損失関数は、テスト/検証データ上のパフォーマンスを見ると、あなたがはるかに優れた一般化を達成したことを示唆しています。このメッセージの末尾に記載しました。

この原因として考えられることはありますか?このモデルは非常に壊れやすいので、これは予想外ではないのでしょうか?

私の最も最近の再現の努力は、あなたの最終的なPythonコードを単にコピーペーストし、損失グラフを生成するためにいくつかのMatplotlibコールを挿入することでしたが、基本的に同じ結果でした。どうすればあなたの結果を再現できるでしょうか?

ありがとうございました。

ファイル:
LOSS.png  99 kb
RMSE.png  120 kb
copypaste.py  5 kb
 
Vladimir Perervenko プロジェクトも、3つのフェーズで構成される:
  • 前処理
  • モデル選択、トレーニング、最適化など
  • 実装

μlのONNXモデルを使用することで、実装の問題は解決する。ただし、すべてのモデルではなく、かなり簡単ではない。

モデルのトレーニングと最適化は、Pythonの別プロセスで解決される。

しかし上記の中でも、最初の段階は最も時間がかかり、創造性が高く、最も重要である。そして、それをµl上で実現することは不可能である。私たちはプリミティブ・スケーリングを前処理とは考えていない。そして、「Garbage in - rubbish out(ゴミを入れればゴミは出ていく)」という民間の知恵がある。MCLだけでMOをフル活用するためには、MCLで追加開発・実装すべきことが多すぎる。特に、MOは常に拡大し続けているのだから。

したがって、プリプロセスを実行するには、他の言語(R/Python/Juliaなどをマスターした人)で作るか、ONNXへの変換を試みる。

これまでのところ、ONNXを導入するメリットは、ONNXモデルの変換、作成、単純化、最適化の方法を学ぶことにしかない。将来的には役に立つかもしれない。

これ以上うまく言うことはないだろう。すべてが的確で要領を得ている

 
Rorschach #:

前処理をMTに転送するのは問題ない。MTのテスターでシステムをテストしたいのだが、python/Rでは自作のテスターを書く必要があり、エラーが多い。

Rとpythonでテストされたテスターはすでにたくさんある。

しかし、前処理を転送することは問題であり、前処理は些細なスケーリングや確率計算ではない。
 
Bill M ストラテジーテスターでは 全く異なる結果になってしまいました。これらのアルゴリズムにはランダムな特性があることは理解していますが、それでもこの違いには驚いています。また、モデル構築のために、少なくともトレーニングデータとテストデータが同じになるように、同じ期間を利用するように注意しました。しかし、結果はまったく違った。

可能性のある原因を特定しようとしましたが、最も興味深い違いはモデル構築中に始まったと思います。私の損失関数は、テスト/検証データ上のパフォーマンスを見ると、あなたがはるかに優れた一般化を達成したことを示唆しています。このメッセージの最後にその関数を載せておきます。

この原因として考えられることはありますか?このモデルは非常に壊れやすいので、これは予期せぬことではないのでしょうか?

私の最も最近の再現の努力は、あなたの最終的なPythonコードを単にコピーペーストし、損失グラフを生成するためにいくつかのMatplotlibコールを挿入することでしたが、基本的に同じ結果でした。どうすればあなたの結果を再現できるでしょうか?

ありがとうございました。

ここでも同じ問題に直面しています。

誰か助けてください。

 
Joseph #:

ここでも同じ問題に直面している。

誰か助けてくれませんか?

私が直面している問題(おそらく他の人も)の調査を続け、私の発見を更新します。

まず最初に、この詳細な記事をシェアしてくれたMetaQuotes(著者)に感謝します。私のML取引の探求において、大変勉強になります。

記事にあるオリジナルのonnxファイルを 私のMetaQuates-Demoアカウントで実行すると、同じ結果を再現することができました。しかし、添付のONNX.eurusd.H1.120.Training.pyでonnxモデルを再トレーニングしました:

data start date = 2022-09-03 00:00:00
data end date = 2023-01-01 00:00:00

モデル(onnx attached: )のスコア:

RMSE         : 0.005212606864326095
MSE          : 2.7171270322019527e-05
R2 score     : -3.478924709873314

そして1Jan2023-26Mar2023のバックテスト結果が添付されています:"バックテスト結果.png"

MetaQuotes
  • 2023.11.23
  • www.mql5.com
Trader's profile
ファイル:
 

添付のONNX.eurusd.H1.120.Training.pyを以下のように再トレーニングしました:

data start date = 2022-11-28 12:28:00
data end date = 2023-03-28 12:28:00

モデル(onnx attached:)のスコア:

RMSE         : 0.0014680559413400179
MSE          : 2.155188246903726 e-06
R2 score     : 0.9699715149559284

そして1Jan2023-26Mar2023のバクトテスト結果を添付する:"バクトテスト結果2.png"

つまり、上記の演習から、論文から最終的な結果を 生成するために使用されたモデルは、以下の日付では学習しない可能性が高いのではないでしょうか?

data start date = 2022-09-03 00:00:00
data end date = 2023-01-01 00:00:00

ファイル: