Errores, fallos, preguntas - página 2234

 
Stanislav Korotky:

En este sencillo script, ejecutado primero con escritura = true y luego en otro gráfico con escritura = false, obtengo un error.

Obviamente es un error, porque las aplicaciones de terceros leen el archivo con las mismas banderas sin ningún problema.

 
Stanislav Korotky:

PS. ¿Quizás alguien ya ha escrito al SR? ¿Cuáles son las respuestas?

Hace dos años escribí: aplicación sin movimiento. Por favor, escriba de nuevo
 
A100:
Hace dos años escribí: aplicación sin movimiento. Por favor, escriba de nuevo.

¿Cuál es el número de solicitud?

 
Spammed
Result.retcode = 10026
Result.comment = AutoTrading disabled by server 0.035 ms
OrderCheck devuelve true.
 
Alexander:

¿Cuál es el número de solicitud?

Abierto, Iniciado: 2016.08.04 02:13, #1530548


Por cierto... ¿por qué han dejado de funcionar los enlaces?

Descripción del problema

aquí https://www.mql5.com/ru/forum/1111/page1648#comment_2702870 con fotos

Y ahora este enlace se ve así:

https://www.mql5.com/ru/forum/1111/page1628#comment_2702870

Ahora he empezado a comprobar que todos los enlaces de las aplicaciones no llevan a ninguna parte... antes estaba bien... Los enlaces eran absolutos. Ahora entendí sólo por la fecha que el enlace se refiere a esta requisición

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2016.08.24
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
A100:

Por cierto... ¿por qué han dejado de funcionar los enlaces?

Descripción del problema

aquí https://www.mql5.com/ru/forum/1111/page1648#comment_2702870 con fotos

y ahora el enlace se ve así:

https://www.mql5.com/ru/forum/1111/page1628#comment_2702870

Ahora lo he comprobado: todos los enlaces de las aplicaciones no llevan a ninguna parte... antes estaba bien... Los enlaces eran absolutos. Ahora entiendo sólo por la fecha que el enlace se refiere a esta aplicación

Lleva 20 páginas en este hilo desde hace mucho tiempo.

 
fxsaber:

Lleva 20 páginas en este hilo.

Antes también lo hacía, pero los enlaces funcionaban (el final sigue siendo el mismo)... al menos podía encontrar fácilmente los posts de hace un año, pero ahora los enlaces de marzo están rotos
 
Stanislav Korotky:

En este sencillo script, ejecutado con escritura = true y luego en otro gráfico con escritura = false, obtengo un error.

Resultado de la ejecución del script:

2018.07.23 19:44:15.224 !00 (EURUSD,M1) handle=1
2018.07.23 19:44:17.824 !00 (EURUSD,M1) Closing
2018.07.23 19:44:34.874 !00 (EURUSD,M1) handle=1
2018.07.23 19:44:40.874 !00 (EURUSD,M1) Closing
2018.07.23 19:45:12.844 !00 (GBPJPY,H4) handle=1
2018.07.23 19:45:16.354 !00 (GBPJPY,H4) Closing

1. Con escritura = true

2. En el mismo gráfico con escritura = false

3. en otro gráfico con escritura = falsa

El único cambio

void OnStart()
como debe ser...

En consecuencia, en lugar de

    return INIT_FAILED;

a la izquierda

    return;

y borrado.

  return 0;

como algo innecesario.


¿Qué pasa?

 

Me di cuenta de que había hecho mal el experimento.

Este es el resultado de repetirlo:

2018.07.23 20:07:52.316 !00 (EURUSD,M1) handle=1
2018.07.23 20:07:52.316 !00 (EURUSD,M1) writing=true
2018.07.23 20:08:13.216 !00 (GBPJPY,H4) handle=1
2018.07.23 20:08:13.216 !00 (GBPJPY,H4) writing=false
2018.07.23 20:08:20.316 !00 (EURUSD,M1) Closing
2018.07.23 20:08:25.416 !00 (GBPJPY,H4) Closing

Su error es que después de escribir en un archivo, los datos sólo llegan al disco después de FileClose O después de restablecer forzosamente los datos en el disco por FileFlush

De lo contrario, ¿cómo se puede leer un archivo que no existe?

Y aún así añadí una bandera

void OnStart()
{
  int handle = FileOpen("xyz.foo", FILE_READ|FILE_SHARE_WRITE|FILE_BIN|FILE_SHARE_READ|(writing?FILE_WRITE:0));
  if(handle == INVALID_HANDLE)
  {
    Print("FileOpen failed: ", GetLastError());
    return;
  }
  
  if(writing)
   {
    FileWriteInteger(handle, 0);
    FileFlush(handle);
   }
  
  Print("handle=", handle);
  Print("writing=", writing);
  
  while(!IsStopped())
  {
    Sleep(1000);
  }

  Print("Closing");
  FileClose(handle);

}/*******************************************************************/
Документация по MQL5: Файловые операции / FileFlush
Документация по MQL5: Файловые операции / FileFlush
  • www.mql5.com
При выполнении операции записи в файл физически данные могут оказаться в нем только через некоторое время. Для того чтобы данные сразу же сохранились в файле, нужно использовать функцию FileFlush(). Если не использовать функцию, то часть данных, еще не попавших на диск, принудительно записывается туда только при закрытии файла функцией...
 

¿Cómo es posible que last-price no sea un múltiplo de TickSize?

SymbolInfoDouble(Symb,SYMBOL_TRADE_TICK_SIZE) = 0.05
Tick.last = 14.16