MT開発者向けではない!?INIT_PARAMETERS_INCORRECTを何に置き換えたらいいのでしょうか? - ページ 10 1...34567891011 新しいコメント 削除済み 2018.07.22 11:15 #91 Aleksey Vyazmikin:不正なパラメータは、一般的に3つの理由で無効になります。 1.調査対象地域に興味がない(例:最も理解しやすい選択肢として多くの時間軸を除外する)。//--- пропустить бесполезные проходы оптимизации if(my_timeframe != PERIOD_M15 && my_timeframe != PERIOD_M30 && my_timeframe != PERIOD_H1 && my_timeframe != PERIOD_H3 && my_timeframe != PERIOD_H6 ) { Print("ОШИБКА - Период не запланирован"); return(INIT_PARAMETERS_INCORRECT); } Aleksey Vyazmikin 2018.07.22 11:22 #92 Сергей Таболин: 全くその通りです。 TheXpert 2018.07.22 11:52 #93 Сергей Таболин:さて、「無効な」パラメータを含めずに、例のMA最適化をどのように整理するのでしょうか。OK、私は同意する、私は慎重に見ていませんでした。 削除済み 2018.07.22 12:34 #94 TheXpert:最適化するために、無効なギャップを切り取った別のパラメータを出す。具体例を教えてください。 TheXpert 2018.07.22 13:04 #95 Сергей Таболин:例を挙げてみましょうか。input int period_MA_warp = 15; //... period_MA = (period_MA_warp <= 31) ? period_MA_warp : period_MA_warp + 50; 削除済み 2018.07.22 13:29 #96 TheXpert: 私もそう思います。タイムフレームの場合はどうでしょうか。 TheXpert 2018.07.22 21:13 #97 Сергей Таболин:私もそう思います。また、タイムフレームの場合はどうすればいいのでしょうか?同じ - 連続区間の int を時間軸に変換する。例えば、すべての TF 値で配列を作成し、配列のインデックスで 最適化する。 削除済み 2018.07.23 06:10 #98 TheXpert:例えば、すべてのTFの値で配列を作成し、配列のインデックスで 最適化する場合まあ、これは松葉杖にしか見えませんが...。間違っているかもしれませんが、私のスタート時の例とほぼ同じです。ただし、この場合、あらかじめ配列全体をファイルにダンプしておく必要はないのですが...。 削除済み 2018.08.18 10:27 #99 OnTester()で遺伝的最適化の際に「無効な」パラメータをふるい落とすというアイディアが浮かびました。 double OnTester() { if(MQLInfoInteger(MQL_OPTIMIZATION) && paramIncorrect()) return(-99999999.99); } 遺伝子を妨害しなければ、INIT_PARAMETERS_INCORRECTの結果は見られないかもしれないことが判明した。 ここでもう一つ疑問が生じます。この場合、利益に対して「ディープマイナス」を得ることができるのでしょうか? Mikhail Mitin 2018.08.19 10:52 #100 私のやり方:別のパラメータを作成し、その値に応じて他の値を代入する。 簡単な例(2週間前)です。 TF_UP(シニア)とTF_DOWN(ジュニア)という時間枠のパラメータがあり、シニアは常にジュニアより大きくなければならず、逆の場合は input_incorrect が出ます。テスターではNullの結果が多く、遺伝子が「無駄に働いている」(スピードは速いが)。その結果、この2つのパラメータを削除し、後述の型を持つ新しいパラメータを作成し、それだけを最適化し、すでにOnInit関数 内で、このパラメータに応じて他の2つのパラメータに置換するようにしました。 enum TF_only_opt { _H4_H1 = 0, _H4_M30 = 1, _H4_M15 = 2, _H1_M30 = 3, _H1_M15 = 4, _H1_M5 = 5, _M30_M15 = 6, _M30_M5 = 7, _M30_M1 = 8, _M15_M5 = 9, _M15_M1 = 10, _M5_M1 = 11 }; 1...34567891011 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
不正なパラメータは、一般的に3つの理由で無効になります。
1.調査対象地域に興味がない(例:最も理解しやすい選択肢として多くの時間軸を除外する)。
全くその通りです。
さて、「無効な」パラメータを含めずに、例のMA最適化をどのように整理するのでしょうか。
OK、私は同意する、私は慎重に見ていませんでした。
最適化するために、無効なギャップを切り取った別のパラメータを出す。
具体例を教えてください。
例を挙げてみましょうか。
私もそう思います。タイムフレームの場合はどうでしょうか。
私もそう思います。また、タイムフレームの場合はどうすればいいのでしょうか?
同じ - 連続区間の int を時間軸に変換する。例えば、すべての TF 値で配列を作成し、配列のインデックスで 最適化する。
例えば、すべてのTFの値で配列を作成し、配列のインデックスで 最適化する場合
まあ、これは松葉杖にしか見えませんが...。間違っているかもしれませんが、私のスタート時の例とほぼ同じです。ただし、この場合、あらかじめ配列全体をファイルにダンプしておく必要はないのですが...。
OnTester()で遺伝的最適化の際に「無効な」パラメータをふるい落とすというアイディアが浮かびました。
遺伝子を妨害しなければ、INIT_PARAMETERS_INCORRECTの結果は見られないかもしれないことが判明した。
ここでもう一つ疑問が生じます。この場合、利益に対して「ディープマイナス」を得ることができるのでしょうか?
私のやり方:別のパラメータを作成し、その値に応じて他の値を代入する。
簡単な例(2週間前)です。
TF_UP(シニア)とTF_DOWN(ジュニア)という時間枠のパラメータがあり、シニアは常にジュニアより大きくなければならず、逆の場合は input_incorrect が出ます。テスターではNullの結果が多く、遺伝子が「無駄に働いている」(スピードは速いが)。その結果、この2つのパラメータを削除し、後述の型を持つ新しいパラメータを作成し、それだけを最適化し、すでにOnInit関数 内で、このパラメータに応じて他の2つのパラメータに置換するようにしました。