Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1443

 
Hola, un spread de 15 - 20 pips a un precio de cinco dígitos es normal. Y 50 pips no es suficiente para una toma. Si el beneficio es del mismo orden que el spread, no tendrás suerte. Aunque depende de quien seas.
 
Aleksei Stepanenko #:
Hola, un spread de 15 - 20 pips a un precio de cinco dígitos es normal. Y 50 pips no es suficiente para una toma. Si el beneficio es del mismo orden que el spread, no tendrás suerte. Aunque depende de quien seas.

Hola Alexey, estoy de acuerdo en que no es la estrategia más ideal para un robot, pero mientras dé un beneficio estable, que funcione. Menos es mejor, pero mejor.

Ahora sobre mi pregunta. He mirado todos los logs y me he dado cuenta de que desde el 1 de febrero el tiempo de cierre de las operaciones ha aumentado bruscamente - de 50-70 msk a 330-450 msk. Voy a averiguar con mi corredor de divisas lo que pasó.

Saludos, Vladimir.


 

¿Podría decirme si es posible cambiar el ID de un Asesor Experto en la tabla "Comercio"?

O digamos que hay un script que establece órdenes SellLimit,

trade.BuyLimit(1,10.75,NULL,0,0,0,0,0,0,NULL);

¿cómo y dónde especificar el número ID en el comando para que esta orden pueda ser recogida por un Asesor Experto con un ID similar?

 
BOBEF #:

¿Podría decirme si es posible cambiar el ID de un Asesor Experto en la tabla "Comercio"?

O digamos que hay un script que coloca órdenes SellLimit,

trade.BuyLimit(1,10.75,NULL,0,0,0,0,0,0,0,NULL);

¿cómo y dónde especificar el número ID en el comando para que esta orden pueda ser recogida por un Asesor Experto con un ID similar?

 trade.SetExpertMagicNumber(magic);
 trade.BuyLimit(1,10.75,NULL,0,0,0,0,NULL);
 
Alexey Viktorov #:

Gracias
 

Qué puede estar mal

int aaa = StringFind(Set, txt);

Set - la cadena que estamos buscando.

txt - lo que estamos buscando.

¿por qué aaa = -1?

Y en general, una variable de cadena puede ser de alguna manera diferente de la misma variable de cadena.

cadena a = "A";

cadena c = "A";

¿En qué casos es posible que a!=c ?

 

¿Hay alguna forma de cancelar la salida de errores de conexión a la base de datos?
Por ejemplo, la función DatabaseOpen() imprime un error cada vez que la base de datos está bloqueada y la función no puede acceder a ella.
Pero esta es una situación normal de trabajo para mí, yo mismo capturo este error y lo imprimo si es necesario.

Como resultado, todo el log está lleno de mensajes sobre base bloqueada.

2023.02.13 18:57:21.917 database error, database is locked
 

Hola, Aleksandr Slavskii.

¿Por casualidad la letra rusa M estaba en una de las líneas?

 
Aleksandr Slavskii #:

¿Qué puede fallar?

Set - la cadena en la que estamos buscando.

txt - lo que estamos buscando.

¿por qué aaa = -1?

Hola Alexander, quizás deberías haber puesto el tipo de datos string en lugar de int. Estás buscando texto, no un número.

Saludos, Vladimir.

 
MrBrooklin #:

Hola, Alexander. ¿Quizás el tipo de datos debería haber sido string en lugar de int? Creo que estás buscando texto, no un número.

Saludos, Vladimir.

En la imagen puedes ver que la función StringFind devuelve datos con el tipo string , el tipo int, es decir, el número de posición desde la que empieza la cadena buscada.

En este caso, la función debería haber devuelto cero.

Razón de la queja: