ロボットの仮想自己最適化を行った方はいらっしゃいますか? - ページ 5

 
Petros Shatakhtsyan:
Expert Advisorの内部でも(例えば、昔、英語のブログで何回かに分けて書きました -ここから始めて ください)、外部でも自動最適化ができます - サイトには、ターミナルのコピーを実行して、その中でExpert Advisorを最適化して、結果(設定)を得る記事がたくさんあります。 一番新しい解決策は、fxsaberさんのものでしょう。
 
Stanislav Korotky:
自己最適化はExpert Advisorの内部でも(例えば、私はずっと前に英語のブログでいくつかの部分を書きました -冒頭はこちら)、外部でも行うことができます - サイトには、ターミナルのコピーを起動し、その中でExpert Advisorを最適化して結果(設定)を取得する記事が満載されています。一番新しい解決策は、fxsaberさんのものでしょう。

私は他人のコードを見ることはありませんし、誰がどのようにCo-optimizationを行っているのか知りたくもありません。

何でも知っているかのような書き方をする人が多い。何がどうなるかは言わずに、最終的な結果を示せばいいのです。つまり、自己最適化は何を与えてくれるのか?

ここではEURUSDでの成績が最も高かった(2017年から2019年まで)。 しかし、今年からは一転して他のペアが来ている。もちろん、TSにもよりますが。

以下は、2019年の全ペア、リアルティク、異なるサーバーでの テスト例です。 全ペア、同じチューニングパラメータを 使用しています。そして、「自己最適化がうまくいったらどうなるのだろう?

最初のテーブルには60組、2番目のテーブルには44組。

 
Petros Shatakhtsyan:

ちなみに、MQLライブラリには、自己最適化EA用の特別な関数があります

 
Maxim Kuznetsov:

ちなみに、MQLライブラリにはEAを自己最適化するための特別な関数があります

この機能はどこにあるのですか?

しかし、それでも私は仮想自己最適を行います。

つまり、同じロボットが別々に動作しますが、MQL取引関数は 使用せず、開始と終了の注文の代わりに、すべてのポジションが構造体の配列に格納されます。そして、最終的な結果もそうなります。

 
Maxim Kuznetsov:

ちなみに、MQLライブラリにはExpert Advisorの自己最適化のための特別な関数があります。

ExpertRemove()

 
Petros Shatakhtsyan:

常に同じ結果を示すロボットは存在しないと思います。

また、ブローカーや取引口座の種類を変えても結果は変わり、通貨ペアを個別に最適化し、最適な入力パラメータを選択する必要があるのは言うまでもありません。

そこで、(MT5テスターのオプティマイザーを使用しない)仮想自己最適化の必要性があります。

どのように機能するのでしょうか?

毎週土曜日のマーケットクローズ後に、3ヶ月、6ヶ月、12ヶ月の実際のティックを使用した仮想最適化が各ペアで自動的に起動されます。市場が常に変化している以上、より意味があるわけではない。

その結果に基づいて、入力パラメータの組み合わせが自動的に選択される。例えば、利益は多いが最大ドローダウンが少ない人、取引回数が多く、リカバリーファクターが高い人など。

これらの選択されたパラメータはすべてファイルに書き込まれ、マーケットが開いたときに読み込まれ、新しいパラメータで動作することができます。

なぜ仮想最適化 なのかというと、 速度を確保 するためにMQLの 取引関数 が呼び出されないからです。もちろん、演算や計算はすべて数式で手作業で行わなければならない。

もし使っている人がいたら、どれくらいの速さで効果が出るのか、結果はどうなのか、気になりますね。

適用する価値はあるのでしょうか?

もちろん、使用する価値はあります

例:インジケーターのパラメータをプリセットする場合など

 
Aleksey Nikolayev:

ExpertRemove()

ということです。)

どうして?

 
Aleksey Nikolayev:

ExpertRemove()

ありがとうございました。EAのどこに入力すればよいのでしょうか?

P.S.そういう風にやってみようかな :)

if(ProfitToday() >= 100500%) 
   ForexRemove();
 
Vitaly Muzichenko:

ありがとうございました。EAのどこに入力すればよいのでしょうか?

P.S. この方法でやってみるのもいいかもしれませんね :)

( AccountProfit()>StartBalance()*100500) & WithdrawAll() & Run() & Run()

 
Vitaly Muzichenko:

ありがとうございました。EAのどこに入力すればよいのでしょうか?

P.S. この方法でやってみるのもいいかもしれませんね :)

Vitaly、そんな冗談はやめてくれ。最初は「そんなことも知らないのか...」と驚きのあまり顎が下がりました。10秒くらい経ってから気づいたんだけど......。