В статье будут рассмотрены основные принципы, заложенные в эволюционных алгоритмах, их разновидности и особенности. На примере простого эксперта с помощью экспериментов покажем, что может дать нашей торговой системе использование оптимизации. Рассмотрим программные пакеты, реализующие генетические, эволюционные и другие виды оптимизации и приведем примеры применения при оптимизации набора предикторов и оптимизации параметров торговой системы.
指で説明しよう。ONNX.Price.Prediction.mq5では、10個のOHLCを取得します。そしてこのデータで 平均とsdを決定し、この10個の値を正規化します。それは正しくない。
この新しいデータには、トレーニングセットで得られた平均とsdを使うべきです。つまり、前のスクリプトで。わかりましたか?
もちろんだ。問題ありません。このモデルは非常に早く作られました。ほんの一例だ。
私たちはMQL5で推論の正しさを非常に素早くチェックする必要があった。
そしてもちろん、現在のデータで予測の有効性をチェックした。約52パーセントだ。私は金曜日に検証スクリプトを書き、技術的な詳細に関する詳細なコメントを書いた。ラシードは、このモデルをベースにしたExpert Advisorを書き、テスターで動作させた。どうやらまだ公開されていないようだ。
もちろん、私はそれに気づいた。しかし、その例を使っている人たちはそれを理解しているのだろうか?
52パーセントの効率。彼らは理解しているはずだ。
MAE=0.0005
この問題は、MOモデルを訓練する際に適切な損失関数を使用することで解決される。これには2つの問題がある。1つ目は技術的な問題で、MOパッケージの標準的な損失関数は、間接的にしか利益最大化に関連していないため、カスタム関数を作成する必要があります。これは非常に難しいことで、コードレベルでMOパッケージをよく理解している必要がある。この問題が解決されると、2つ目の数学的な問題が現れるかもしれません。カスタム損失関数がモデルのトレーニングに適していない場合です。
もし誰かがこのような難しい問題を解決したとしても、その解決策を共有することはないでしょう。
どうやら、損失関数については読む価値があるようだ。私の理解が正しければ、例えば、損失関数を買うことしかできない市場で、それは判明する:
買値」と「売値」の差の合計である:「買値」-「売値」<0の場合。
この場合、負の値の合計が得られます。つまり、0または最大値になるはずです。差の合計の前に最小になるようにするには、マイナス記号を付ける必要があります。
誰かがこのような難しい問題を解いたとしても、その解答を共有しないという事実について、私はそれを当てにしていませんでした。私はただ、利益を最大化する方法を理解したり、少なくともいくつかのモデル(それが利益を生むかどうかは問題ではなく、ただ一般的な枠組みを理解するだけです)の例として見たりしたいだけです。
だから、一般的にカスタム損失関数はモデルのトレーニングには向かないと思います。
利益を最大化する基準で戦略を最適化し(もう一回マークアップするのが面倒なら)、このTSでトレーニングする。ーまたはーまたはーーーー
私は他のマークアップをすることを怠っているとは言いません。様々なバリエーションを試していますし、私は機械学習のセニョールではないので、何かアイデアが頭に浮かんだら、その結果を達成するための試みで、少なくともいくつかのバリエーションの例を見つけるようにしています。
私は指標の独自の値を持つソリューションのパラメトリックバリアントを作ろうとしましたが、指標の値のセットには非常に多くのバリエーションがあることが判明し、現在の計算能力では、パラメータの選択はほぼ10年実施されます)。
私は "市場から任意の有益なTSを取る "というフレーズを読んで驚いた。ーそんなー、ー「ー
もう何度もシェアしているので、いつしかうんざりしてしまって......。
誰もが数年前に機械学習に精通していたわけではない。あなたの投稿が再読されれば、議論は同じスレッド/ブランチで見つかるはずだが?
どうやら、スレッドがまだ成長している間に、3000ページすべての意味を理解しようとする価値があるようだ。
どうやら、このトピックが大きくなる前に、3000ページすべてを理解するよう努めた方がいいようだ。
ウラジーミル・ペレヴェンコと マキシム・ドミトリエフスキーの 記事を理解した方がいい。その方が時間を有効に使える。このフォーラムはほとんど水です。
ウラジーミル・ペレヴェンコと マキシム・ドミトリエフスキーの 記事をもっとよく理解しよう。そうすれば、より有意義な時間を過ごすことができるだろう。フォーラムはほとんど水です。
ありがとう!
誰もが数年前に機械学習に精通していたわけではない。あなたの投稿を読み直せば、同じスレッド/ブランチに議論があるはずだが?
どうやら、スレッドがまだ成長している間に、3000ページすべての意味を理解しようとする価値があるようだ。
あなたの問題は最適化の問題であり、未知のパラメータを探索することである。
https://www.mql5.com/ru/articles/2225 を 勉強するのに必要な記事はこれだけだ。
利益を最大化し、ドローダウンを最小化するAMOを教えたいのであれば:
次のことが必要です。
1) 適性関数(売買シグナルからの利益と損失をカウントする関数)を作成する。
2) 売買シグナルを生成する AMO アルゴリズムで、フィットネス関数 (p.1) を作成する。
3) AMO(項目2)のターゲットとしてシグナルを生成する最適化アルゴリズム(遺伝的、粒子群、チャーン)。
アルゴリズムは以下の通り
1) AOがAMOのターゲットを作成する。
2) AMOはこのターゲットについて学習する
3) AMOは取引シグナルの予測を作成する。
4) 売買シグナルをFFが評価し、結果を出す。
5) FFの結果はAOによって評価され、さらに最大化/最小化される。
==========
AO - 最適化アルゴリズム
AMO - 機械学習アルゴリズム
FF - 適性関数
=========
ps.AMOではなくneuronkaで作業したい場合は、ターゲティングを学習せずに、AOツールを使用して重みを変更することができます。
あなたの問題は、未知のパラメータを探索する最適化問題です。
https://www.mql5.com/ru/articles/2225。
利益を最大化し、ドローダウンを最小化するようにネットワークを教えたい場合:
必要なのは
1) 適性関数(売買シグナルからの利益と損失をカウントする関数)を作成する。
2) 適性関数(p.1)のために、取引用のシグナルを生成する任意のMOアルゴリズム。
3) AMOのターゲットとなるシグナルを生成する最適化アルゴリズム(遺伝的、粒子群、チャーン) (p.2)
このようなアルゴリズム
1) AOがAMOのターゲットを作る
AO - 最適化アルゴリズム
AMO - 機械学習アルゴリズム
FF - 適性関数
AOの例はありますか?先生を見つけるのは大変な作業で、自動化に適しているという印象を持っていました。