Ошибки, баги, вопросы - страница 2234

 
Stanislav Korotky:

Вот на это простом скрипте, запущенном сперва с writing = true, а потом на другом чарте с writing = false, получаю ошибку.

Явно баг, т.к. с подобными флагами сторонние приложения файл читают без проблем.

 
Stanislav Korotky:

PS. Может кто уже писал в СД? Какие есть ответы?

Я писал два года назад - заявка без движения. Напишите еще раз пожалуйста
 
A100:
Я писал два года назад - заявка без движения. Напишите еще раз пожалуйста

Какой номер заявки?

 
Заспамил
Result.retcode = 10026
Result.comment = AutoTrading disabled by server 0.035 ms
При этом OrderCheck возвращает true.
 
Alexander:

Какой номер заявки?

Открыта, Начата: 2016.08.04 02:13, #1530548


Кстати... а почему ссылки перестали работать?

Описание проблемы

здесь https://www.mql5.com/ru/forum/1111/page1648#comment_2702870 с рисунками

а сейчас эта ссылка выглядит так:

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

Сейчас стал проверять - все ссылки в заявках ведут в никуда... раньше то все было нормально... ссылки были абсолютными. Сейчас только по дате понял что ссылка относится к этой заявке

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

Кстати... а почему ссылки перестали работать?

Описание проблемы

здесь https://www.mql5.com/ru/forum/1111/page1648#comment_2702870 с рисунками

а сейчас эта ссылка выглядит так:

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

Сейчас стал проверять - все ссылки в заявках ведут в никуда... раньше то все было нормально... ссылки были абсолютными. Сейчас только по дате понял что ссылка относится к этой заявке

Давно уже на 20 страниц все съехало в этой ветке.

 
fxsaber:

Давно уже на 20 страниц все съехало в этой ветке.

Раньше тоже съезжало, но ссылки работали (концовка то осталась неизменной)... по крайней мере я легко находил сообщения годичной давности, а сейчас уже мартовские ссылки битые
 
Stanislav Korotky:

Вот на это простом скрипте, запущенном сперва с writing = true, а потом на другом чарте с writing = false, получаю ошибку.

Результат выполнения скрипта:

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. С writing = true

2. На том-же графике с writing = false

3. На другом графике с writing = false

Единственное изменение

void OnStart()
как и положено...

Соответственно вместо

    return INIT_FAILED;

оставлено

    return;

и удалено

  return 0;

за ненадобностью.


В чём ошибка???

 

Я понял что неправильно провёл эксперимент.

Вот результат повторного:

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

Ваша ошибка в том, что после записи в файл данные на диск попадают только после FileClose ИЛИ после принудительного сбрасывания данных на диск FileFlush

Иначе как можно прочесть несуществующий файл???

И всё-же я добавил флаг 

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(). Если не использовать функцию, то часть данных, еще не попавших на диск, принудительно записывается туда только при закрытии файла функцией...
 

Как может last-цена быть не кратна TickSize?

SymbolInfoDouble(Symb,SYMBOL_TRADE_TICK_SIZE) = 0.05
Tick.last = 14.16
Причина обращения: