Errores, fallos, preguntas - página 1113

 
silhouette:

¿Por qué aparece esta advertencia en esta línea?

posible pérdida de datos debido a la conversión de tipos

Esta función devuelve el tipo long, mientras que sus dígitos son del tipo int.

Lo necesitas así:

int digits=(int)SymbolInfoInteger(m_symbol,SYMBOL_DIGITS);

o así:

long digits=SymbolInfoInteger(m_symbol,SYMBOL_DIGITS);
 
vicmos:

Esta función devuelve el tipo long, pero sus dígitos son del tipo int.

Lo necesitas así:

o así:

Gracias, ahora está bien.

En la Ayuda, por cierto, dice int por alguna razón

DÍGITOS_SÍMBOLO

Número de decimales

int

 
alexey_pak:
Tal vez podría explicar con más detalle qué tipo de error está cometiendo.
Por ejemplo: (suponiendo que antes compilé el mismo script sin errores y lo ejecuté)
void OnStart()
{
\       Print( TimeCurrent());
}

Luego cambio a MetaTrader, ejecuto este script y en la pestaña "Expertos" veo un nuevo registro: 'AAA.mq5' compilado con éxito (el tiempo muestra que es nuevo), pero el script en sí no se ejecuta. De hecho, MetaTrader sabe que el último intento de compilar - falló, pero produce un mensaje contradictorio.

 
Buen día para ustedes =), ¡aconsejen! ¡En el Mercado hay un Asesor Experto, en la prueba muestra buenos resultados, pero las críticas son malas! En general, la pregunta - ¿es posible configurar el Asesor Experto para la prueba y se comportará absolutamente diferente en la cuenta real? Por lo que entiendo la prueba sólo encuentra puntos de entrada según el algoritmo y ejecuta/cierra órdenes.
 
puedes
 
Por favor, indíqueme cuál puede ser el problema, me he suscrito a una señal, ha aparecido un icono que indica que la copia automática de las operaciones está activada, pero las operaciones no se copian.
 
dbc220:
Por favor, aconsejar lo que puede ser el problema, me suscribí a la señal, el icono apareció que la copia automática de las operaciones se activa, pero las operaciones no se copian.

¿Qué se escribe en el registro del terminal?

Por favor, dame los registros.

 
Archivo EX5 no válido (8)
#define  MACRO( s )              (s + ";" + s)

void OnStart()
{
        ushort ch = ::StringGetCharacter( MACRO( NULL ), 0 );
}
 
A100:

¿Qué tiene de bueno?

ushort ch = ::StringGetCharacter( NULL + ";" + NULL, 0 );
 
TheXpert:

¿Qué tiene de bueno?

¿Cuál es la diferencia? Y entonces es un error de ejecución, no de compilación