Discusión sobre el artículo "Desarrollamos un asesor experto multidivisa (Parte 13): Automatización de la segunda fase: selección en grupos" - página 2

 

Yuri, ¡buenas tardes! He conseguido ejecutar la optimización de la segunda etapa y ha pasado. Pero durante la optimización estos errores aparecen constantemente en el log:

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([

Y al final, como me di cuenta, no se añadió nada a la base de datos.... La única cosa en la base de datos de tareas cambió el estado de las tareas de la segunda etapa y el tiempo de su ejecución.

¿Qué significa este error y dónde indagar? ¿Dónde debe registrarse la información sobre los pases y si debe registrarse en absoluto? ¿Si se debe escribir como pases o al final de toda la etapa en una transacción todo en la base de datos?

 

Hola Victor.

No lo he observado, así que se trata efectivamente de un error. A juzgar por esta línea del log:

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

Puedo suponer que en tu base de datos principal la tabla de pases ha sido sustituida por la que debería haberse creado sólo en la segunda base de datos. Es decir, esta tabla tiene ahora 2 columnas en lugar de 48.

 
La información sobre los pases de la segunda etapa se escribe en la base principal a medida que se completa cada pase. Es el mismo lugar en el que se escribe la información sobre los pases de la primera etapa.
 

Me ocupé de este problema y realicé la segunda etapa. Se añadieron pasajes en la base principal. Pero apareció un nuevo problema... Ahora con el tercer Asesor Experto. Por alguna razón no toma los pases que se especifican en la lista, sino que toma los primeros desde el principio de la tabla de pases. Y ahora se supone que el EA de la segunda etapa funcionaba igual y toda la optimización está mal. Todavía no entiendo como resolverlo.

Según tu idea, ¿dónde se debe crear la base de datos de tareas, en la carpeta Common\Files o en la carpeta MQL5\Files del terminal?

 

El tercer Asesor Experto también está solucionado, parece que funciona como debería. Yuri gracias por el Asesor de Expertos y esta serie de artículos.

PS: Me di cuenta de tal momento, ciertamente no es un problema, pero aún así, - al probar en el modo visual en el probador, el EA abre un montón de órdenes separadas, a menudo por 0,01 lote. Según tengo entendido, cada estrategia virtual abre sus propias posiciones. Pero si nos fijamos en el esquema del 3er artículo, a continuación, de acuerdo con el último esquema debe abrir una posición en cada instrumento de negociación y sólo ajustar el volumen en función del lote total y la dirección de todas las posiciones virtuales abiertas. Es como trabajar en una cuenta de compensación. Tal vez es sólo un fallo en el probador o es sólo la forma en que las posiciones se muestran allí.... Yuri, ¿es posible habilitar el EA para trabajar en la cuenta hage como si estuviera trabajando en una cuenta de compensación y tener sólo una posición en el mercado para cada instrumento de negociación?

 
Si he entendido bien, esto no es posible en MT5. Si queremos una ejecución neta, necesitamos abrir una cuenta neta. Si nos quedamos en una cuenta de cobertura, sólo podemos realizar el trabajo a través de una posición mediante el cierre completo de la posición existente y la apertura de una nueva con un volumen diferente en cada corrección. Y esto no da más que pérdidas adicionales en comisiones y entorno.
Para una mejor visualización, puede ser más conveniente utilizar una posición por símbolo. Pero es más fácil abrir otra cuenta demo (o no demo) con netting para hacer pruebas.
 

Hola Yuri. Ahora estoy optimizando la segunda etapa, y en el log de vez en cuando me sale un error de ocupación de base de datos:

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

El Asesor Experto es original, del artículo. Estoy optimizando en agentes locales de un PC y en red local en agentes de otro PC. En general, el proceso sigue su curso y los pases a la base de datos se llenan, pero me gustaría entender qué causa este error y cómo solucionarlo.

También ocurre que algunas tareas de la segunda etapa terminan muy rápido. Por ejemplo:

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

Aquí por ejemplo NZDCAD H1 M30 y NZDCHF H1 terminaron literalmente en una pasada del optimizador según tengo entendido. Aunque hay muchos pases de la primera etapa para ellos en la base de datos. ¿Por qué sucede esto y qué se puede hacer al respecto?

Y NZDCAD M15 dio un error en absoluto. Según tengo entendido no encuentra datos en la base de datos, pero ¿cómo es esto posible? Después de todo, en la primera etapa de la optimización de estos pares fue y pasa debe estar en la base de datos....

Yuri, ¿es posible hacer esto por ejemplo: He llevado a cabo la primera y la segunda etapa y guardado todo en una base de datos. ¿Y es posible entonces (después de la segunda etapa) cambiar, en la base de datos, el estado de las tareas de la primera etapa para aquellos pares y tf en los que la segunda etapa dio malos resultados, de modo que para estos pares y tf como si en la parte superior de la segunda etapa para agregar pases de la primera etapa, y luego para ellos para llevar a cabo de nuevo la segunda etapa? Simplemente en tal acción id de nuevos pases de la primera etapa será mayor que id de pases de la segunda etapa para todos los demás pares en esta base. Me refiero a los pases de la tabla. ¿Es posible hacerlo, y encontrará el optimizador pases de la primera etapa para estos pares y tf?

 
Hola Victor.
En primer lugar, comprueba que no tienes dos instancias del Asesor Experto en Optimización ejecutándose en gráficos terminales diferentes. Te responderé sobre el resto más adelante.
 
No, dos copias excluidas.
 
2024.09.02 10:38:50.882 SimpleVolumesStage2 (GBPUSD,M15)        database error, database is locked

Una base de datos está abierta y bloqueada en algún lugar. También puede ser una aplicación externa en relación con el probador, por ejemplo, MetaEditor. No recuerdo haberme encontrado con algo así.

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.

Sí indica que por alguna razón no se han encontrado los pases de la primera etapa para NZDCAD M15.

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

Sí, puedes hacerlo tantas veces como quieras. Si quieres que no queden los pases antiguos de las primeras etapas anteriores, puedes borrarlos de la tabla de pases por el id_tarea requerido.