Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Приветствую!
После обновления до 418 функции из внешних DLL, возвращающие значения double, возвращают ошибочные значения. Например вместо числа получаю такое значение 1.#IND.
Значения типа int возвращаются нормально.
Перестали работать некоторые индикаторы, использующие эти функции.
return (ret_value);
}
На 412 все работало нормально
Даже если пишу так return(1.5436), то все равно возвращается ошибочное значение
}
На 412 все работало нормально
Даже если пишу так return(1.5436), то все равно возвращается ошибочное значение
В папке МТ4 есть тестовый пример. Сделайте, как там. У меня всё работает правильно.
У меня все так же, как в примере. За исключением вот этого - extern "C". Если это (extern "C") убрать, то все равно не работает.
Ещё это надо попробывать на всякий случай для чистоты эксперимента:
Ещё это надо попробывать на всякий случай для чистоты эксперимента:
Как Вы предлагаете будет ошибка. По-моему правильно __declspec ... __stdcall. Может что-то с опциями компилятора?
Увы. Не помогло.
Только что создал DLL из папки samples.
И маленький индикатор:
#property copyright ""
#property link ""
#property indicator_chart_window
#include <sampledll.mqh>
int init()
{
//---- indicators
//----
return(0);
}
int deinit()
{
return(0);
}
int start()
{
int counted_bars=IndicatorCounted();
double M;
M = GetDoubleValue(1.5483);
Comment(M);
return(0);
}
Результат: -1.#IND
Подключил библиотеку ExpertSample.dll из стандартной поставки МТ4. Результат выполнения индикатора тот же -1.#IND