記事「多通貨エキスパートアドバイザーの開発(第13回):第2段階の自動化 - グループへの選択」についてのディスカッション - ページ 2

 

ユーリ、こんにちは!セカンドステージの最適化を実行 し、なんとかパスしました。しかし、最適化の間、このようなエラーが常にログに残っています:

2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,114,1.90,1.90,0,4200.00,100.00,36000,22)
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)               ],20.815987),class CVirtualStrategyGroup([
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,108,0.10,0.20,150,5600.00,1400.00,38000,3)
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)               ],5.784025),class CVirtualStrategyGroup([
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,12,0.10,1.70,50,2800.00,1300.00,14000,4)
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)               ],7.390437),
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)               ],3.791325)',
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)        'i1_=0,i2_=0,i3_=0,i4_=0,i5_=0,i6_=0,i7_=0,i8_=0,i9_=0,i10_=0,i12_=0,i11_=0,i13_=0,i14_=0,i15_=0,i16_=0,idTask_=126,idParentJob_=9,count_=16',
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)        '2024.08.23 01:15:04');
2024.08.23 01:15:04.636 SimpleVolumesStage2 (GBPUSD,M15)        CDatabase::ExecuteTransaction | ERROR: Transaction failed, error code=5601
2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)        database error, table passes has 2 columns but 48 values were supplied
2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)        CDatabase::Execute | ERROR: 5601 in query
2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)        INSERT INTO passes VALUES (NULL, 126, 504, 10000.00,0.00,6639.64,9498.28,-2858.64,99.33,-32.07,530.81,43.00,530.81,43.00,-170.53,13.00,-147.20,16.00,9957.48,192.99,1.54,1.72,191.61,9895.68,495.00,4.38,4.38,495.00,4.43,3.32,13.41,3.49,6109.55,2681.00,1500.00,1065.00,435.00,676.00,824.00,506.00,559.00,7.00,3.00,99.86,6717.06,'class CVirtualStrategyGroup([
2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)                class CVirtualStrategyGroup([
2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,12,0.10,0.10,0,5400.00,1900.00,7000,7)
2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)               ],4.758732),class CVirtualStrategyGroup([
2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,18,0.50,1.50,50,5800.00,1600.00,3000,27)
2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)               ],10.092854),class CVirtualStrategyGroup([

そして結局、私が気づいたように、データベースには何も追加されていませんでした...。タスクデータベースで唯一変更されたのは、第2段階のタスクのステータスと実行時間です。

このエラーは何を意味しているのでしょうか?パスに関する情報はどこに記録されるべきなのか、また記録されるべきなのか?また、パスに関する情報はどこに記録されるべきなのでしょうか?

 

こんにちは、ビクター。

このような現象は見たことがないので、確かにエラーですね。ログのこの行から判断すると

2024.08.23 01:15:04.693 SimpleVolumesStage2 (GBPUSD,M15)        database error, table passes has 2 columns but 48 values were supplied

メインのデータベースで、パステーブルが2番目のデータベースでのみ作成されるはずのものに置き換えられていると推測できます。つまり、このテーブルには48カラムの代わりに2カラムがあります。

 
セカンドステージのパスに関する情報は、パスが完了するごとにメインベースに書き込まれる。これは、第1ステージのパスに関する情報が書き込まれる場所と同じである。
 

この問題に対処し、第2ステージを走った。メインベースの通路が追加された。しかし、新たな問題が発生した。今度は3つ目のExpert Advisorだ。なぜか、リストで指定したパスを取らず、パステーブルから一番最初のものを取ってしまうのです。そして今、第2ステージのEAが同じように働いたという仮定があり、全体の最適化が間違っています。どうすれば解決できるのか、まだ理解できていません。

あなたの考えによると、タスク・データベースはCommonFilesフォルダかターミナルの MQL5Filesフォルダの どこに 作成すべきでしょうか?

 

3つ目のExpert Advisorも問題なく動作しています。Yuri Expert Advisorとこの一連の記事に感謝します。

追記:このような瞬間に気づきましたが、確かに問題ではありません。しかし、テスターのビジュアルモードでテストすると、EAは多くの場合0.01ロット単位で別々の注文を開きます。私の理解では、各仮想戦略はそれぞれ独自のポジションをオープンします。しかし、3番目の記事のスキームを見ると、最後のスキームによると、各取引商品で1つのポジションをオープンし、オープンしているすべての仮想ポジションの合計ロットと方向に応じてボリュームを調整するだけです。ネット口座で作業しているようなものだ。テスターの不具合か、ポジションの表示方法のせいかもしれませんが......。ユーリさん、EAをhage口座でネッティング口座のように動作させ、各取引商品についてマーケットに1つのポジションしか持たないようにすることは可能ですか?

 
私の理解が正しければ、これはMT5では不可能です。ネッティング取引を行うには、ネッティング口座を開設する必要があります。ヘッジ口座にとどまっている場合、既存のポジションを完全に決済し、各修正時に異なる数量で新しいポジションを建てることで、1つのポジションを通してのみ作業を実現することができます。これでは、手数料と環境による損失が増えるだけだ。
より良い視覚化のためには、シンボルごとに1つのポジションを使用する方が便利かもしれません。しかし、別のデモ口座(またはデモ口座でない口座)をネットで開設してテストする方が簡単です。
 

ユーリ こんにちは。今、第2ステージを最適化しているのですが、ログに時々データベース占有エラーが出ます:

2024.09.02 10:38:33.294 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:38:38.294 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:38:43.293 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:38:48.293 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)        database error, database is locked
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)        CDatabase::Execute | ERROR: 5605 in query
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)        INSERT INTO passes VALUES (NULL, 288, 360, 10000.00,0.00,7003.37,9407.08,-2403.71,46.87,-28.78,941.40,59.00,941.40,59.00,-146.47,7.00,-87.89,13.00,9984.47,146.78,0.94,0.94,146.78,9933.81,217.95,1.92,1.92,217.95,5.57,3.91,32.13,4.09,7507.03,2340.00,1258.00,889.00,369.00,595.00,663.00,430.00,459.00,9.00,4.00,99.96,16091.26,'class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,24,0.10,0.10,150,5800.00,1800.00,31000,5)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],6.543218),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,16,0.10,0.10,0,2400.00,1200.00,27000,5)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],4.995504),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,120,0.50,1.90,50,2800.00,1200.00,60000,19)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],13.285506),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,38,1.30,1.30,50,3800.00,1100.00,13000,25)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],10.046213),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,32,0.50,0.90,100,2800.00,1100.00,2000,3)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],10.450413),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,32,0.50,0.90,150,2800.00,1100.00,2000,3)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],10.254307),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,12,0.10,0.10,150,2800.00,1500.00,21000,16)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],2.232143),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,120,0.50,1.90,0,2800.00,1200.00,16000,11)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],9.453583),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,120,0.50,1.90,0,2800.00,1200.00,27000,23)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],9.453583),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,120,0.50,1.90,0,2800.00,1200.00,39000,19)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],9.453583),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,28,0.60,0.30,0,2800.00,1300.00,52000,5)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],4.348582),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,42,0.50,0.60,150,2400.00,1600.00,2000,3)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],6.733553),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,12,0.10,0.30,150,5800.00,1900.00,51000,4)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],7.383343),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,32,0.50,0.90,150,2600.00,1100.00,1000,3)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],8.483203),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,12,0.10,0.10,150,5800.00,1900.00,38000,7)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],2.723237),class CVirtualStrategyGroup([
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)                class CSimpleVolumesStrategy("GBPUSD",15,34,0.60,0.40,0,2200.00,1300.00,51000,5)
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],4.561836),
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)               ],4.588208)',
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)        'i1_=0,i2_=0,i3_=0,i4_=0,i5_=0,i6_=0,i7_=0,i8_=0,i9_=0,i10_=0,i12_=0,i11_=0,i13_=0,i14_=0,i15_=0,i16_=0,idTask_=288,idParentJob_=18,count_=16',
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)        '2024.09.02 10:38:50');
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)        CDatabase::ExecuteTransaction | ERROR: Transaction failed, error code=5605
2024.09.02 10:38:53.293 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:38:58.293 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:39:03.323 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:39:08.292 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:39:13.305 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288

