Errores, fallos, preguntas - página 1909

 
Alexandr Bryzgalov:
Esa es la idea.


Gracias.

¿dónde puedo leer sobre la idea? ni una palabra en la ayuda

¿es sólo para la variable de cadena?

¿se puede utilizar cualquier carácter en el comentario?

 
Stanislav Korotky:
Ya veo lo que quieres decir. La siguiente pregunta, ¿por qué no se activa OnDeinit cuando se cierra la ventana de pruebas visuales? ¿Cómo depurar algo que se encuentra en el OnDeinit del indicador y que está relacionado con el procesamiento de la información recogida del proceso de ejecución (en particular, el perfilado que no se puede realizar rápidamente y sobre los datos del historial largo en el gráfico en línea)?

Pensemos en ello.

Cuando se hace un perfil sobre el historial, se puede llamar a OnDeinit justo después del final de los datos. Para la elaboración de perfiles, los artefactos indicadores no suelen ser necesarios.

 
Slava:

Pensemos en ello.

Cuando se hace un perfil sobre el historial, es posible llamar a OnDeinit inmediatamente después del final de los datos. Para la elaboración de perfiles, los artefactos indicadores no suelen ser necesarios.

He escrito una solicitud a la SD.
 
Stanislav Korotky:
Escribió una solicitud a la SD.
Gracias. Ya he escrito la aplicación yo mismo.
 
Slava:
Gracias. Ya he escrito la aplicación yo mismo.
Antes de escribir al SR, he comprobado si no había respuesta aquí ;-) y no la había en ese momento. En cualquier caso, tal vez algunas de mis sugerencias de la aplicación podrían funcionar.
 
Alexandr Bryzgalov:

Como dicen en Jeopardy - no hay tal tema. corregido, será así


 
Se selecciona un EA en el probador. Cada vez, después de compilarlo, el probador selecciona un EA diferente. Hay un error.
 

Cuando se pulsa la tecla Home y se aleja el gráfico en MT5, los objetos gráficos y los indicadores se alejan - se puede ver en la ilustración por el ZigZag.


 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Bichos, errores, preguntas

Renat Fatkhullin, 2017.05.13 17:07

Así es, no se puede conducir de abajo a arriba, sólo de arriba a abajo. Es por seguridad.

No se puede comparar con C++: allí todo se puede reducir a cualquier cosa.

¿Por qué se compila?
class A {};

class B : public A
{
public:  
  int i;
};

void OnStart()
{
  A* a = new B;
  
  ((B*)a).i = 1;
  
  dynamic_cast<B*>(a).i = 1;
  
  delete a;
}
 

En general, hay tres posibilidades.

1. Es un error.

2. este casting permite hacer un casting como reinterpret_cast que en principio es inseguro. Si es así, puedes lanzar cualquier puntero con el riesgo de obtener una excepción de acceso más tarde.

3. este casting permite hacer un casting como dynamic_cast, pero entonces se plantea la cuestión de cómo distinguir los cast dinámicos y los estáticos y entonces probablemente todos los cast se hagan en tiempo de ejecución