私の拷問のようなアイデアの話なら、そうでもないのですが。Working set of parameters "で、最初のtrpar2=falseの パスで、かなり動作する結果が得られるでしょう。同じ「作業パラメータセット」とtrpar2=falseを 持つ後続のパスはすべて直ちにゼロを返しますが、あなたの「作業パラメータセット」はいずれにせよ選択に参加し、重複するパスは拒否されます。これがあなたの望んでいたことでしょう?
Yedelkin: 私の拷問のようなアイデアのことなら、そうでもないのですが。Working set of parameters "で、最初のtrpar2=falseで、かなり動作する結果が得られます。同じ「作業パラメータセット」とtrpar2=falseを 持つ他のすべてのパスは、直ちにゼロを返しますが、あなたの「作業パラメータセット」は、とにかく選択に参加することになります。これがあなたの望んでいたことでしょう?
ビットフィールドによる最適化、このバリアントでは不要なパスはありません。
例えば、こんな感じです。
で、与えられたパラメータで最適化します。この例では、bp は 0 から 3 の間で最適化されます。
できる、できないの評決を書き忘れたのは、あなただけです。
どうして「簡単」なんだろう?:)EA を削除する条件やREASON_INITFAILED の条件は、まだ追跡する必要がある。これが、面倒くさそうなんですよね。
その結果、原理的には、作業用のパラメータセットはゼロの結果をもたらし、それ以上の選択には関与しないことが判明した。
エレガントなソリューションがない場合、まず「簡単な」ものを使うことができます。もし、より良いものが見つかれば、いつでも交換することができます。:)
私の拷問のようなアイデアのことなら、そうでもないのですが。Working set of parameters "で、最初のtrpar2=falseで、かなり動作する結果が得られます。同じ「作業パラメータセット」とtrpar2=falseを 持つ他のすべてのパスは、直ちにゼロを返しますが、あなたの「作業パラメータセット」は、とにかく選択に参加することになります。これがあなたの望んでいたことでしょう?
少しは修正できるはずです。最適化パラメータは構造体に記述し、それら(単純構造体)は変数として扱う。コードは次のようになります。
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } ここでParとParoldは、他の通貨ペアの最適パラメータを書き込むための構造体である。ifの数だけペアがあっても、それほど不格好には見えない。ありがとうございます。
もう一度言いますが、面倒なのは、どのコマンドでパスを早く終了させるかではなく、これは、どんなものであれ、かなり原始的な解決方法です。面倒なのは、早く峠を越すための条件を把握しておくことだ。あなたの提案で先に通過が完了することで、「トラッキングユニット」自体の煩わしさが軽減され、このユニットのエレガントさが増すということはないのです。
では、どういう意味だったのでしょうか?エレガントなソリューションがない場合は、一切使うべきではないということですか?あったとしても、でも、あなたの言うように「痛い」?
要するに、前に進もうということです。そうでなければ、コードよりも浸水から煩わしくなります。:)
少しは修正できるはずです。最適化パラメータは構造体で記述し、それら(単純構造体)は変数として扱います。コードは次のようになります。
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } ここでParとParoldは、他の通貨ペアの最適パラメータを書き込むための構造体である。
少しは修正できるはずです。最適化パラメータは構造体に記述し、それら(単純構造体)は変数として扱う。コードは次のようになります。
if(!trpar && Par1==Parold1 && Par2==Parold2) { Parold1=Par; Parold2=Par2 ; return(9) } ここでParとParoldは、他の通貨ペアの最適パラメータを書き込むための構造体である。ifの数だけペアがあっても、それほど不格好には見えない。ありがとうございます。
もう一つバリエーションがあります(気が抜けてました)。
機能を見ていただいても結構です。OnTesterInit()、OnTesterPass()、OnTesterDeinit()の3つです。
そして、FrameFirst (),FrameFilter (),FrameNext (),FrameInputs (),FrameAdd()です。
まさに、そのためにあるのです。:)
つまり、現在の最適化における任意のパスの全パラメータをいつでも要求することができるのです。