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
¿Cuál?
lo he probado en un par de indicadores. ambos solían funcionar bien, ahora no.
2) a menudo hay problemas al tratar de probar la ejecución con la conexión a los núcleos (funciona con la enésima ejecución). ver la imagen.
Un grupo de telépatas ya está investigando su problema.
no hace falta ser telépata para entender que iCustom() no funciona como debería.
para probarlo, puede ejecutar el código del Asesor Experto:
doble buffer[];
ResetLastError();
int MA_handle = iCustom(NULL, 0, "Examples\Custom Moving Average", 21, 0, MODE_SMMA);
//int MA_handle = iMA(NULL, 0, 21, 0, MODE_SMMA, PRICE_MEDIAN);
Print("MA_handle = ", MA_handle, " error = ", GetLastError());
int copia = CopyBuffer(MA_handle, 0, 0, 5, buffer);
if (copy == -1) Print("Failed to get Custom Moving Average indicator");
si no
for (int i = 0; i < 5; i++) Print("buffer[", i, "] = ", buffer[i];
y aparecerá el mensaje "Failed to get Custom Moving Average indicator values".
es decir, CopyBuffer da un error (devuelve -1) para el manejador del indicador iCustom(). si tomamos el indicador estándar iMA(), ¡el mismo código funciona!
Fíjate en la dirección de indexación del array resultante, quizá haya que ampliarlo.
todo esta bien con la direccion de indexacion y en builds anteriores tambien funcionaba. en 448 y 450 no funcionaba.
He sugerido muchas veces que los desarrolladores deberían probar más a fondo la funcionalidad principal del terminal,
pero de compilación a compilación obtienen diferentes errores críticos en lugar de críticos.
Es decir, se arregla una cosa y se rompe otra que normalmente funcionaba y no se ve el final. Supongo que nunca veré llegar una versión estable (((
El deslizamiento antes de copiar los datos, tarda en calcular el indicador, por lo que aunque la manivela vuelve correctamente, los datos aún no se han calculado,
En general, se recomienda llamar a los indicadores en el inite, y solicitar los datos ya en OnTick() u otras funciones especiales.
De nuevo, copias 5 datos de la barra cero, pero en el copybuffer la barra cero está en algún lugar alrededor de 1970 (depende de la configuración de la barra máxima), por eso dije que miraras la indexación del array.
El deslizamiento antes de copiar los datos, tarda en calcular el indicador, por lo que aunque la manija vuelve correctamente, los datos aún no se han calculado.
Sleep(1000); // 1 segundo después de llamar a iCustom() ayudó, PERO. ¿Debo recoger ahora el tiempo de retardo? ¿Cómo puedo saber cuánto tiempo durará el proceso de cálculo?
es incorrecto dar la manija correcta del indicador apuntando a la basura ! y debe haber funcionado correctamente antes porque no había tal problema.
en general, se recomienda llamar a los indicadores en el initis, y pedir los datos ya en OnTick() u otras funciones especiales.
Es un buen consejo para mí, gracias ) porque si lo hubiera hecho así, no habría visto el problema...
De nuevo estás copiando 5 datos de la barra cero, pero en copyBuffer la barra cero está en algún lugar alrededor de 1970 (depende de la configuración de la barra máxima), por eso dije que miraras la indexación del array.
Por lo que entiendo de la documentación de ayuda, en CopyBuffer() la barra cero es en realidad "tiempo presente", y ya al copiarla, el array se expande.
Sleep(1000); // 1 seg. después de llamar a iCustom() ayudó, PERO... ¿debo recoger ahora el tiempo de retardo? ¿cómo se supone que debo saber cuánto tiempo durará el proceso de cálculo?
es incorrecto dar el mango indicador correcto indicando la basura ! y debe haber funcionado correctamente antes, porque no había tal problema.
¿Pueden establecerse las siguientes opciones del indicador (marcadas con un círculo rojo) de forma programada?
No he encontrado la manera de hacerlo.
No sé si es un bug, pero creo que hay errores en el código de las librerías para todos los tipos de muvings (SignalFrAMA, SignalAMA, SignalMA, SignalDEMA, SignalTEMA) para el maestro, verCSignalTEMA::ShortCondition()
También en la biblioteca SignalMA en
No sé si es un bug, pero creo que hay errores en el código de las librerías para todos los tipos de muvings (SignalFrAMA, SignalAMA, SignalMA, SignalDEMA, SignalTEMA) para el maestro, ver CSignalTEMA::ShortCondition()
También en la biblioteca SignalMA en
https://www.mql5.com/ru/forum/1111/page391#comment_67358
Da la línea completa de la llamada.
/i:<ruta a la carpeta MQL5>.
Dar la cadena de llamada completa.
Aquí están todas las opciones probadas:
Después de cada intento, se comprobaba si el archivo existía en la ruta
D:\Users\Дмитрий\AppData\Roaming\MetaQuotes\Terminal\44 D6FB562C883F0C70690F3306A3851D\MQL5\Scripts\sInstallerTestScript.ex5
El intruso en el camino
D:\Users\Дмитрий\AppData\Roaming\MetaQuotes\Terminal\44 D6FB562C883F0C70690F3306A3851D\MQL5\Include\InstallerTestInclude\IncInstallerTest.mqh
existe.
La comprobación de la existencia fue realizada por la función: