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

 
JRandomTrader #:

Как одну из возможных причин предположу повреждение данных на диске (сам диск, файловая система, вредоносный софт, перегрев, проблемы блока питания или преобразователей на MB, ...).

диск свободен на 50%, температура не превышает 45C, все прочие данные на этом диске целые и программы работают. после сноса папки config терминал снова работает нормально (не тороплюсь сказать "хорошо").

JRandomTrader #:

А, вот ещё конспирологический вариант - это ответка за тему про доллар :)

на всякий случай окроплю ноутбук святой водой.) 

 
Andrey Dik #:

диск свободен на 50%, температура не превышает 45C, все прочие данные на этом диске целые и программы работают. после сноса папки config терминал снова работает нормально (не тороплюсь сказать "хорошо").

Перегрев - это не только к диску, это и к процу, и к памяти.

Вредоносный софт - например, работающий избирательно шифровальщик.

Но это всё лишь возможные причины предполагаемого искажения данных.

 
Ошибка история для тестораДобрый день, уважаемые разработчики и трейдеры! Кто-нибудь сталкивался с такой проблемой при тестировании мультивалютного советника
То есть, если запустить тестирование на всех парах, то тестор падает, а если отдельно "упавшую" пару, что все окей. В чем дело? 
История всех пар закачена с 2007 года, а тестирование начинается с 2008. 
 

Порекомендуйте по наглядности MT4 open source скрипты для удобного отображения истории торгов.

MT5-Тестер, к сожалению, показывает неправильно историю торговли на графиках.

 
Приветствую, скажите пожалуйста, почему не могу изменить название сигнала, как продавец, в начтройках?
 
Sergey Dzyublik #:
Ввиду текущих работ по МЕ, прошу наконец-таки реализовать поддержку intellisense для namespace.
На текущий момент, с точки зрения UX(User Experience) использование namespace просто неюзабельно, необходимо на память запоминать названия десятка функций, ведь ни какая подсказка не всплывает.

В конечном итоге от namespace пришлось отказаться в пользу статических методов класса, где  intellisense работает на ура.
Единственный плюс namespace - это  "extension namespace definition", но и тут проще реализовывать отсутствующую возможность через include костыли, чем пользоваться namespace в MQL.



+1
 
Sergey Dzyublik #:
Bugs Mt5 (build 3291) Проблемы в инициализации статических переменных функции, когда та используется для инициализации другой статической переменной.
Пишешь return true, а код без твоего ведома инициализирует переменную как false.


Наличие проблемы зависит от типа статической переменной, используемой в функции. В основном проблема касается простых типов, включая string. Для последнего проблема может приводить к Memory Leak.
Такое впечатление, что в начале инициализации первой статической переменной выставляется некий флаг, который и не дает инициализироваться другим статическим переменным из функции.

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

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

fxsaber, 2022.05.18 11:31

Интересно, что если сделать так, то возвращает true. Опасный баг.

static bool result = !::MQLInfoInteger(MQL_TESTER);

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

Поэтому  в mql инициалиция глобальной переменной (в т.ч. стат. члена класса) значением ф-ии, которое вычисляется с использованием локальной стат.переменной ф-ии, приводит к  UB.

Разработчики говорили, что менять это не собираются. Но, может быть, концепция поменялась, и можно ждать перемен?

 
ALEXEY NIKOLAEV #:
Добрый день, уважаемые разработчики и трейдеры! Кто-нибудь сталкивался с такой проблемой при тестировании мультивалютного советника
То есть, если запустить тестирование на всех парах, то тестор падает, а если отдельно "упавшую" пару, что все окей. В чем дело? 
История всех пар закачена с 2007 года, а тестирование начинается с 2008. 

При тестировании/оптимизации мультивалютных советников требуется очень много памяти, как оперативной, так и на диске. И чем больше период тестирования, тем больше требуется. Посмотрите, хватает ли её при запуске тестирования. Как заполняется жёсткий диск и оперативка. 

 
Andrey Kaunov #:

При тестировании/оптимизации мультивалютных советников требуется очень много памяти, как оперативной, так и на диске. И чем больше период тестирования, тем больше требуется. Посмотрите, хватает ли её при запуске тестирования. Как заполняется жёсткий диск и оперативка. 

Добрый день! Ну точно! Как оказалось, терминал загружает в папку temp данные, которые обрабатывает. Если внутри себя крутит-вертит 40 пар, по 5-6 таймфреймов с 2000 года до нашей эры, то папка переполняет диск. 
У меня заполнилась на 138 гигов и тестор отказался работать. Спасибо, что подсказали)  

 
mktr8591 #:

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

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

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

A100, 2018.12.03 12:25

void f()
{
static a;
}
static b;

на самом деле означает

void f()
{
}
static b;
static a;

первым делом отдельностоящие static, ну а в {} потом