Обсуждение статьи "Разрабатываем мультивалютный советник (Часть 13): Автоматизация второго этапа — отбор в группы" - страница 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([

И по итогу как я понял в базу данных ничего не добавилось... Единственное в базе данных tasks поменялся статус задач второго этапа и время их выполнения.

Что значит эта ошибка и куда копать? Куда должна записываться информация о проходах и должна ли вообще? Если должна то по мере проходов или в конце всего этапа одной транзакцией вся в базу данных?

 

Здравствуйте, Виктор.

У меня такого не наблюдалось, то есть это действительно ошибка. Судя по этой строке лога:

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

могу предположить, что у вас в основной базе таблица passes заменилась на ту, которая должна была создаваться только во второй базе. То есть в этой таблице теперь вместо 48 столбцов стало 2.

 
Информация о проходах второго этапа записывается в основную базу по мере завершения каждого прохода. То есть туда же, куда пишется информация о проходах первого этапа
 

С этим вопросом я разобрался и провёл второй этап. Проходов в основной базе добавилось. Но появилась новая проблема... Теперь с третьим советником. Он почему-то не берёт в работу проходы которые указываешь в списке, а берёт первые с самого начала с таблицы passes. И есть теперь предположение что советник второго этапа работал так-же и вся оптимизация неверная. Как это решить пока не пойму.

А вот база данных задачи должны по вашей задумке где создаваться, в папке Common\Files или в папке терминала MQL5\Files ?

 

С третьим советником тоже разобрался, вроде бы заработало как надо. Юрий спасибо Вам за советник и цикл статей этот.

PS: Заметил такой момент, это конечно не проблема но всё же, - вот при тесте в визуальном режиме в тестере советник открывает очень много отдельных ордеров, часто по 0.01 лота. Как я понимаю это от каждой виртуальной стратегии открываются свои позиции. А вроде бы если посмотреть схему из 3-й статьи то там согласно последней схеме он должен открывать по одной позиции на каждом торговом инструменте и просто корректировать объём в зависимости от суммарного лота и направления всех открытых виртуальных позиций. Типо как будто работа на netting счёте. Может быть это просто в тестере такой глюк или так отображаются позичии там... Юрий, а можно как то в советнике включить чтобы он на hage счёте работал как будто на netting счёте и имел только одну позицию в рынке по каждому торговому инструменту? 

 
Если я правильно понимаю, то в MT5 такого сделать нельзя. Если хотим netting-исполнение, то открываем netting-счет. Если оставаться на hedge-счете, то реализовать работу через одну позицию можно только через полное закрытие имеющейся позиции и открытии новой с другим объёмом при каждой коррекции. А это ничего, кроме дополнительных потерь на комиссии и среде, не даёт.
Для лучшей визуализации, может быть действительно удобнее использовать по одной позиции на символ. Но тут проще для тестирования открыть ещё один демо-счет (или не демо) с netting.
 

Юрий здравствуйте. Провожу сейчас вот оптимизацию второго этапа и в логе периодически проскакивает ошибка занятости базы данных:

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

Советник оригинальный, из статьи. Оптимизацию провожу на локальных агентах пк и по локальной сети на агентах другого пк. В целом процесс идёт и проходы в базу заполняются,  но хотелось бы понять от чего происходит эта ошибка, ну и как то её исправить?

Ещё бывает некоторые задачи второго этапа очень быстро заканчиваются. Вот к примеру:

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 закончились буквально за один проход оптимизатора как я понимаю. Хотя там в базе проходов первого этапа для них много есть. Почему так происходит и что с этим можно сделать?

А NZDCAD M15 вообще ошибку выдал. Как я понимаю он не находит данных в базе данных, но как такое возможно? Ведь на первом этапе оптимизация этих пар была и проходы должны быть в базе...

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

 
Здравствуйте, Виктор.
Проверьте в первую очередь, что у вас не оказалось запущено два экземпляра советника Optimization в разных графиках терминала. Про остальное отвечу позже.
 
Нет, 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. Можно так сделать, и найдёт ли оптимизатор проходы превого этапа для этих пар и тф?

Да, так делать можно сколько угодно раз. Если хочется, чтобы старых проходов от предыдущих первых этапов не осталось, то их можно удалить из таблицы passes по нужным id_task.