EAラボラトリーフォーラム::FXシステムトレード情報満載のコミュニティサイト http://forum.ea-labo.com/ | |
最適化の1つの実行を途中で終了させる方法 http://forum.ea-labo.com/viewtopic.php?f=3&t=1711 |
ページ 1 / 1 |
作成者: | inumart [ 2011年2月13日(日) 12:08 ] |
記事の件名: | 最適化の1つの実行を途中で終了させる方法 |
お世話になっております。 【質問概要】 EAを、途中で終了させるようコーディングすることは出来ますでしょうか。 【質問背景】 現在、自作EAの最適化を行なっております。 実現したい事としては、 不正なパラメータの組合せの場合は、そこでそのパラメータでのバックテストの実行を終了し、 次のパラメータでのバックテストに移ってもらいたいのです。 【実施してみたこと】 init()内で「不正な条件の場合にreturn;」を入れました。 ↓ が、init()が終わってしまっただけで、そこでEAは終わらず、 start()がTickの更新ごとに呼ばれ続ける、という動きをしました。 しょうがないのでstart()の冒頭で、不正の場合はreturnする、を入れ込みましたが、 指定時間の間は動いてしまうので無駄な時間動いてしまいます。 色々ネットで調べてみたのですが、見つからないのでご教授頂けないでしょうか。 宜しくお願いいたします。 |
作成者: | engineeeer [ 2011年2月14日(月) 02:36 ] |
記事の件名: | Re: 最適化の1つの実行を途中で終了させる方法 |
ea内部からテスターをコントロールすることは出来ないと思います。ですから最適化の1つの実行を途中で終了させる方法はMetaTrader単体では不可能と思います。 『不正なパラメータ』というものがどのように不正なのかがわからないのですが、そうならないようにオプティマイズ用のパラメータを用意して、同間隔でのStepに応じたパラメータ群の変換を入れることは難しいのでしょうか? P.S..このトピックはengineerトピックに移動しますね |
作成者: | inumart [ 2011年2月14日(月) 12:39 ] |
記事の件名: | Re: 最適化の1つの実行を途中で終了させる方法 |
それであれば、バックテスト用に例えばint型の『OptiSetting』という公開変数を用意して、その値を変化させると他のパラメータがまとめて変化するようにstart()関数の中でプログラムします。そのプログラムの中で、『A > B > C』となるように『OptiSetting』の同間隔ステップに対応させたA,B,Cのパラメータ群をあらかじめ用意すればよいと思います。 バックテストでは、『OptiSetting』のみにOptimizeをかけます。 |
作成者: | inumart [ 2011年2月15日(火) 00:00 ] |
記事の件名: | Re: 最適化の1つの実行を途中で終了させる方法 |
engineeeer さんが書きました: それであれば、バックテスト用に例えばint型の『OptiSetting』という公開変数を用意して、その値を変化させると他のパラメータがまとめて変化するようにstart()関数の中でプログラムします。そのプログラムの中で、『A > B > C』となるように『OptiSetting』の同間隔ステップに対応させたA,B,Cのパラメータ群をあらかじめ用意すればよいと思います。 バックテストでは、『OptiSetting』のみにOptimizeをかけます。 なるほど・・・よーく分かりました! EAプログラミング以前の、工夫する力量の問題ですね。。。 ”EA側からテスターを制御するのは無理”ということと、上記問題解決の答えを頂けて良かったです。 ありがとうございました! |
ページ 1 / 1 | All times are UTC + 9 hours |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |