Errores, fallos, preguntas - página 2587

 
elibrarius:
Creo que es más fácil leer las barras de los archivos.

Te escribí una solución en una línea - añade la fecha de la prueba a esta condición y prueba en el probador sin problema, el rendimiento al menos disminuirá

o mejor aún, hacer lo que sugiere admin - el archivo no es, por supuesto, un problema, pero hay una gran tentación de espiar en los lugares equivocados con la red neuronal - así es como por lo general terminé haciéndolo ))))

 
Roman:

El código utiliza lock_guard
Pero si se comenta, no hay ningún cambio
.

Sin embargo, comenzó a filtrarse, bueno, está claro por qué, debido al tamaño incorrecto de
A la vuelta de las vacaciones, si no es mucha molestia, estudiaré el tema. Pero lógicamente el fallo no está en mql, sino en tu código. Por cierto, sólo por diversión, ¿y si la biblioteca funciona con qué codificación? ¿Está seguro de que utf-16, pero lo que si es utf-8, después de todo, el más común.
 
Igor Makanu:

Te escribí una solución en una línea - añade la fecha de la prueba a esta condición y prueba en el probador sin problema, el rendimiento al menos disminuirá

O mejor aún, sólo sigue la sugerencia de admin - el archivo no será un problema, pero puedes tener la tentación de usar la red neuronal para asomarte a lugares que no deberías - así es como suelo terminar con él )))

Lo he comprobado, pero no ha servido de nada.

Y no debería. Al fin y al cabo, según el artículo que ha citado admin:
Lacantidad mínima de historial a descargar del servidor de operaciones para los plazos D1 y menores es de un año.

Y las 100000 barras de M15 que pedí son de unos 3 años. Durante el primer año se copian las barras, son 37k barras, y más allá de eso simplemente no están en el probador, esperar no servirá de nada.

 
elibrarius:

Lo he comprobado, pero no ha servido de nada.

No debería serlo. Al fin y al cabo, según el artículo que ha citado el administrador:
Lacantidad mínima de historial al descargar del servidor de operaciones para los plazos D1 y menores es de un año.

Y las 100000 barras de M15 que pedí son de unos 3 años. Durante el primer año se copian las barras, son 37k barras, y más allá de eso simplemente no están en el probador, esperar no servirá de nada.

a mi me funciona, pon la prueba 2000 - 2019 en M15, código experto:

input int InpBars = 100000;

void OnTick()
{  static bool print_once = true;
   int bars = Bars(_Symbol, _Period);
   if(bars < InpBars) return;

   if(print_once)
   {  Print("OK - ", TimeCurrent());
      print_once = false; }

}

Lo tengo en el registro:

2019.10.04 22:15:19.567 Core 1 EURUSD,M15: la prueba de Experts\IgorM\tst.ex5 de 2000.01.01 00:00 a 2019.10.03 00:00 comenzó con entradas:

2019.10.04 22:15:19.567 Core 1 InpBars=100000

2019.10.04 22:15:19.567 Núcleo 1 2003.01.16 19:30:00 OK - 2003.01.16 19:30:00

2019.10.04 22:15:19.567 Core 1 saldo final 10000.00 USD

añadir una fecha a la condición para empezar a probar y entrenar al NS, o hacer lo que sugirió admin
 
Igor Makanu:

Tengo todo funcionando, puse la prueba 2000 - 2019 en M15, código experto:

Lo tengo en el registro:

2019.10.04 22:15:19.567 Core 1 EURUSD,M15: la prueba de Experts\IgorM\tst.ex5 de 2000.01.01 00:00 a 2019.10.03 00:00 comenzó con entradas:

2019.10.04 22:15:19.567 Core 1 InpBars=100000

2019.10.04 22:15:19.567 Núcleo 1 2003.01.16 19:30:00 OK - 2003.01.16 19:30:00

2019.10.04 22:15:19.567 Core 1 saldo final 10000.00 USD

añada la fecha a partir de la cual quiere empezar a hacer pruebas en la condición y enseñe la NS, o haga lo que sugiere el administrador

Ahora entiendo su idea)

Es decir, no debe ejecutar la prueba para los últimos 2 meses, sino para 3 años, omitir todos estos 3 años en OnTick e iniciar el cálculo sólo en los últimos 2 meses.

Sí, es la solución más fácil. Gracias.

 
elibrarius:

Y las 100.000 barras M15 que pedí son de unos 3 años. Durante el primer año se copian las barras, son 37.000 barras, y luego simplemente no están en el probador, esperar no servirá de nada.

Sería más rápido trabajar con su archivo histórico en el modo de optimización"Cálculos matemáticos".

 
elibrarius:

Ahora entiendo su idea)

Es decir, la prueba no debe ejecutarse para los últimos 2 meses, sino para 3 años, omitir todos esos 3 años en OnTick y comenzar los cálculos sólo en los últimos 2 meses.

Sí, esta es la solución más fácil. Gracias.

Añadir tiempo a la condición

input int InpBars = 100000;
input datetime InpDataTest = D'2015.01.01 00:00'; 
void OnTick()
{  static bool print_once = true;
   int bars = Bars(_Symbol, _Period);
   datetime t = TimeCurrent();
   if(bars < InpBars || t < InpDataTest  ) return;

   if(print_once)
   {  Print("OK, TimeCurrent() =  ", t);
      print_once = false; }

}

2019.10.04 22:36:42.729 Core 1 EURUSD,M15: la prueba de los expertosIgorM\tst.ex5 de 2000.01.01 00:00 a 2019.10.03 00:00 comenzó con las entradas:

2019.10.04 22:36:42.729 Core 1 InpBars=100000

2019.10.04 22:36:42.729 Core 1 InpDataTest=1420070400

2019.10.04 22:36:42.729 Core 1 2015.01.02 09:00:00 OK, TimeCurrent()= 2015.01.02 09:00:00

2019.10.04 22:36:43.041 Core 1 saldo final 10000.00 USD



 
Igor Makanu:

añadir tiempo a la condición

2019.10.04 22:36:42.729 Core 1 EURUSD,M15: la prueba de los expertosIgorM\tst.ex5 de 2000.01.01 00:00 a 2019.10.03 00:00 comenzó con las entradas:

2019.10.04 22:36:42.729 Core 1 InpBars=100000

2019.10.04 22:36:42.729 Core 1 InpDataTest=1420070400

2019.10.04 22:36:42.729 Core 1 2015.01.02 09:00:00 OK, TimeCurrent() = 2015.01.02 09:00:00

2019.10.04 22:36:43.041 Core 1 saldo final 10000.00 USD



Sí, gracias. Todo funciona.

 
Aleksey Vyazmikin:

Sería más rápido trabajar con su archivo histórico en el modo"Cálculos matemáticos" del optimizador.

Esto es si se encuentra puramente en la propia NS y mira el resultado.

Estoy probando la operación ahora, para que se tengan en cuenta tanto los costes como los diferenciales. El resultado es que el robot de trading está listo para ser utilizado en el probador y puede ser conectado a una operación real.

 
elibrarius:

Bueno, eso es si estás puramente en la propia NS y mirando el resultado.

Estoy probando la operación ahora, para que se tengan en cuenta tanto los costes como los diferenciales. Por eso me interesa un robot ya hecho que pueda mirar en el probador y conectar con el trading real.

Sigo sin entenderlo: ¿sus predictores necesitan más profundidad de cálculo? Realmente necesito uno - MA en los días :) Sólo empiezo a probar un año antes y el comercio antes de esa fecha puede ser prohibido...

Razón de la queja: