Errores, fallos, preguntas - página 1832

 
Vladislav Andruschenko:


en mt5?

Sí, más o menos,

Hace tiempo que no uso extern en mt5.


Bien. Entonces, ¿cómo puedo cambiar los valores de los parámetros de entrada desde el panel de operaciones sin abrirlos? Al fin y al cabo, si se muestran, significa que no se pueden cambiar.
 
Alexander Fedosov:

Bien. Entonces, ¿cómo puedo cambiar los valores de los parámetros de entrada desde el panel de operaciones sin abrirlos? Al fin y al cabo, si se muestran, significa que no se pueden cambiar.

ni idea para ser honesto,


pero los externos no se muestran en los parámetros de entrada - ¿ha sido este el caso durante mucho tiempo? se podría decir que desde el principio de la terminal mt5

 
Vladislav Andruschenko:

ni idea para ser honesto,


pero los externos no se muestran en los parámetros de entrada - ¿ha sido este el caso desde el comienzo de mt5?


Bueno, entonces es el momento, probablemente en la SD, porque tengo una versión compilada anterior a 1550 y allí a través del panel de cambio de variables como extern y se muestran en los parámetros de entrada.
 
Alexander Fedosov:

Bueno, debe ser el tiempo, al parecer en la SD, porque tengo una versión compilada antes de 1550 y allí a través del panel de cambio de variables como extern y se muestran en los parámetros de entrada.

Quizá se introdujeron más tarde y se volvieron a quitar... desde 2012 entendí que extern se sustituye por input y en realidad se cambió todo a input
 

Hola tengo 2 terminales mt5 Alpari y mt5 broker Otkritie. \

Tengo 12 herramientas en Otkritie + indicadores instalados. Carga de la CPU 5-10%.

Hay 3 ventanas abiertas en Alpari con los mismos indicadores y una carga de CPU del 25-30%.

Ambos tienen 5.000 barras en la configuración de la historia
incluso con todos los gráficos cerrados y la ventana de símbolos del mercado cerrada, Alpari tiene un 14% de carga

Me gustaría abrir más símbolos, pero este fallo con la carga no me permite hacerlo.

La carga de la CPU es del 8-9% cuando se minimiza la ventana

¿Supongo que se trata de un fallo en la representación de los gráficos? Pero entonces, ¿por qué no tiene esos problemas el corredor Discover?


 
Alexander Fedosov:

Bueno, entonces es el momento, al parecer en SD, porque tengo un compilado en la versión antes de 1550 y allí a través del panel de cambiar las variables de tipo externo y se muestra en los parámetros de entrada.


esto fue escrito originalmente para este tipo de datos, por lo que no está claro por qué los tienes trabajando como parámetros de entrada.

Variables externas

La palabra clave extern se utiliza para declarar identificadores de variables como identificadores de una clase de memoria estática con vida global. Estas variables existen al inicio de la ejecución del programa y se asignan e inicializan justo después del inicio de la ejecución del programa.

Es posible crear programas compuestos por varios archivos fuente - para ello se utiliza la directiva #include del preprocesador. Las variables declaradas como externas con el mismo tipo e identificador pueden existir en diferentes archivos fuente del mismo proyecto.

Cuando se compila todo el proyecto, todas las variables externas con el mismo tipo e identificador se asocian a la misma zona del pool de memoria de variables globales. Las variables externas son útiles para la compilación por separado de los archivos fuente. Las variables externas pueden ser inicializadas, pero sólo una vez - es inaceptable la existencia de varias variables externas inicializadas del mismo tipo y con el mismo identificador.

 
¿Qué es?
2017.03.14 09:51:34.866 Trades  use Hosting Service to speed up the execution - 0.31 ms via 'MQL5 Amsterdam 2 (MQL5 Ltd.)' instead of 72.36 ms
 
fxsaber:
¿Qué es esto?
Publicidad:)
 

No había notado antes los estados de solicitud 1554

Curiosamente, incluso antes del estado solicitado, los datos de los márgenes están totalmente disponibles.

 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Características del lenguaje mql5, sutilezas y trucos

fxsaber, 2017.03.14 08:38

  • En MT4/5 no es posible que las órdenes pendientes cambien la magia, el comentario y el volumen.
Servidor de comercio FXOpen-MT5, lanzar el script
void OnStart()
{
  MqlTradeRequest Request = {0};
  
  Request.action = TRADE_ACTION_PENDING;
  Request.symbol = _Symbol;
  Request.volume = 1;
  Request.price = SymbolInfoDouble(Request.symbol, SYMBOL_ASK) - 100 * _Point;
  Request.type = ORDER_TYPE_BUY_LIMIT;
  Request.type_filling = ORDER_FILLING_IOC;
  Request.comment = "FirstComment";
  
  MqlTradeResult Result;
  
  if (OrderSend(Request, Result))
  {        
    Request.action = TRADE_ACTION_MODIFY;
    Request.order = Result.order;
    Request.type_time = ORDER_TIME_SPECIFIED;
    Request.expiration = TimeCurrent() + 1000;
    Request.comment = "NewComment";    

    OrderSend(Request, Result);  
  }
}

Coloca una orden pendiente y la modifica estableciendo un nuevo campo Request.comment.

Registro de la ejecución del script

2017.03.14 11:33:47.642 Trades  '10127': buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:33:47.775 Trades  '10127': accepted buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:33:47.777 Trades  '10127': buy limit 1.00 EURUSD at 1.06314 placed for execution
2017.03.14 11:33:47.797 Trades  '10127': order #61938 buy limit 1.00 / 1.00 EURUSD at 1.06314 done in 154.608 ms (FirstComment)
2017.03.14 11:33:47.797 Trades  '10127': modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000
2017.03.14 11:33:47.930 Trades  '10127': accepted modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000
2017.03.14 11:33:47.930 Trades  '10127': modify order #61938 buy limit 1.00 EURUSD at 1.06314 sl: 0.00000 tp: 0.00000 -> 1.06314, sl: 0.00000 tp: 0.00000 placed for execution
2017.03.14 11:33:47.950 Trades  '10127': modify #61938 buy limit 1.00 EURUSD -> price: 1.06314, sl: 0.00000, tp: 0.00000) done in 154.566 ms (NewComment)

Espectáculos de la terminal

Ahora elimine la orden pendiente manualmente y obtenga los asientos correspondientes

2017.03.14 11:35:01.198 Trades  '10127': cancel order #61938 buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:35:01.330 Trades  '10127': accepted cancel order #61938 buy limit 1.00 EURUSD at 1.06314
2017.03.14 11:35:01.333 Trades  '10127': cancel order #61938 buy limit 1.00 EURUSD at 1.06314 placed for execution
2017.03.14 11:35:01.465 Trades  '10127': cancel #61938 buy limit 1.00 EURUSD at 1.06314 done in 268.415 ms (NewComment)

Espectáculos de la terminal




Es decir, el comentario de la orden pendiente ha cambiado realmente. Pero el terminal sólo podía mostrar esto en los registros y en el historial - ¡BAG!