遺伝的最適化に関する質問

 

TSの最適化に着手しようと思いましたが、最適化するパラメータが13個と多く、TSはM1用に設計されており、1ヶ月のトレード数は10回以下なので、遺伝的アルゴリズムを用いて 1ヶ月の履歴を取ることにしました。

最初の実行では、計算時間は250時間以上、組み合わせの数は830億以上でした。MetaTrader 4における遺伝的アルゴリズム」の記事で紹介しています。A Comparison with Optimizer's Direct Search」には、計算時間にこだわるべきではない、遺伝的最適化では現実に対応しない、と書かれていますが、かなり前の記事なので、もしかしたらMT4の最新ビルドではすでに対応しているのでしょうか?では、待ったほうがいいのでしょうか?TSを作るときに最適化で問題はないと思っていましたが、TSはいいようですが手動で設定できない、パラメータが多すぎて少しの変更で大幅なリストラにつながることが判明しました。

左下の数字の意味も教えてください。最初の数字はランの数、括弧内は組み合わせの数、そしてその間の / の下は何でしょうか?

 
Angela >> :

TSの最適化に着手しようと思いましたが、最適化するパラメータが13個と多く、TSはM1用に設計されており、1ヶ月のトレード数は10回以下なので、遺伝的アルゴリズムを用いて1ヶ月の履歴を取ることにしました。

最初の実行では、計算時間は250時間以上、組み合わせの数は830億以上でした。MetaTrader 4における遺伝的アルゴリズム」の記事で紹介しています。A Comparison with Optimizer's Direct Search」には、計算時間にこだわるべきではない、遺伝的最適化では現実に対応しない、と書かれていますが、かなり前の記事なので、もしかしたらMT4の最新ビルドではすでに対応しているのでしょうか?では、待ったほうがいいのでしょうか?TSを作るときに最適化で問題はないと思っていましたが、TSはいいようですが手動で設定できない、パラメータが多すぎて少しの変更で大幅なリストラにつながることが判明しました。

最初の数字はランの数、括弧内は組み合わせの数、そして/の下にあるそれらの間には何があるのでしょうか?

遺伝学の数字は、遺伝学における組み合わせ/組み合わせの数を意味します。

これは、自分たちがいかに優れたMetaQuotestersであるか、遺伝子のおかげでどれだけ時間を節約できるかを示すための一種の自己宣伝である。

\୧⃛(๑⃙⃘⁼̴̀꒳⁼̴́๑⃙⃘)

(ここで、何が何と対になっているのか考える必要があります)、段階的に選択をしていきます。

2次元の最適化図は、そのように見た方が便利です。

一般に、geneticsは散在する最大値を選ぶので、やはり単純な探索をするのがよいでしょう。

個人的には、すでにフルサーチしているローカルエリアを探すのにジェネを利用しています。

 
Urain писал(а)>>

遺伝学の場合は、遺伝学(ダイレクトサンプリング)における割当数/割当量を指す。

これは、私たちMetaQuotestersがいかにクールであるか、そして遺伝子のおかげでいかに時間を節約できるかを示す自己宣伝のようなものです。

\୧⃛(๑⃙⃘⁼̴̀꒳⁼̴́๑⃙⃘)

(何と何が対になっているかを考える必要があります)そして、段階的に選択を行います。

2次元の最適化図は、そのように見た方が便利です。

一般に、geneticsは散在する最大値を選ぶので、やはり単純な探索をするのがよいでしょう。

私自身は、ジェネティクスを使って、ブルートフォースサーチをするような局所的な検索をしています。

問題は、ほとんどの最適化パラメータがフィードバックによって互いに関連しており、あるパラメータを変更すると他のいくつかのパラメータが再構築され、絵が変わってしまうことです。この戦略は、使用するパラメーターの超平面全体で最適を求めるように設計されています。2007年1月1日から現在までの履歴で、最適化なしでもTSは安定性を示し、少なくともゼロにはなっていないのですが、週ごとの過剰最適化を前提に設計されているので、この戦略はおそらく断念せざるを得ないでしょう。この2年間は、周期的なアップダウンがありました。

ストレス解消に行き、新しい作戦を練り始めます。

 
バーのオープニングで、最適化を図る。
 
830億円は、間違ったところに手を出してしまうかもしれません。私の理解では、テスターは、遺伝学上、総実行回数が一定数を超えると(あなたのところは確かにそうですね)、1万回以上の実行はしないそうです。つまり、テスターは、巨大なバリアント空間のどこかでポジティブな結果を得た後、この結果に渡り始め、本当に良い結果を見る時間がないだけかもしれない...ということです。パラメータのステップを増やしてみるとよいでしょう。そうなると、選択肢は少なくなります。そして、第一次近似の後、最も関心のある分野をより詳細に検討する。
 
Angela >> :

問題は、ほとんどの最適化パラメータがフィードバックによって互いに関連しており、1つを変えると他のいくつかの配置が変わってしまい、絵が変わってしまうことです。

これは概ね問題ないでしょう。つまり、二次元最適化図を通して、相関関係を特定し、コードに係数で綴ることができるのです。

最適化用語の一つを完全に除外する。例えば、2次元のグラフで最大値が対角線上にあることに気づく。

つまり、コード内で1つのパラメータを依存させ( x2 = x1 + 3 )、x1だけを最適化することができます。頑張ってください。

 

最適化の終了を待ちたくなかったので、電源を切りました。TSは安定しており、利益の出る取引で良い結果を示していますが、最適化のために何週間も待つのはやりすぎです。

例えば、上のグラフの間隔ですが、過去2ヶ月間です。

それに、BuyとSellを別々に最適化しているんです。それに、案件が少なすぎるし、インターネットが悪いので、夜間は取引システムのスイッチを切って、案件が成立するのを2~3週間待つこともありました。

そこで、昨日からストレスを取り除き、新しいTSの開発に着手しました。もっとシンプルに、論理条件付きで390行のコードは多すぎるとブレーキがかかり、2007年以降の始値によるテストは4.5時間かかりました。また、1ヶ月もすれば、私自身、この論理条件nakochelyaの中身がわからなくなります。

 
Angela >> :

それに、1ヵ月後には、この論理的な状況で何をしたのかわからなくなる。

詳細なコメントを書く。;-).TSは廃棄されるので、コードベースに公開することで啓蒙活動ができ、もしかしたらリファクタリングができるかもしれません。

 

TSの新バージョンを作る。1つのブロックを作り、次に進む前にいくつかのパラメータを最適化することにしました。7つのパラメータを最適化し、最適化の推定時間 - 106時間、最適化実行後は少しずつ増えるが、組み合わせ数 - 44,274,384、推定実行回数 - 10,496回である。当初、履歴を1ヶ月に設定し、最適化を開始したところ、「最適化結果」ウィンドウに最適化の 実行結果が表示されるようになりました。1ヶ月で186件の案件を獲得しました。最適化を早めるために履歴を半分にすることにしたのですが、起動後、時間は57時間でしたが、ウィンドウズの「最適化の結果」と「最適化のスケジュール」には何も表示されませんでした、何か問題があるのでしょうか?

 
Angela >> :

TSの新バージョンを作る。1つのブロックを作り、次に進む前にいくつかのパラメータを最適化することにしました。7つのパラメータを最適化し、最適化の推定時間 - 106時間、最適化実行後は少しずつ増えるが、組み合わせ数 - 44,274,384、推定実行回数 - 10,496回である。当初、履歴を1ヶ月に設定し、最適化を開始したところ、「最適化結果」ウィンドウに実行結果が表示されるようになりました。1ヶ月で186件の案件を獲得しました。最適化を早くするために履歴を半分にすることにして、57時間ロボットを動かしたのですが、「最適化の結果」と「最適化のスケジュール」のウィンドウに何も表示されませんが、何が問題なのでしょうか?

1 「最適化」ウィンドウのパラメータは、おそらく制約条件に設定されており、1回の実行で克服できたものはありません。

閾値当選者がいないということは、選ぶべきものがないということです。最大利益」の横にチェックマークを1つ入れてください。

少なくとも1本が壁を乗り越え、少なくともいくらかでも利益が出るようであれば、それが表示されることになる。


2 同時に最適化するパラメーターの数を減らせない場合は、ステップを増やします。

そして、その結果を見た後、(どのような値のフィールドで)より小さなステップで実行します。

例:Per { start, step, end}。

x1 {10,10,100}とすると、結果的にx1には60から80までの暗いクラスタが見えることになる。

パラメータx1 {60,1,80}で2回目の実行を行い、最適なものを探す。

(グラフといえば、次元的なものという意味です)。

 
Angela >> :

>> 何が問題なのか?

奇跡は起こるものなんです。通常、最適化のために実行する前に、意図したパラメータでビジュアルランを行い、コメントで最大必要データを表示させるようにしています。ログを見直すときにも、一度にたくさんの面白いものを見ることができるので、なんとかやっています。履歴不良、インジケーターエラー、Expert Advisorのエラーなど。それらを排除した上で、最適化の精度に自信を持てるようになりました。

理由: