エラー、バグ、質問 - ページ 2685

 
これに関する情報は見つかりませんでした

最適化モード "スロー(パラメータの完全列挙)"の戦略テスター- 最適化ステップの合計値は、遺伝的最適化に切り替わりますか?

ZS: 遺伝的最適化が働かないように完全探索する方法論があればありがたいのですが...。
 
時々MT4端末が 自然終了 するのですが、端末のログには何もなく、当選のイベントにも何もありません。このような事故の原因は、どのように判断すればよいのでしょうか?
 
Igor Makanu:
ZS: 遺伝的最適化が働かないように、完全にオーバーキルする方法論があるとありがたいのですが......。

一括最適化。

 
MEデバッガの不具合(build 2370) - StepInto(F11)と設定したブレークポイントが機能しない。
問題は、StepOver(F10)アクションが一度でも関数呼び出しに 適用されると、後でこの関数をデバッグする方法がないことです。

void Increment(int &n){
   ++n;
};

void test(){
   int n = 0;
   for(int i = 0; i < 100; ++i){
      DebugBreak();
      Increment(n);
   }  
}

void OnStart(){
   test();
}

再生のための手順
1) デバッグモードでコードを実行する。
2) ブレークポイントが発生した後、StepOver(F10)を2回実行します。

これで、Increment 関数に「入る」方法はなくなり、手動で設定したブレークポイントはすべて機能しなくなり、操作StepInto(F11)の代わりに、実際にはStepOver(F10)が実行されるようになりました。


 

MEデバッガ(build 2370)の不具合 -ブレークポイントが発生した後(F5)を押してコードの実行を継続する代わりに、実際にはコードを実行せずに 同じブレークポイントが再度発生 します。

#include <Generic\ArrayList.mqh>

void OnStart(){
   CArrayList<int> arr;
   for(int i = 0; i < 5; ++i){
      arr.Add(i);
      arr.Add(2*i);
   }
}

再生手順:
1) 手動で
arr.Add() 」の両行にブレークポイントを 設定する;
2) デバッグ開始(F5);
3) PCMを使って <GenericArrayList.mqh> ネストファイルを新しいタブに開く。
4) "boolCArrayList::Add(T item)" 関数の中から "if(m_size==ArraySize(m_items))" という行を探しブレークポイントを手動で設定 します。
5) "
ArrayList.mqh "タブに いる間、コードの実行を続ける(F5)

これにより、
実際のコード実行を伴わない、以前と 同じブレーク ポイントが発生 します。

 
MT5のバグ(ビルド2370)-静的 構造メソッドで ブレークポイントをトリガーすると、MTターミナルがハングアップする。
その結果、静的構造メソッドの コードをデバッグすることが全くできなくなります。

struct A{
   static void test(){
      DebugBreak();
   }
};

void OnStart(){
   A::test();
}
 
Igor Makanu:
これに関する情報は見つかりませんでした

Strategy Testerの"Slow (complete brute force optimization) "モードでは、最適化ステップの合計値で遺伝的最適化に切り替わるのですか?

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

開発者への質問 - 最適化時にすべての計算コアを使用すること。

アンドレイ・ディク さん 2020.03.26 23:31

最大100mioステップまで設定できるので、オプティマイザーがジェネリックに切り替わることはありません。


 
Andrey Khatimlianskii:

私はこの通信を見つけ、それが起こったときにそれを読んだと思います - 結果はメンバー禁止であり、私は元のソースを見つけたいと思った理由です。

私は1つのパラメータでフル検索モードでテスト - パスは、一般的に、順番に番号が付けられ、フル検索 - 意味の概念ではなく、開発者のいくつかのロジックに従って動作します。

 
Igor Makanu:

フルサーチモードで1つのパラメータでテスト - パスは順番に番号付けされていない、一般的なフル検索 - 意味の概念ではなく、開発者のいくつかの論理に従って動作します

だから、タスクはパックでエージェントに配られる。

1~100は1番目、101~200は2番目など。

そして、インリザルトが順次表示されます(1、101、2、102、など)。

仕分けがしやすい。

 
Andrey Khatimlianskii:

だから、タスクはパックで代理店に配られる。

1~100は1番目、101~200は2番目など。

そして、その結果には、(1、101、2、102、など)が表示されます。

仕分けがしやすい。

なるほど、それはいい答えだ。だいたい合っている。残念なのは、原典が見つかっていないことだ。

GAに含まれるパスの総数を調べる必要がありますが、今のところ100 000 000パスのようで、私のタスクには十分です。