Expert Advisorは、記事のオリジナルです。PCのローカルエージェントと別のPCのローカルネットワーク上のエージェントで最適化しています。一般的に、プロセスは進行しており、データベースへのパスも埋まっています。

また、第2段階のいくつかのタスクが非常に早く終了することがあります。例えば

2024.09.02 10:45:08.288 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:45:13.302 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:45:18.288 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 288
2024.09.02 10:45:18.397 Optimization (EURUSD,M5)        FinishTask | Task ID = 288
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        StartTask | Task ID = 289
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        [Tester]
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        Expert=SimpleVolumesStage2.mq5
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        Symbol=NZDCAD
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        Period=H1
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        Optimization=2
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        Model=1
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        FromDate=2021.01.01
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        ToDate=2023.01.01
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        ForwardMode=0
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        Deposit=10000
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        Currency=USD
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        ProfitInPips=0
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        Leverage=200
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        ExecutionMode=0
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        OptimizationCriterion=6
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        [TesterInputs]
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        idTask_=289||0||0||0||N
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        idParentJob_=19||0||1||10||N
2024.09.02 10:45:18.406 Optimization (EURUSD,M5)        
2024.09.02 10:45:24.340 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 289
2024.09.02 10:45:24.444 Optimization (EURUSD,M5)        FinishTask | Task ID = 289
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        StartTask | Task ID = 290
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        [Tester]
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        Expert=SimpleVolumesStage2.mq5
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        Symbol=NZDCAD
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        Period=M30
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        Optimization=2
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        Model=1
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        FromDate=2021.01.01
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        ToDate=2023.01.01
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        ForwardMode=0
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        Deposit=10000
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        Currency=USD
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        ProfitInPips=0
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        Leverage=200
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        ExecutionMode=0
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        OptimizationCriterion=6
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        [TesterInputs]
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        idTask_=290||0||0||0||N
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        idParentJob_=20||0||1||10||N
2024.09.02 10:45:24.452 Optimization (EURUSD,M5)        
2024.09.02 10:45:29.219 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 290
2024.09.02 10:45:33.301 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 290
2024.09.02 10:45:38.301 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 290
2024.09.02 10:45:38.397 Optimization (EURUSD,M5)        FinishTask | Task ID = 290
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        StartTask | Task ID = 291
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        [Tester]
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        Expert=SimpleVolumesStage2.mq5
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        Symbol=NZDCAD
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        Period=M15
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        Optimization=2
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        Model=1
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        FromDate=2021.01.01
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        ToDate=2023.01.01
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        ForwardMode=0
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        Deposit=10000
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        Currency=USD
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        ProfitInPips=0
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        Leverage=200
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        ExecutionMode=0
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        OptimizationCriterion=6
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        [TesterInputs]
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        idTask_=291||0||0||0||N
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        idParentJob_=21||0||1||10||N
2024.09.02 10:45:38.408 Optimization (EURUSD,M5)        
2024.09.02 10:45:41.008 SimpleVolumesStage2 (NZDCAD,M15)        OnTesterInit | ERROR: Can't load data from file database892.sqlite.
2024.09.02 10:45:41.008 SimpleVolumesStage2 (NZDCAD,M15)        Check that it exists in data folder or in common data folder.
2024.09.02 10:45:44.259 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 291
2024.09.02 10:45:44.366 Optimization (EURUSD,M5)        FinishTask | Task ID = 291
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        StartTask | Task ID = 292
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        [Tester]
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        Expert=SimpleVolumesStage2.mq5
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        Symbol=NZDCHF
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        Period=H1
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        Optimization=2
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        Model=1
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        FromDate=2021.01.01
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        ToDate=2023.01.01
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        ForwardMode=0
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        Deposit=10000
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        Currency=USD
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        ProfitInPips=0
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        Leverage=200
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        ExecutionMode=0
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        OptimizationCriterion=6
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        [TesterInputs]
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        idTask_=292||0||0||0||N
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        idParentJob_=22||0||1||10||N
2024.09.02 10:45:44.376 Optimization (EURUSD,M5)        
2024.09.02 10:45:49.277 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 292
2024.09.02 10:45:49.381 Optimization (EURUSD,M5)        FinishTask | Task ID = 292
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        StartTask | Task ID = 293
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        [Tester]
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        Expert=SimpleVolumesStage2.mq5
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        Symbol=NZDCHF
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        Period=M30
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        Optimization=2
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        Model=1
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        FromDate=2021.01.01
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        ToDate=2023.01.01
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        ForwardMode=0
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        Deposit=10000
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        Currency=USD
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        ProfitInPips=0
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        Leverage=200
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        ExecutionMode=0
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        OptimizationCriterion=6
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        [TesterInputs]
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        idTask_=293||0||0||0||N
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        idParentJob_=23||0||1||10||N
2024.09.02 10:45:49.391 Optimization (EURUSD,M5)        
2024.09.02 10:45:54.334 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 293
2024.09.02 10:45:58.330 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 293
2024.09.02 10:46:03.316 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 293
2024.09.02 10:46:08.322 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 293
2024.09.02 10:46:13.304 Optimization (EURUSD,M5)        OnTimer | Current Task ID = 293

