Errores, fallos, preguntas - página 1820

 
Maksym Mudrakov:

input string Somevalue = "Maxim";
...
void OnTick(){
   Comment(Somevalue);
}


El programa MQL5 imprime el comentario:

"1487811600"

¿Por qué ocurre esto? ¿Cómo se puede obtener el valor correcto de la cadena?

Busca un error. O publique el código completo reproducible. Comprobar el código

//+------------------------------------------------------------------+
//|                                                        Test.mql5 |
//|                                      Copyright 2017, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#property script_show_inputs
//--- input parameters
input string Somevalue="Maxim";
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   Comment(Somevalue);
  }
//+------------------------------------------------------------------+


no reproduce el error.

También te recomiendo que sustituyas Comentario por Imprimir - existe la posibilidad de que otro programa sobrescriba trivialmente el comentario en el gráfico.

Archivos adjuntos:
test.mq5  2 kb
 
reinicié el EA en un gráfico diferente, está funcionando correctamente. Eso es raro. Pero gracias por la ayuda.
 
Maksym Mudrakov:
reinicié el EA en un gráfico diferente, está funcionando correctamente. Eso es raro. Pero gracias por la ayuda.
Especialmente tiene una entrada variable - una variable de este tipo no puede ser reasignada en el código - esto deja la opción de un segundo programa (EA o indicador) que secretamente se mete y saca su comentario.
 
fxsaber:

Quien entienda la respuesta, que la explique, por favor. Sigo sin entender por qué OrderSend se considera normal

Por lo que tengo entendido, OrderSend sólo espera hasta que el pedido se pone en cola para ser procesado en el servidor, pero no hasta el resultado del procesamiento.
 
Los agentes de prueba siguen cayendo durante la optimización. El agente local no puede conectarse a 127.0.0.1:3000 y aborta la prueba.
 
Комбинатор:
Por lo que tengo entendido, OrderSend sólo espera hasta que el pedido se pone en cola para ser procesado en el servidor, pero no hasta el resultado del procesamiento.
Aquí es donde no está claro.
 
OrderSend devuelve true, con la siguiente línea que aparece en el registro
2017.02.23 14:18:58.013 Trades  '5245006': failed buy limit 0.01 USDCNH at 6.85199 [Request rejected due to absence of network connection]
 

Hay un script que reproduce el error de OrderSend en la aplicación. Recorre el Market Watch y abre BuyLimit en cada símbolo. Después de eso, inmediatamente intenta modificarlo (establece TP) y luego lo elimina. Si la modificación o la eliminación de la orden es imposible, el script se detiene con el mensaje correspondiente.

Todo se hace a través de OrderSend sincrónico. Y casi inmediatamente nos encontramos con una situación en la que, después de un OrderSend exitoso (estableciendo BuyLimit), no se puede hacer nada (modificar o eliminar) con la orden pendiente.

Resultado de explotación

2017.02.23 14:24:49.828 OrderSend-StartedBug (Si-3.17,M1)       ModifyError GetLastError() = 4756 EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE)) = ORDER_STATE_STARTED
2017.02.23 14:24:49.828 OrderSend-StartedBug (Si-3.17,M1)       DeleteError GetLastError() = 4756 EnumToString((ENUM_ORDER_STATE)OrderGetInteger(ORDER_STATE)) = ORDER_STATE_STARTED

Estimados desarrolladores, ¿es este un error de OrderSend o no?


SZZ, sin embargo, OrderSend en TRADE_ACTION_DEAL no termina mientras la orden correspondiente tenga el estado STARTED.

Toda la diversión del script se puede experimentar lentamente en el servidor FXOpen-MT5.

Archivos adjuntos:
 
fxsaber:

cuandose abre unaposición con éxito mediante una orden de mercado, se obtiene siempre un resultado cero.

De la SD
No se garantiza que se llene el billete de la oferta de resultados. El hecho de que se llene o no depende del modo de ejecución del instrumento y de la configuración del servidor concreto.
Que ha establecido un resultado no nulo.
 
OpenCL not found. Error code=5101
Error in OpenCL initialization. Error code=5101
¿Los gráficos integrados en la CPU no son compatibles con OpenCL? Tampoco es que la GPU fuera necesaria para OpenCL.
Razón de la queja: