Errores, fallos, preguntas - página 1783
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Pregunta: ¿Cuándo se llamará a OnDeinit->M5?
Mi respuesta: ¡Nunca!
Su respuesta anterior: de forma asíncrona y con retraso
Han pasado más de 30 minutos y todavía no se llama a OnDeinit->M5
Y ahora vamos a cambiar el código del Asesor Experto (cambiar el orden ligeramente) ...
Resultado:
2017.02.06 01:31:45.002 OnInit->M5
2017.02.06 01:31:48.340 OnDeinit->M5: 1 ¡Llamado inmediatamente y sin retraso!
2017.02.06 01:31:48.409 OnInit->M15
Han pasado más de 30 minutos y todavía no hay ninguna llamada a OnDeinit->M5
Y ahora vamos a cambiar el código del Experto (cambiar el orden ligeramente) ...
Adjunte el código, por favor.
Adjunto al último post con el mismo nombre. En realidad se ha sustituido una llamada estática por una dinámica y el resultado es fundamentalmente diferente
Parece que en el primer caso la ausencia de OnDeinit y la variable estática, que se nos olvidó llamar al destructor en el resultado, nos jugó una mala pasada en la optimización.
¿Puede aclarar de qué hilos estamos hablando? ¿No funcionan todos los indicadores del mismo símbolo en el mismo hilo?
Si sólo cambiamos el marco temporal, la nueva copia del indicador se calculará en el mismo hilo que el anterior.
Pero tampoco podemos confiar en que la orden Deinit en M5 se procese antes que la orden Init en M15
Si sólo cambiamos el marco temporal, la nueva copia del indicador se calculará en el mismo hilo que el anterior.
Pero aquí no podemos confiar en que el comando Deinit en M5 se procesará antes que el comando Init en M15.
Hola,
por favor, preste mucha atención al mensaje https://www.mql5.com/ru/forum/166358/page4#comment_4064293
Esto es muy importante,
hay un nuevo error 1158, ¿no está en la ayuda?
Error de ejecución
Violación de acceso en 0x030A00AD leído a 0x00000005 en 'Test_s.ex5'
class A {};
#import "TestA.ex5"
A *error();
#import
class B { protected:
B( const string& name ) : name( name ) {}
virtual int g( const MqlParam& param[] ) const { return ::IndicatorCreate( NULL, PERIOD_CURRENT, IND_CUSTOM, ::ArraySize( param ), param ); }
const string name;
bool f( int h ) const
{
if ( ::ChartIndicatorAdd( 0, 0, h ) )
return true;
error();
return false;
}
};
class C : protected B { protected:
C( int h, string name ) : B( name ), h( h ) { f( this.h ); }
const int h;
};
class D : C { public:
D( string path ) : C( g( path ), path ) {}
int g( const string& path )
{
MqlParam param[ 1 ];
param[ 0 ].type = TYPE_STRING;
param[ 0 ].string_value = path;
return g( param );
}
};
void OnStart() { D d( "Test_i" ); }
#property library
class A {};
A * error() export { return NULL; }
Todos los archivos (excepto el Indicador) se encuentran en la carpeta MQL5\Scripts.
El indicador en sí no es necesario, pero puede descargarse, por ejemplo, dehttps://www.mql5.com/ru/forum/1111/page1803#comment_4063671
Póngalo en Ayuda, por favor.
Para ver un resumen de los programas de MQL5, consulte la siguiente tabla:
Programa
Ejecución
Nota
Guión
En su propio hilo, tantos scripts como hilos de ejecución haya para ellos
Un script en bucle no puede interrumpir el trabajo de otros programas
Experto
En su propio hilo, tantos expertos - tantos hilos de ejecución para ellos
Un experto en bucle no puede interrumpir el trabajo de otros programas
Indicador
Un hilo de ejecución para todos los indicadores de un símbolo. Tantos símbolos con indicadores - tantos hilos de ejecución para ellos
Un bucle sin fin en un indicador detendrá todos los demás indicadores en este símbolo
Se escriben de la forma B'1111111111111111111111111111'.
Por desgracia, no estoy familiarizado con este formato.
El experimento demostró que el número en el búfer gráfico se representa con las mismas reglas que el doble, es decir, que no es posible pasar un número tan largo por el búfer gráfico, lo que resulta frustrante.