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
Sois muy lentos :) Las caídas no son falsas, pero todo funciona. Estás buscando en el lugar equivocado. )))) Hay una función correcta.
Estoy tratando de averiguar por qué ArrayIsSeries(High) es siempre falso
La ayuda de esta función dice(https://www.mql5.com/ru/docs/array/arrayisseries)
Valor de retorno
Devuelve true si el array que se está comprobando es un array de series temporales, en caso contrario devuelve false. Las matrices pasadas como parámetro a OnCalculate() deben ser comprobadas por el orden en que se accede a los elementos de la matriz con ArrayGetAsSeries().
El array que has declarado no es una serie temporal y no puede convertirse en una bajo ninguna circunstancia. Las series de tiempo son matrices definidas en tiempo de ejecución, por ejemplo, en la función OnCalculate():
La ayuda de esta función dice(https://www.mql5.com/ru/docs/array/arrayisseries)
El array que has declarado no es una serie temporal y no puede convertirse en una bajo ninguna circunstancia. Las series de tiempo son matrices predefinidas en tiempo de ejecución, por ejemplo en la función OnCalculate():
ArrayGetAsSeries no funciona como se pretende.
Las series de tiempo son matrices predefinidas en tiempo de ejecución, por ejemplo, en OnCalculate():
Lo que sobre esto está escrito en la ayuda:
Примечание
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
Lo que sobre esto está escrito en la ayuda:
Ejecute dicho indicador y lo comprobará por sí mismo:
La función ArrayGetAsSeries sólo cambia el sentido de la indexación, pero no convierte un array en una serie temporal. ¿Qué se pretende conseguir con esta función?
Esta función comprueba la dirección, no el cambio.
1) Sin inicialización
2) Con la inicialización
3) El código anterior, sólo con la función ArrayGetAsSeries obteniendo la dirección de indexación del array
En el servicio de atención al cliente me equivoqué en el nombre de la función sóloEjecute dicho indicador y lo comprobará por sí mismo:
Es comprensible. Y mi pregunta no se refería a errores, todo funciona como está escrito en la ayuda:
Примечание
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
La pregunta surgió por la discrepancia entre lo que la ayuda resaltó en color y negrita y lo que usted dijo:
Rosh:
Las series de tiempo son matrices predefinidas en tiempo de ejecución, por ejemplo en OnCalculate():
Por eso lo hago en OnCalculate():
La ayuda de esta función dice(https://www.mql5.com/ru/docs/array/arrayisseries)
El array que has declarado no es una serie temporal y no puede convertirse en una bajo ninguna circunstancia. Las series de tiempo son matrices predefinidas, por ejemplo en la función OnCalculate():
La comprobación tampoco funciona en el indicador.
Además,prev_calculado ya no funciona, siempre es 0:
Sí, creo que con estas funciones ya se han solucionado.
Pero como un deseo, para que no se me olvide - en el editor, cuando se le pide después de escribir tres o cuántos caracteres, al hacer clic en pie en la primera línea de la lista no se elimina de la lista. Acostumbrados a ser tan ya como en el estudio, creo que muchos se "molestarán" si no se hace de la misma manera que en el estudio. EN MI OPINIÓN.