Errores, fallos, preguntas - página 1313
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
¿Cómo puedo determinar en tiempo de compilación el modo de bits del terminal? El identificador TERMINAL_X64 no encaja ya que está diseñado para funciones. Lo más probable es que haya macros que no se mencionen en la ayuda, pero de vez en cuando aparecen de una forma u otra :)
¿Cómo puedo evitar usar dos dlls, uno para terminales de 32 bits y otro para terminales de 64 bits? No es kasher mantener dos instancias del programa...
Por cierto, ¿quién tiene experiencia, si compila el código en ME x64, funcionará en terminales de 32 bits sin errores o habrá algunas características ocultas de la ejecución del código?
Por ejemplo, existe la función funcTest(...) en la biblioteca para terminales de 32 bits library_x86.dll y para terminales de 64 bits library_x64.dll.
Si la importación es visible dentro de todo el archivo, ¿es correcto escribir tal construcción?
¿o este truco no funcionará?¿O este truco no funciona?
Que yo sepa, no. Puedes importar ambas dlls y llamar a las funciones de una u otra dependiendo de la tasa de bits del terminal.
En general, dividir en dos versiones por tasa de bits no es una opción tan delirante.
Tomo un indicador (cualquiera del conjunto estándar), lo llamo en el Asesor Experto:
Después de ejecutar el EA con la visualización en el probador - todo funciona, el indicador se dibuja.
Ahora cambio una línea en el indicador
ExtMomBuffer[i]=close[i]*100/close[i-InpMomPeriod];
a esta línea:
ExtMomBuffer[i]=100;
Y ahora el indicador no dibuja nada en absoluto - incluso una escala vertical no está marcada.
¿Dónde está el error? MetaTrader 4 build 765.
Vale, llamémoslo comportamiento no convencional :)
Muchas gracias, pero tengo una pregunta más. Sí, funcionaba así:
ExtMomBuffer[i]=i%2;
Y así es como dejó de funcionar de nuevo:
Lo tenía funcionando en las versiones antiguas de MT, ¿qué pasa con las nuevas?
Así que en la segunda versión hay un valor.
En realidad, podría estar equivocado.
Bueno, puedes hacerlo así, pero sigue sin funcionar:
ExtMomBuffer[0]=cnt++;
El quid del problema es que al intentar escribir en la barra 0 del indicador en cada paso del EA - no hace nada.
Creo que he encontrado dónde cavar. Cambiado
a la verdad y algo se empieza a notar. Me voy a emborrachar.