![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Podría haber cualquier número de razones... Los más conocidos son la división por cero, dejando la matriz.
Gracias.
¿Cuál es la salida fuera de la matriz? Pido disculpas por mi ignorancia.
Sólo tengo 3 divisiones:
Aquí es donde podría producirse la división por cero:
Es necesario hacer una comprobación básica.
Es cuando, por ejemplo:
En la última iteración habrá una salida fuera del array.
Aquí es donde podría producirse la división por cero:
Es necesario hacer una comprobación básica.
Esto es cuando, por ejemplo:
En la última iteración habrá una salida fuera del array.
Genial, ¿debemos comprobar si la función funciona correctamente?
¿No hay ningún problema con un medidor como éste?
Bien, ¿qué ocurre cuando el saldo llega a cero y la función funciona correctamente? :)
La sentencia for no tiene definido el tipo de variable i. La variable Magia no está definida. En la línea.
La función OrderSelect() es innecesaria. No he notado nada más.problema con el error (Error CopyBuffer - número de error: 4806) - lo quito, lo curo conSleep(1000); - lo achaco a que el indicador no tiene suficiente tiempo para crear.
El problema del error (4194304 bytes no disponibles) se mantiene.
Lo más probable es que se cree. Pero antes de copiar los datos, debemos comprobar si los datos que queremos recibir (¿ha tenido tiempo de calcular el indicador?). La función BarsCalculated debería ayudar.
A continuación, solicita todos los plazos por símbolo. Si estos datos están listos - se descargan del disco a la memoria, si no - se empiezan a construir (la memoria también se consume) + 100 indicadores con un período diferente para cada TF, y todo esto en la memoria. Los datos no se descargan inmediatamente de la memoria (en caso de que quiera volver a solicitarlos)...
Reduzca el número de barras del gráfico.
La sentencia for no tiene definido el tipo de variable i. La variable Magia no está definida. En la línea
OrderSelect() es redundante. No he notado nada más.Hay uno fuera del operador.
Es probable que se haya creado. Sólo antes de copiar los datos, debe comprobar si los datos están disponibles (¿se ha liquidado el indicador?). La función BarsCalculated debería ayudar.
A continuación, solicita todos los plazos por símbolo. Si los datos están listos - se descargan del disco a la memoria, si no - se empiezan a construir (la memoria también se consume) + 100 indicadores con un período diferente para cada TF, y todo esto en la memoria. Los datos no se descargan inmediatamente de la memoria (en caso de que quiera volver a solicitarlos)...
Reduzca el número de barras del gráfico.
El número de barras no cambia nada,
El problema se esconde en los períodos, para las variantes
no funciona, 19-5=14 - períodos diferentes,
Si se reducen a 4, entonces todo funciona, por ejemplo:
Aunque foru IndicatorRelease(m_handle) - sí se utiliza incorrectamente.
Creo que aunque no se liberen las asas con la función IndicatorRelease, debería funcionar igualmente,
Por lo tanto, el problema está en el número de períodos diferentes.
O...