例えば、NZDCAD H1 M30とNZDCHF H1は、私の理解では、文字通りオプティマイザーの1パスで終了しました。データベース上では、第1ステージのパスが何度もありますが。なぜこのようなことが起こるのでしょうか?

そして、NZDCAD M15は全くエラーを与えました。私が理解するように、それはデータベース内のデータを見つけることはありませんが、これはどのように可能ですか?結局のところ、これらのペアの最適化の最初の段階では、データベースにあったし、パスがあるはずなのですが......。

ユーリ、例えば、第1段階と第2段階を実施し、すべてを1つのデータベースに保存することは可能ですか?そして、(第2ステージの後に)データベースで、第2ステージで悪い結果が出たペアやTFの第1ステージのタスクのステータスを変更することは可能ですか?単にそのようなアクションで、このベース内の他のすべてのペアのために第一段階の新しいパスのIDは、第二段階のパスのIDよりも高くなります。つまり、テーブルのパスです。また、オプティマイザーはこれらのペアとtfの第1ステージのパスを見つけるのでしょうか?

 
ビクターさん、こんにちは。
まず、異なるターミナルチャートで最適化エキスパートアドバイザーの2つのインスタンスが実行されていないか確認してください。その他は後ほどお答えします。
 
いや、2部は除く。
 
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)        database error, database is locked

データベースはどこかで開かれ、ロックされている。また、例えばMetaEditorのように、テスターに関係する外部アプリケーションであることもあります。このようなことに遭遇した覚えはありません。

2024.09.02 10:45:41.008 SimpleVolumesStage2 (NZDCAD,M15)        OnTesterInit | ERROR: Can't load data from file database892.sqlite.
2024.09.02 10:45:41.008 SimpleVolumesStage2 (NZDCAD,M15)        Check that it exists in data folder or in common data folder.

NZDCAD M15の第一段階のパスが何らかの理由で見つかっていないことを示しています。

  А можно потом (после второго этапа) поменять, в базе данных, статус задач первого этапа для тех пар и тф на которых второй этап дал плохие результаты, чтобы для этих пар и тф как бы поверх второго этапа добавить проходов первого этапа ещё, а потом для них провести повторно второй этап? Просто при таком действии id новых проходов первого этапа будет выше чем id  проходов второго этапа для всех остальных пар в этой базе. Я имею веду таблицу passes. Можно так сделать, и найдёт ли оптимизатор проходы превого этапа для этих пар и тф?

はい、何度でもできます。以前の第1ステージの古いパスを残したくない場合は、必要なid_taskによってパステーブルからそれらを削除することができます。