expert stopped - страница 2

 

)))

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

Короче, беспорядок валяется, наверное :)

 
alsu:

Похожая проблема, но еще интереснее: ДЛЛ вызывается из одной и той же MQL-функции в индюкаторе и эксперте, только вот в индюке все нормально, а советник слетает.

Есть у кого-нибудь идеи?

Тоже такое заметил. Зрелых идей пока что нет. Уловил такую вроде бы закономерность: в эксперте сначала слетает несколько раз, пока, по-видимому, не подгрузится история по всем парам ( длл многовалютная, обращается к iClose ( ... ) ). Причём слетает именно в функции start ( ), потом работает нормально сколь угодно долго; в init ( ) на довольно длинном обсчёте истории всё хорошо, ни слетала ни разу. В индюке ( тоже многовалютном ) - ни разу. И ещё заметил: вроде бы если длл в эксперте собирается слететь, терминал слегка тормозит и перестаёт реагировать на приходящие тики. И самое главное: такое наблюдается только под виндой. Под линуксом и вайном не было ни разу ни в индюке, ни в эксперте. :) Сборка 406-409, винда 7-я начальная, линукс убунту 10.04, вайн 1.2.3.
 

После перекомпиляции всех библиотек под другой средой (код причем не менял!:) проблема вроде исчезла... чтобы уступить место еще более загадочной.

Есть функция, которая вызывает DLL (в ней вполне простой расчет коэффициентов регрессии, либа написана года два назад, замечательно отлажена и до вчерашнего дня не глючила). При попытке вызова функции вываливается с надписью DOMAIN ERROR (C++шное исключение). Проверил данные - вроде все должно быть нормально. Решил вывести принтом счетчик вызова функции, чтобы определиться хотя бы, на каком месте программы вылет. О чудо - функция все исправно считает! Удаляю принт - глюК. Ставлю принт - работает нормально. Перезагрузился - без изменений. Подумываю о сносе свежеустановленной х64 и откате обратно к x86))

 
alsu:

Похожая проблема, но еще интереснее: ДЛЛ вызывается из одной и той же MQL-функции в индюкаторе и эксперте, только вот в индюке все нормально, а советник слетает.

Есть у кого-нибудь идеи?

Неявный признак корявости какой-то синхронизации.

Щупать надо, тут почти без вариантов -- копаться с бубном причем вам самолично, т.к. без кода подсказать что-то почти нереально.

alsu:

О чудо - функция все исправно считает! Удаляю принт - глюК. Ставлю принт - работает нормально. Перезагрузился - без изменений. Подумываю о сносе свежеустановленной х64 и откате обратно к x86))

Кстати неявный признак примерно того же самого.

 

Скольо подобных ошибок поисправлял у себя... Не счеть их. Всегда обычно собственный недосмотр.

По неопытности и по безграмотности такие ошибки. Проходит немного времени и начинаешь понимать почему так случилось и что надо сделать, чтобы не было таких ошибок.

Последние "чудеса" такие наблюдались от неправльной последовательности инициализации классов. Синглетон помог. Теперь защищён от таких ошибок. Но сколько их других ещё придётся исправить?...

На тот момент даже не знал о таком патерне. Андрей Постников подсказал и даже дал свой синглетон.

TheXpert:

Неявный признак корявости какой-то синхронизации.

Правильный синглетон с синхронизацией тоже помогает.

 

Нашел старые исходники, код вроде в порядке... перекомпилировал. Пока полет нормальный.

Похоже, старая либа слишком "заюзалась")))

 

imho, ключевое слово - перекомпилировал. Мне лично, очень нравится подход Метаквотов: перекомпилировать все, что растет:) От греха...

Вадим, при чем безграмотность? Самобичевание в монастыре уместно, а мы деньги зарабатываем :) Ну, или делаем вид...

 
tara:

imho, ключевое слово - перекомпилировал. Мне лично, очень нравится подход Метаквотов: перекомпилировать все, что растет:) От греха...

Вадим, при чем безграмотность? Самобичевание в монастыре уместно, а мы деньги зарабатываем :) Ну, или делаем вид...

Я о себе. Я ж не профессиональный программист. Т.е. совсем не программист. Поэтому многое не знаю. Помогают профессионалы.
Причина обращения: