Errores, fallos, preguntas - página 2388

 
Slava:

No hay problema. Este es el indicador

Aquí están los registros

Es cierto, no se ha llamado a OnDeinit con solicitud de control. Por las pruebas de los indicadores. OnDeinit sólo durante la depuración

¿Y por qué durante la depuración en datos históricos no se dan ticks antes de la fecha de inicio de la prueba? El probador los ha recibido y sincronizado después de todo. ¡Entiendo que en el modo "Todos los ticks" el probador no puede generar ticks antes de la fecha de inicio de la prueba, pero en el modo "Cada tick basado en ticks reales" están presentes en el historial y sincronizados (resaltados en rojo en el log+)! ¿Cómo depurar entonces la parte del indicador de ticks que se basa en los datos históricos? ¿Cómo obtener los ticks del tiempo de la barra[0] en el OnCalculate en el probador?

2019.02.20 10:45:28.357 RTS-3.19: symbol to be synchronized
2019.02.20 10:45:28.357 RTS-3.19: symbol synchronized, 3864 bytes of symbol info received
2019.02.20 10:45:28.365 RTS-3.19: history synchronization started
2019.02.20 10:45:28.382 RTS-3.19: load 5264 bytes of history data to synchronize in 0:00:00.007
2019.02.20 10:45:28.382 RTS-3.19: history synchronized from 2017.05.04 to 2019.02.19
2019.02.20 10:45:28.383 RTS-3.19: ticks synchronization started
2019.02.20 10:45:28.384 RTS-3.19: load 38 bytes of tick data to synchronize in 0:00:00.000
2019.02.20 10:45:28.384 RTS-3.19: history ticks synchronized from 2018.12.17 to 2019.02.18
2019.02.20 10:45:28.402 RTS-3.19,M4: history cache allocated for 15218 bars and contains 14188 bars from 2018.01.03 21:16 to 2019.02.14 23:48
2019.02.20 10:45:28.402 RTS-3.19,M4: history begins from 2018.01.03 21:16
2019.02.20 10:45:28.427 RTS-3.19,M4 (Open-Broker): generating based on real ticks
2019.02.20 10:45:28.427 RTS-3.19,M4: testing of Indicators\TestCopyTicksRange.ex5 from 2019.02.15 00:00 to 2019.02.19 00:00 started
2019.02.20 10:45:28.496 RTS-3.19 : real ticks begin from 2018.12.17 00:00:00
2019.02.20 10:46:20.806 2019.02.15 09:45:19   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.809 2019.02.15 09:47:02   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.863 2019.02.15 09:49:47   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.948 2019.02.15 09:55:21   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:21.032 2019.02.15 09:57:25   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:21.200 2019.02.15 10:00:00   2019.02.14 23:28 - 2019.02.15 10:00  ticks_trade=0  ticks_info=15  ticks_all=15
2019.02.20 10:47:25.096 2019.02.15 10:04:00   2019.02.14 23:32 - 2019.02.15 10:04  ticks_trade=3544  ticks_info=973  ticks_all=4517
2019.02.20 10:47:25.099 2019.02.15 10:08:00   2019.02.14 23:36 - 2019.02.15 10:08  ticks_trade=6246  ticks_info=1469  ticks_all=7715
2019.02.20 10:47:25.101 2019.02.15 10:12:00   2019.02.14 23:40 - 2019.02.15 10:12  ticks_trade=7460  ticks_info=1648  ticks_all=9108

Y otra pregunta: ¿por qué se llamó a OnCalculate 5 veces antes de la aparición de los ticks (resaltados en amarillo en el registro)?

 
Dmitriy Burlachenko:

¿Por qué la depuración de los datos históricos no da los ticks anteriores a la fecha de inicio de la prueba? El probador los ha recibido y sincronizado. ¡Entiendo que en el modo "Todos los ticks" el probador no puede generar ticks antes de la fecha de inicio de la prueba, pero en el modo "Cada tick basado en ticks reales" ya están en el historial y sincronizados (resaltados en rojo en el log+)! ¿Cómo depurar entonces la parte del indicador de ticks que se basa en datos históricos? ¿Cómo obtener los ticks del tiempo de la barra[0] en el OnCalculate en el probador?

Y otra pregunta: ¿por qué se llamó a OnCalculate 5 veces antes de la aparición de los ticks (resaltados en amarillo en el registro)?

Cuando se prueban en un yedetic, nunca ceden.

En los ticks reales, haga algunas pruebas desde una fecha mucho más temprana para que los ticks sean bombeados a la base de datos del agente probador.

OnCalculate es llamado en cada tick. Simplemente se registra con mucha menos frecuencia, al comienzo de cada barra posterior que se va a probar. Si, por supuesto, estamos hablando de mi ejemplo de indicador

 
Slava:

Cuando se pruebe en el eejit nunca se dará.

En los ticks reales, haga algunas pruebas desde una fecha mucho más temprana para que los ticks se carguen en la base de datos del agente probador.

OnCalculate es llamado en cada tick. Sólo que el registro se hace con mucha menos frecuencia: al principio de cada barra siguiente que se va a probar. Si, por supuesto, estamos hablando de mi ejemplo de indicador

Eso es lo que ayudó. ¡Muchas gracias! :)

 
Slava:

Bild 1997. Todavía no se ha solucionado el comportamiento de las funciones de cierre de posición parcial. Por favor, corríjalo antes de la publicación.

 

Ya publiqué este error del compilador una vez, pero no hubo respuesta, lo intentaré de nuevo:

class A { };
class B : public A { };
class C : public B { };

void f(A &) {  }
void f(B &) {  }  // Должна вызываться эта функция

void OnStart()
{
  C c; 
  f(c); // 'f' - ambiguous call to overloaded function
}

El compilador genera un falso error. Aquí no hay ambigüedad. La clase B es la más cercana de las antecesoras, por lo que tiene prioridad.

 

Chicos, ayúdenme, cómo pasar el control antes de colocar el robot en el mercado. Dice que no ha pasado la validación, pero cuál es el problema, no lo entiendo. Y no veo el soporte técnico en el sitio

 
Stanislav Sarbey:

Chicos, ayúdenme, cómo puedo pasar el control antes de colocar el robot en el mercado. Dice que no ha pasado la validación, pero cuál es el problema, no lo entiendo. Y no veo el soporte técnico en el sitio

En el informe se dice cuál es el problema...

 

ninguna operación comercial

¿Qué significa?

 
Stanislav Sarbey:

ninguna operación comercial

¿Qué significa esto?

¿Cómo vas a vender algo en un mercado con un desconocimiento absoluto del inglés, que es imprescindible para un mercado?