Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 804
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
¿Pueden decirme qué se quiere decir en la entrada
int i,limit=prev_calculado==0 ? rates_total-1 : rates_total-prev_calculated;
"==" , "?" , ": "
?
Gracias, Igor. No lo he expresado correctamente. El indicador se calcula y se dibuja para un número determinado de barras (50 en este caso) y en una ventana independiente. No necesita el precio de apertura sino la primera barra del día para indicar la MA. Pero de todos modos, gracias.
read SetIndexDrawBegin() - esta es una restricción para dibujar el buffer del indicador, nunca se usa
o en mi ejemplo puedes hacerlo así:
es decir, restringir el cálculo de los topes de los indicadores a la configuración deBarCount
¿Pueden decirme qué se quiere decir en la entrada
int i,limit=prev_calculado==0 ? rates_total-1 : rates_total-prev_calculated;
"==" , "?" , ": "
?
https://docs.mql4.com/ru/basis/operators/ternary
He reescrito mi ejemplo, en la primera versión no funcionaba correctamente al cambiar de TF, hay que reiniciar dayopen y lastday, se describen con el modificador static
Devuelve también el índice del parámetro de la función pasado por referencia
Devuelto:
double GetPatt5barsDN()
{
double low3 = 0;
int índice = 0;
for(int i=1; i<20; i++)
{
si
((Close[i] > Open[i]) &&
(Close[i+1] > Open[i+1]) &&
(Close[i+2] > Open[i+2]) && //Low[i+2] es necesario en esta vela
(Close[i+3] < Open[i+3]) &&
(Close[i+4] < Open[i+4])
low3 = Low[i+2];
índice = i+2;
}
return(low3);
return(index);
}
¿Qué debo hacer ahora?
Devuelto:
double GetPatt5barsDN()
{
double low3 = 0;
int índice = 0;
for(int i=1; i<20; i++)
{
si
((Close[i] > Open[i]) &&
(Close[i+1] > Open[i+1]) &&
(Close[i+2] > Open[i+2]) && //Low[i+2] es necesario en esta vela
(Close[i+3] < Open[i+3]) &&
(Close[i+4] < Open[i+4])
low3 = Low[i+2];
índice = i+2;
}
return(low3);
return(index);
}
¿Qué debo hacer ahora?
Esa no es forma de recuperarlo.
Así.
Más información en
double min = Low[GetPatt5barsDN()];
Devuelto:
double GetPatt5barsDN()
{
double low3 = 0;
int índice = 0;
for(int i=1; i<20; i++)
{
si
((Close[i] > Open[i]) &&
(Close[i+1] > Open[i+1]) &&
(Close[i+2] > Open[i+2]) && //Low[i+2] es necesario en esta vela
(Close[i+3] < Open[i+3]) &&
(Close[i+4] < Open[i+4])
low3 = Low[i+2];
índice = i+2;
}
return(low3);
return(index);
}
¿Qué debo hacer ahora?
¿Dónde está el retorno del índice a través de un parámetro por referencia?
Y por favor, inserte el código correctamente:
¿Existe una función en MQL4 que pueda identificar las cotizaciones de un tipo de cuenta, como 5 o 4 decimales, cuáles son las formas de identificar cuántos ceros tiene un activo después de la coma por ejemplo EURJPY tiene 2 decimales, EURUSD tiene 4 decimales?
https://docs.mql4.com/ru/predefined/digitsvar
¿Dónde está el retorno del índice a través de un parámetro por referencia?
Y por favor, inserte el código correctamente:
Parece que ahora lo tengo claro:
Pero al compilar genera una advertencia: posible pérdida de datos debido a la conversión de tipo en línea:
índice = GetPatt5barsDN(índice);
No hay errores en la cabecera de la función (o en la propia función) durante la compilación.