Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 76
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
Este error no sale durante la compilación, sino cuando adjunto el indicador al gráfico, o cuando cambio el marco temporal.
¿Este mensaje de error se reproduce todo el tiempo o desaparece con el tiempo?
¡Chicos! ¿Se puede conectar MT5 a cualquier empresa de corretaje?
No. El comercio a través de MT5 es posible a través del corredor que proporciona la posibilidad de operar a través de esta plataforma, como VTB24 y Alfa forex.
¿Este mensaje de error se reproduce constantemente o desaparece con el tiempo?
¿Este mensaje de error se reproduce todo el tiempo o desaparece con el tiempo?
¿Este mensaje de error se reproduce constantemente o desaparece con el tiempo?
FinEngineer:
Una vez, cuando adjunto el indicador al gráfico...
Entonces lo estás haciendo bien. Cuando se acaba de adjuntar el programa a un gráfico o se cambia el marco temporal, no hay nuevos datos calculados para el indicador RSI o cualquier otro en el terminal. Y el terminal necesita un tiempo para calcular los topes indicadores necesarios. Fíjate bien en tu código (entiendo que está escrito según el ejemplo de otra persona, pero no obstante): Cuando los datos calculados para el RSI no son suficientes, la función OnCalculate() deja de funcionar ('return(0);') y espera un nuevo tick. Tan pronto como en el siguiente tick se calculan los buffers del indicador para el RSI, su indicador comienza a trabajar en modo normal. Que sí, a juzgar por lo que dices.
También puede insertar la comprobación con BarsCalculated() en la función OnInit() - entonces el error ocurrirá muy raramente (si es que ocurre). En la descripción de la función BarsCalculated() se ofrece un ejemplo.
Sobre este error ya te escribí ayer. (No olvides insertar el código correctamente :) )
Se ha eliminado el código responsable de la insuficiencia de datos (abajo)
int calculated=BarsCalculated(RSI1_Handle);
if(calculado<total de tarifas)
{
Print("No se han calculado todos los datos de RSI1_Handle (",calculated, "bars ). Error",GetLastError());
return(0);
}
calculated=BarsCalculated(RSI2_Handle);
if(calculado<total de tarifas)
{
Print("No se han calculado todos los datos de RSI2_Handle (",calculated, "bars ). Error",GetLastError();
return(0);
¿Pueden decirme cómo marcar los fragmentos de código en el mensaje?
Ahora sale un error:
2012.12.22 15:14:00 Pair_delta_RSI (EURGBP,M1) ¡La obtención del RSI1 ha fallado! Error4806Inserte el código correctamente.
Allí funcionaba bien ese "trozo de código responsable de la insuficiencia de datos". Y correctamente informó de que en los primeros datos de garrapatas para RSI aún no se calcula por el terminal. Si no le gusta recibir mensajes de error, intente hacer lo mismo que arriba, es decir, comprobar los datos calculados no sólo en OnCalculate(), sino también en OnInit(). En otras palabras, intente esperar el cálculo de los datos para los indicadores técnicos seleccionados en OnInit() y luego pase al procesamiento de los ticks en OnCalculate() cuando se garantice el cálculo de los datos para los indicadores.
Añadiendo. Al final, la eliminación de una parte del código de comprobación no aumenta el número de datos calculados del indicador :)