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

 
Julia Test:


Спасибо за сообщения. Разбираемся.

женюсь без разговоров

 
Stanislav Korotky:

Пробовал, не помогает. По прочим замечаниям - COMMON не нужен, т.к. терминал один, если б было несколько был бы COMMON, но он ничего не решает. Нужны именно файлы - ресурсы не катят.

Тут выше дали ссылку (даже две) на эту же проблему - похоже она реально существует - печальненько.

PS. Вот почему я не люблю форумы с подобными бесконечными вопросами-ответами - в них трудно систематизировать информацию. Уже давно предлагал MQ сделать вопросы-ответы отдельными, по аналогии с SO, но по-старинке видимо привычнее.

Nikolai Semko:

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

union в помощь.

Stanislav Korotky:

Есть два эксперта. Стучатся в один и тот же файл, открываемый через FileOpen с такими флагами:

в эксперте 1 - FILE_READ|FILE_WRITE|FILE_BIN|FILE_SHARE_READ

в эксперте 2 - FILE_READ|FILE_BIN|FILE_SHARE_READ

Второй эксперт получает ошибку 5004.

Каким образом обеспечить чтение?


У Вас эксперте 1 флаг FILE_WRITE, а у эксперта 2 этот флаг отсутствует.

 
Постоянно стал нарываться на эту ошибку

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2017.02.14 22:25

Ошибка [No prices] на ровном месте
2017.02.14 23:18:41.442 '5122740': failed instant buy 1.00 EURPLN at 4.30632 (deviation: 100) [No prices]

Как это нет цены, есть даже в логе она указана?!

Запрос

2017.02.14 23:18:41.442 Request.action = TRADE_ACTION_DEAL (1)
2017.02.14 23:18:41.442 Request.magic = 0
2017.02.14 23:18:41.442 Request.order = 0
2017.02.14 23:18:41.442 Request.symbol = EURPLN
2017.02.14 23:18:41.442 Request.volume = 1.0
2017.02.14 23:18:41.442 Request.price = 4.30632
2017.02.14 23:18:41.442 Request.stoplimit = 0.0
2017.02.14 23:18:41.442 Request.sl = 0.0
2017.02.14 23:18:41.442 Request.tp = 0.0
2017.02.14 23:18:41.442 Request.deviation = 100
2017.02.14 23:18:41.442 Request.type = ORDER_TYPE_BUY (0)
2017.02.14 23:18:41.442 Request.type_filling = ORDER_FILLING_RETURN (2)
2017.02.14 23:18:41.442 Request.type_time = ORDER_TIME_GTC (0)
2017.02.14 23:18:41.442 Request.expiration = 1970.01.01 00:00:00
2017.02.14 23:18:41.442 Request.comment = My Position
2017.02.14 23:18:41.442 Request.position = 0
2017.02.14 23:18:41.442 Request.position_by = 0
2017.02.14 23:18:41.442 Result.retcode = 10021
2017.02.14 23:18:41.442 Result.deal = 0
2017.02.14 23:18:41.442 Result.order = 0
2017.02.14 23:18:41.442 Result.volume = 0.0
2017.02.14 23:18:41.442 Result.price = 0.0
2017.02.14 23:18:41.442 Result.bid = 0.0
2017.02.14 23:18:41.442 Result.ask = 0.0
2017.02.14 23:18:41.442 Result.comment = No prices 0.028 + 0.000 ms
2017.02.14 23:18:41.442 Result.request_id = 0
2017.02.14 23:18:41.442 Result.retcode_external = 0
2017.02.14 23:18:41.442
2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_BID) = 4.30151
2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_ASK) = 4.30632

Эта же ошибка возникает, когда пытаешься руками делать торговый запрос. Через ~минуту, вдруг, все начинает работать снова. Через какое-то время ошибка повторяется.

 
fxsaber:
Постоянно стал нарываться на эту ошибку

Эта же ошибка возникает, когда пытаешься руками делать торговый запрос. Через ~минуту, вдруг, все начинает работать снова. Через какое-то время ошибка повторяется.

Насколько я помню, там настраивается тайм-аут, после которого цена считается безнадежно устаревшей. То есть если не менялась 3 минуты, то открываться по ней нельзя.

 
Stanislav Korotky:

Пробовал, не помогает. По прочим замечаниям - COMMON не нужен, т.к. терминал один, если б было несколько был бы COMMON, но он ничего не решает. Нужны именно файлы - ресурсы не катят.

Странно что не помогает. Я смог получить 5004 только без флага FILE_SHARE_WRITE

Файл в советнике записи открывается в OnInit и закрывается только в OnDeinit. При этом, в советнике чтения, файл читается и печатает без проблем.

Для более точного повторения ваших действий хорошо-бы уточнить как вы пишете файл.

 
Alexey Viktorov:

Странно что не помогает. Я смог получить 5004 только без флага FILE_SHARE_WRITE

Файл в советнике записи открывается в OnInit и закрывается только в OnDeinit. При этом, в советнике чтения, файл читается и печатает без проблем.

Для более точного повторения ваших действий хорошо-бы уточнить как вы пишете файл.

Здесь https://www.mql5.com/ru/forum/1111/page1628#comment_2702870 описана последовательность действий: для воспроизведения и одного советника достаточно... но можно и два - экспериментируйте: прикрепите их сначала на один график... потом на два по одному... потом на два по два... если все нормально - добавьте Sleep... напишите результат
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2016.08.03
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
A100:
Здесь https://www.mql5.com/ru/forum/1111/page1628#comment_2702870 описана последовательность действий
т.е. ошибке с флагами уже минимум два года?
 
TheXpert:
т.е. ошибке с флагами уже минимум два года?
Строго говоря ошибка связана с одновременным вызовом FileOpen( filename ) из разных советников (флаги роли не играют). Два года назад была... сейчас судя по https://www.mql5.com/ru/forum/1111/page2231#comment_8142480 осталась в том или ином виде (сам проверить сейчас не могу - нет MetaTrader под рукой)
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.07.21
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
A100:
Здесь https://www.mql5.com/ru/forum/1111/page1628#comment_2702870 описана последовательность действий: для воспроизведения и одного советника достаточно... но можно и два - экспериментируйте: прикрепите их сначала на один график... потом на два по одному... потом на два по два... напишите результат

Учитывая сказанное

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

A100, 2016.08.04 00:05

Ошибка открытия экспертом файла. А если например

1. убрать "некий код не имеющий отношения к делу" (см.ниже)

2. или убрать ::Sleep(1000)

то ошибки не возникает

В чём проблема-то?????????????? Уберите и живите счастливо. Или ваша цель пребывания на форуме заключается только в поисках багов mql и МТ вообще???
 
Alexey Viktorov:

Учитывая сказанное

В чём проблема-то?????????????? Уберите и живите счастливо. Или ваша цель пребывания на форуме заключается только в поисках багов mql и МТ вообще???

А нельзя убрать - потому что это код советника или Вы желаете разбираться в тысячах строк чужого кода не имеющих отношения к делу - результатом которых является лишь задержка по времени?

Задание которое я Вам дал выше выполните и доложите общественности о результатах

Причина обращения: