MetaTrader 5 Strategy Tester: バグ、不具合、改善のための提案 - ページ 39

 
スクリプトやEAのデバッグ中にcollstackを歩き回ると、ソースコードの左側に緑色の矢印が表示され、どの行にいるのかがわかります。異なるファイル、例えば多くの異なるinludesでcollstackを歩き回る場合、実際、独自のファイルで開いている各タブは、異なる緑色の矢印を持ちます。しかし、デバッグを止めると、消えるのではなく、そのままになってしまうのです。バグか虫か?
 
このスレッドで既出かどうかは分かりませんが。もしかしたら、最終的にテスターから全ての利用可能なバーにアクセスできるようになるかもしれませんね。松葉杖で数年かけて古いTFを5分で読み込む作業には、本当にうんざりです
 
traveller00:

2280のビルドが使用されています。引用元がなかったのに記号とピリオドを取る。この場合、それは ボルサ-デ-返り, ブローカー Otkritie, シンボル UCAD-12.19, 期間 01.09.2019-03.09.2019.簡単なExpert Advisorが動作しています(下図)。1パスずつレースすると、履歴なし、バー0、ティック0と表示されるだけで、問題ないです。最適化を実行 すると、ジェネリックでもフルでも関係なく、ログに多くのエラーが含まれるようになります

OldTicksの 配列にアクセスする対応になっているようですが、理由がわかりません。関数の戻り値を配列のサイズに置き換えても、解決しない。どうすればいいかは未知数です。

このエラーを再現し、修正するためには、ex5と最適化条件の専門家が必要です。

差し支えなければ、プライベートメッセージでお送りください。専門家は、研究後に取り返しのつかないことになる

 
Slava:

このエラーを再現し修正するためには、ex5と最適化条件という形で専門家が必要です。

もしご迷惑でなければ、プライベートメッセージで私に研究後、専門家は取り消し不能に消去されます。

Expert Advisorのソースコードは、同じ投稿に記載されています。念のため、下記に再掲しておきます。

記号とピリオド、そこに引用がなかったとき。私の場合、それは証券取引所、ブローカーOtkritie、シンボルUCAD-12.19、期間01.09.2019-03.09.2019である。

遺伝的最適化も完全なオーバーシュートも関係ない。1変数で、0から1000000まで入れて、より多く合格させる。

input int test=1;

double OnTester()
{
  return 0;
}

void Test(const MqlTick &Tick)
{
}

void OnInit()
{
  MqlTick OldTicks[];
  int OldTicksCount=CopyTicks(_Symbol,OldTicks,COPY_TICKS_ALL);
  while(OldTicksCount>=1000)
    OldTicksCount=CopyTicks(_Symbol,OldTicks,COPY_TICKS_ALL,OldTicks[OldTicksCount-500].time_msc);
  for(int i=0;i!=ArraySize(OldTicks);++i)
    Test(OldTicks[i]);
}
 
traveller00:

2280のビルドが使用されています。引用元がなかったのに記号とピリオドを取る。この場合、それは ボルサ-デ-返り, ブローカー Otkritie, シンボル UCAD-12.19, 期間 01.09.2019-03.09.2019.簡単なExpert Advisorが動作しています(下図)。1パスずつレースすると、履歴なし、バー0、ティック0と表示されるだけで、問題ないです。最適化を実行 すると、ジェネリックでもフルでも関係なく、ログに多くのエラーが含まれるようになります

OldTicksの 配列にアクセスする対応になっているようですが、理由がわかりません。関数の戻り値を配列のサイズに置き換えても、解決しない。どうすればいいかは未知数です。

メッセージありがとうございました

問題が見つかり、修正されました。

 
Anton:

メッセージをありがとうございました

問題が見つかり、修正されました。

ありがとうございます。

 
ダウンロードした履歴はなかった。全キャラクターに着手。
2019.12.16 16:41:50.787 Tester  Experts\fxsaber\Research\Research03.ex5 on EURGBP,H1 from 2015.01.01 00:00 to 2019.12.16 00:00
2019.12.16 16:41:50.787 Tester  optimization on all MarketWatch symbols started
2019.12.16 16:41:50.790 Core 1  agent process started on 127.0.0.1:3000
2019.12.16 16:41:50.791 Core 2  agent process started on 127.0.0.1:3001
2019.12.16 16:41:50.792 Core 3  agent process started on 127.0.0.1:3002
2019.12.16 16:41:50.793 Core 4  agent process started on 127.0.0.1:3003
2019.12.16 16:41:50.794 Core 5  agent process started on 127.0.0.1:3004
2019.12.16 16:41:50.795 Core 6  agent process started on 127.0.0.1:3005
2019.12.16 16:41:51.145 Core 4  connecting to 127.0.0.1:3003
2019.12.16 16:41:51.145 Core 4  connected
2019.12.16 16:41:51.155 Core 2  connecting to 127.0.0.1:3001
2019.12.16 16:41:51.155 Core 2  connected
2019.12.16 16:41:51.162 Core 4  authorized (agent build 2280)
2019.12.16 16:41:51.162 Core 1  connecting to 127.0.0.1:3000
2019.12.16 16:41:51.162 Core 1  connected
2019.12.16 16:41:51.162 Core 3  connecting to 127.0.0.1:3002
2019.12.16 16:41:51.163 Core 3  connected
2019.12.16 16:41:51.163 Tester  EURGBP: history data begins from 2003.02.06 00:00
2019.12.16 16:41:51.163 Core 4  pass 0 started on EURGBP
2019.12.16 16:41:51.167 Core 4  common synchronization completed
2019.12.16 16:41:51.171 Core 2  authorized (agent build 2280)
2019.12.16 16:41:51.178 Core 3  authorized (agent build 2280)
2019.12.16 16:41:51.178 Core 1  authorized (agent build 2280)
2019.12.16 16:41:51.276 Tester  EURUSD: history data begins from 1971.01.04 00:00
2019.12.16 16:41:51.276 Core 2  pass 1 started on EURUSD
2019.12.16 16:41:51.280 Core 2  common synchronization completed
2019.12.16 16:41:51.476 Core 3  GBPUSD: preliminary downloading of M1 history started
2019.12.16 16:41:51.694 Core 2  EURUSD: history for 2014 year synchronized
2019.12.16 16:41:52.009 Core 2  EURUSD: history for 2015 year synchronized
2019.12.16 16:41:52.351 Core 2  EURUSD: history for 2016 year synchronized
2019.12.16 16:41:52.663 Core 2  EURUSD: history for 2017 year synchronized
2019.12.16 16:41:52.958 Core 2  EURUSD: history for 2018 year synchronized
2019.12.16 16:41:53.080 Core 2  EURUSD: history for 2019 year synchronized
2019.12.16 16:41:53.080 Core 2  EURUSD: history synchronization completed [13567 Kb]
2019.12.16 16:41:53.080 Core 2  EURUSD: 13.25 Mb of history processed in 0:01.778
2019.12.16 16:41:56.077 Core 4  pass 0 on EURGBP returned result 100000.00 in 0:00:04.862
2019.12.16 16:41:57.077 Core 2  pass 1 on EURUSD returned result 100000.00 in 0:00:03.961
2019.12.16 16:42:05.052 Core 3  pass 2 started on GBPUSD
2019.12.16 16:42:05.059 Core 3  common synchronization completed
2019.12.16 16:42:05.276 Core 3  GBPUSD: history synchronization started
2019.12.16 16:42:06.143 Core 4  pass 3 started on AUDCAD
2019.12.16 16:42:06.143 Core 5  connecting to 127.0.0.1:3004
2019.12.16 16:42:06.144 Core 6  connecting to 127.0.0.1:3005
2019.12.16 16:42:06.144 Core 5  connected
2019.12.16 16:42:06.144 Tester  testing on MarketWatch symbols finished, total passes 2
2019.12.16 16:42:06.144 Statistics      optimization done in 0 minutes 16 seconds
2019.12.16 16:42:06.144 Statistics      local 2 tasks (100%), remote 0 tasks (0%)
2019.12.16 16:42:06.144 Core 6  connected
2019.12.16 16:42:06.167 Tester  2 new records saved to cache file 'tester\cache\Research03.all_symbols.H1.20150101.20191216.22.FBC21040E327AF5F62DDA1A545DE091D.opt'
2019.12.16 16:42:06.168 Core 1  connection closed
2019.12.16 16:42:06.168 Core 2  connection closed
2019.12.16 16:42:06.168 Core 3  connection closed
2019.12.16 16:42:06.172 Core 6  authorized (agent build 2280)
2019.12.16 16:42:06.177 Core 5  authorized (agent build 2280)
2019.12.16 16:42:06.349 Core 4  AUDCAD: history synchronization started
2019.12.16 16:42:11.777 Core 3  GBPUSD: history downloading completed
2019.12.16 16:42:11.777 Core 3  GBPUSD: history synchronization interrupted
2019.12.16 16:42:11.777 Core 4  connection closed
2019.12.16 16:42:24.794 Core 4  AUDCAD: history downloading completed
2019.12.16 16:42:24.794 Core 4  AUDCAD: history synchronization interrupted
2019.12.16 16:42:24.794 Core 5  connection closed
2019.12.16 16:42:24.794 Core 6  connection closed
2019.12.16 16:42:24.794 Tester  stopped by user
ハイライトされた行の後に停止を押すと、端末が "Not responding "モードになります。27秒後にハングアップしました(ログから判断)。
 
EX5を1回実行したときの全エラー数は、どのように算出するのですか?例えば、ロット違いやマージン不足など。
 
ビルド2280記号とピリオドがかかっているのは、その上に引用がなかったときです。この場合、それは証券取引所、ブローカーOtkritie、シンボル1MFR-1.20、期間01.09.2019-01.12.2019である。ExamplesMoving Average.ex5 から任意のExpert Advisorを実行します。遺伝的最適化を設定(他の方もこのバグがあると思われますが)、基準は差をつけない(とにかくティックをつけない)、各ティックは 実ティックを基準に、利益はpipsで。それを最適化することで、基本的にゼロパスのセットを得ることができるのです。なぜprofit_factorとmargin_levelは各パスでゴミで埋まっているのですか?どこかで変数がゼロで初期化されているのでは?バックテストタブでは空白に見えるだけで、何も出力されません。optファイルを手で解析すると、profit_factor = 1.797693134862316e+308 と margin_level = 1.797693134862316e+308 という値になっています。
 
traveller00:
profit_factor =1.797693134862316e+308 and margin_level =1.797693134862316e+308.

DBL_MAX