В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void...
¡Es simplemente horrible! Si todavía puedo rastrear la lógica en los Asesores Expertos, corregir algunas cosas, añadir algunas más... No entiendo para nada el código de los indicadores(
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
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
В качестве первого операнда – "выражение1" – может быть использовано любое выражение, результатом которого является значение типа bool. Если результат равен , то выполняется третий операнд – "выражениеЗ". Второй и третий операнды, то есть "выражение2" и "выражениеЗ", должны возвращать значения одного типа и не должны иметь тип void...
¿Existe una función en MQL4 que pueda detectar si una cotización tiene 5 o 4 decimales, cuántos decimales tiene un activo por ejemplo EURJPY tiene 2 decimales, EURUSD tiene 4 decimales?
Seric29: ¿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?
¿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.