Ошибки, баги, вопросы - страница 1824
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Запуск от администратора не помогает?
Что заметил сейчас - хотел уже перезагружать windows, закрыл редактор mql5, закрыл редактор mql4, закрыл терминалы МТ5 и МТ4. Но что-то потребовалось в редакторе mql4 посмотреть. Вновь его открыл и, о чудо!!..., файл скомпилировался. Теперь вот грешу на одновременную работу двух редакторов - mql4 и mql5. Странно, что в них не открыты одинаковые файлы из разных каталогов.
Но, понаблюдаю за их совместной работой.
Выбран. Нулевой результат случается только после первого запуска и не обязательно на SGD-символах.
В исходник SGDJPY случайно попал. Результат представлен уже для исправленной версии, где вместо "SGDJPY" стоит _Symbol.
Получилось воспроизвести?
На четверке то же самое. У меня даже коммент стоит, чтобы это не забыть. Сейчас обновил МТ4 до 1052 - бяку не убрали. Запуск под администратором не помогает (ответ Комбинатору)
Вот код функции для MQL4, использую в индикаторе, вызывается в OnCalculate. Если добавить индикатор на чарт - все ОК. Но если перезапустить терминал - несколько нулевых значений, смотрите вывод в конце поста.
{
int dig=(int)MarketInfo(symbol,MODE_DIGITS);
if(dig == 0)
return(false); // symbol is none
double tickSizeMarketInfo = MarketInfo(symbol, MODE_TICKSIZE); // пункт в валюте котировки (0,00001 для EURUSD на 5-знаке)
double tickValue, tickSize2;
if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE, tickValue)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке)
Print(__FUNCTION__, " SymbolInfoDouble(...SYMBOL_TRADE_TICK_VALUE) returns false");
if(!SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_SIZE, tickSize2)) // пункт в валюте депозита ($1 для EURUSD на 5-знаке)
Print(__FUNCTION__, " SymbolInfoDouble(...SYMBOL_TRADE_TICK_SIZE) returns false");
Print("tickSizeMarketInfo= ", tickSizeMarketInfo, " tickSize2= ", tickSize2, " tickValue= ", tickValue);
if(tickSizeMarketInfo == 0 || tickSize2 == 0 || tickValue == 0.0)
return false;
double price=diff/(tickSize2/tickValue);
price4lot=NormalizeDouble(price,2);
return (true);
}
Вывод после перезапуска терминала:
2017.03.01 00:31:43.588 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0
2017.03.01 00:31:43.460 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0
2017.03.01 00:31:43.351 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 1.0
2017.03.01 00:31:42.961 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 0.0
2017.03.01 00:31:42.910 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 0.0
2017.03.01 00:31:42.866 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 0.0
2017.03.01 00:31:42.301 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 0.0
2017.03.01 00:31:41.116 ShowImportantParams EURUSD.e,M5: tickSizeMarketInfo= 1e-05 tickSize2= 1e-05 tickValue= 0.0
2017.03.01 00:31:41.116 ShowImportantParams EURUSD.e,M5: initialized
2017.03.01 00:31:41.080 Custom indicator ShowImportantParams EURUSD.e,M5: loaded successfully
На четверке то же самое. У меня даже коммент стоит, чтобы это не забыть.
Не пробовал. Раньше, до билда 1045 такого не встречалось. Причём и сейчас не постоянно. Можно проработать пол-дня, и только потом нарваться на эту ошибку.
Что заметил сейчас - хотел уже перезагружать windows, закрыл редактор mql5, закрыл редактор mql4, закрыл терминалы МТ5 и МТ4. Но что-то потребовалось в редакторе mql4 посмотреть. Вновь его открыл и, о чудо!!..., файл скомпилировался. Теперь вот грешу на одновременную работу двух редакторов - mql4 и mql5. Странно, что в них не открыты одинаковые файлы из разных каталогов.
Но, понаблюдаю за их совместной работой.
2017.03.01 01:43:30.844 Windows 10 Home (x64 based PC), IE 11.00, UAC, 4 x Intel Core i3-3217U @ 1.80GHz, RAM: 1540 / 5005 Mb, HDD: 10397 / 260234 Mb, GMT+07:00
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
Без разницы - время от времени вываливается ошибка, не зависимо от того, один или два редактора запущены:
2017.03.01 01:43:30.844 Windows 10 Home (x64 based PC), IE 11.00, UAC, 4 x Intel Core i3-3217U @ 1.80GHz, RAM: 1540 / 5005 Mb, HDD: 10397 / 260234 Mb, GMT+07:00
2017.03.01 01:43:30.844 Data Folder: D:\New MT4
в /portable режиме тоже проблема проявляется?
Это и есть /portable режим:
посмотреть нужно пользователей соответствующих папок, думаю МТ4 не виноват ни в чем, похоже на проблемы с доступом к папкам. возможно какой то скрытый процесс блокирует доступ.
Это и есть /portable режим: