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
Y así. ¡Está ocurriendo! Ni siquiera un año después. Me he decidido. He comprobado la documentación de MQL5. Empecé muy poco: minimicé el código de algún indicador en un intento de simplificar y entender su estructura y funcionamiento. Entonces me aturdí.
Primero, me puse a trabajar en Fractales: me pareció inesperadamente pequeño y muy sencillo. Entonces razoné lógicamente: no es razonable arrastrar este código de un programa a otro, debería simplemente llamar a este indicador, copiarlo y utilizar los valores del buffer ya calculados. Si no me equivoco de dirección, me llevaron al paso casi estándar y me llevaron a un ejemplo con iFractals ("¿Lo hice bien?" (c)). Reduje el código todo lo posible, eliminé todo lo innecesario y convencional, dejando sólo la esencia. ¿Y qué encontré? El código de la llamada al indicador no es más compacto que el código original del propio indicador en términos de tamaño y legibilidad.
Las preguntas.
1. ¿Qué significa iFractals?
2. ¿Qué me pasa?
Gracias.
P.D.: ¿O es sólo un caso especial en el que no hay ningún beneficio en la cantidad de segundo código?
2. ¿Qué me pasa?
Sea más específico en sus preguntas.
Es una cuestión de
de la vida y la muerte...
¿Cuál es la manera no criminal de obtener el valor de la barra abierta [15625] H1 del marco de tiempo
Lo he intentado por mucho que lo intente pero dice error crítico... Lo he probado todo, así que quién sabe... Sé que son 3 líneas de código... pero que... el derecho... el derecho... para que no arroje un error...
Es una cuestión de
de la vida y la muerte...
Qué manera no criminal de obtener el valor de la barra abierta [15625] del marco de tiempo H1
Me esforcé por conseguir un error crítico... He probado todo tipo de cosas, así que quién sabe... Sé que son 3 líneas de código... pero que... el derecho... el derecho... para que no arroje un error...
Por favor, dame tu código.
Por favor, danos tu código.
aquí está
double MTime ( int mode )
{
double iOpen_min [], iOpen_hour [], iOpen_4hour [];
ArraySetAsSeries ( iOpen_min, true );ArraySetAsSeries ( iOpen_hour, true );
ArraySetAsSeries ( iOpen_4hour, true );
int tasas_abiertas_min, tasas_abiertas_horas, tasas_abiertas_4horas;
int err = 0;
hacer
{
rates_open_min = CopyOpen ( NULL, PERIOD_M1, 0, 7501, iOpen_min );
rates_open_hour = CopyOpen ( NULL, PERIOD_H1, 0, 20000, iOpen_hour );
rates_open_4hour = CopyOpen ( NULL, PERIOD_H4, 0, 10000, iOpen_4hour );
err ++;
}
while ( ( rates_open_min <= 0 || rates_open_hour <= 0 | rates_open_4hour <= 0) && err < 10 );
double Minuto2 = iOpen_min [ 0 ] - iOpen_min [ 2 ];
double Minuto12 = iOpen_min [ 0 ] - iOpen_min [ 12 ];
double Hora = iOpen_min [ 0 ] - iOpen_min [ 60 ]; // Hora
double Hora5 = iOpen_min [ 0 ] - iOpen_min [ 300 ]; // 5 Horas
double Day = iOpen_min [ 0 ] - iOpen_min [ 1500 ]; // Day
double Semana = iOpen_min [ 0 ] - iOpen_min [ 7500 ]; // Semana
double Month = iOpen_hour [ 0 ] - iOpen_hour [ 625 ]; // Mes
double Month5 = iOpen_hour [ 0 ] - iOpen_hour [ 3125 ]; // Medio año
double Month25 = iOpen_hour [ 0 ] - iOpen_hour [ 15625 ]; // 3 años
en la última línea del último operador, siempre hay un error crítico... El Asesor Experto puede incluso comenzar a operar en el Probador de Estrategias, y luego, después de un año y medio de funcionamiento, genera un error y se bloquea
el error crítico es sobrepasar los límites de la matriz.
de alguna manera podrías probar esto:
error crítico - superación de los límites de la matriz.
de alguna manera, podemos intentarlo de esta manera:
Esto no cambia la esencia del problema... Si no copia los datos más allá... El Asesor Experto no operará como antes, pero sin error...
El problema es por qué se produce esta situación en primer lugar, si la historia es enorme... y no puedes usarlo...
Por favor, indique su código.
Bueno, como no hay respuesta, voy a introducir )))) manualmente, ya que sólo hay un valor.
No tienes ninguna comprobación en tu código. ¿Qué quieres entonces?
Esto no cambia el problema... si no copia los datos más allá... El Asesor Experto no operará como antes, pero sin error...
El problema es por qué se produce esta situación, si la historia es enorme... y no puedes usarlo...
Los datos se copian, pero no siempre a la primera... y tras un error crítico, el Asesor Experto deja de funcionar.
mientras( ... rates_open_hour <= 0 // sólo se copiará la cantidad de datos, disponibles en ese momento, y el array, respectivamente, puede ser inferior a 15625.
La situación se produce por falta de lectura de los manuales :)