Суть вот в чём. Второй формальный параметр функции имеет умолчательное значение 0. А значит я могу вызывать согласно документации данную функцию, без второго параметра, т.к. он по умолчанию будет иметь значение 0.
Вызываю её так:
Компилятор ругается:
Почему?
Переместите её из библиотеки в код чего-там-делаете. Если ошибка уйдёт - значит проблемы с правильным подключением библиотеки в коде чего-там-делаете. В первую очередь.
Если не уйдёт - смотрите какие параметры передаёте в функцию. По идее должен быть параметр типа string с названием валютной пары. Передайте просто Symbol()
Переместите её из библиотеки в код чего-там-делаете. Если ошибка уйдёт - значит проблемы с правильным подключением библиотеки в коде чего-там-делаете. В первую очередь.
Если не уйдёт - смотрите какие параметры передаёте в функцию. По идее должен быть параметр типа string с названием валютной пары. Передайте просто Symbol()
И на самом деле помогло.. Подумаю..
Так странно. А что смотреть в библиотеку, если передача параметров верная? Ошибка то явно написана. Или тут ничего конкретного нет? Знать бы что тут хоть нужно..
Эта функция заимствована, так что вылаживаю с контактами автора:
Изучением документации. В компилируемые библиотеки параметры по умолчанию не передаются - при вызове функции нужно передавать ВСЕ параметры. Почитайте внимательно. Выдержка:
Так как импортируемые функции находятся вне компилируемого модуля, компилятор не может проверить правильность передаваемых параметров. Поэтому, во избежание ошибок выполнения, необходимо точно описывать состав и порядок параметров, передаваемых в импортируемые функции. Параметры, передаваемые в импортируемые функции (как из EX4, так и из DLL-модулей), не могут иметь значения по умолчанию.
В компилируемые библиотеки параметры по умолчанию не передаются - при вызове функции нужно передавать ВСЕ параметры. Почитайте внимательно. Выдержка:
Так как импортируемые функции находятся вне компилируемого модуля, компилятор не может проверить правильность передаваемых параметров. Поэтому, во избежание ошибок выполнения, необходимо точно описывать состав и порядок параметров, передаваемых в импортируемые функции. Параметры, передаваемые в импортируемые функции (как из EX4, так и из DLL-модулей), не могут иметь значения по умолчанию.
Ах вот оно что. Век живи -век учись! Благодарю, буду знать.
Имеется потребность при запуске оптимизации в MT4 получать информацию о проходе во вкладке "Результаты оптимизации" аналогичной той, что формируется при разовом проходе во вкладке "Отчет".
Решил познакомиться с библиотекой. Высосал часть кода с своего индикатора и всунул его в функцию, а функцию ету размножил и вставил в два файла библиотечных.
Первого назвал "indi.mqh", а второго просто - "djo.mq4".
int countbars(int& hist, int obrax, bool tikk)
{
int z=0;
staticint PreBars=0;
staticdatetime BarTime=0;
if (Bars == PreBars && tikk==false)return(-1);
if (Bars < hist+obrax)
{
if (Bars-obrax<=1) {Alert (" Недостатьньо історії");return(-1);}
hist=Bars-obrax;
}
if (Bars-PreBars == 0 && BarTime==Time[0] && tikk==true) return(0);
else
{
if (Bars-PreBars == 1 && BarTime==Time[1]) z=1;
else z=hist;
}
PreBars = Bars;
BarTime=Time[0];
return (z);
}
К сути: при обращении первому, все норм работает, как и запланировано;
include <indi.mqh>
при замене первого вторым и обращении ко второму методом:
#import "djo.ex4"int countbars(int& hist, int obrax, bool tikk); #import
Но вообще ничего не работает, даже алерты - нигде после старт. А только что и терминал самозакрылся ))
Как я догадываюсь идет переинициализация всех констант каждый раз при обращении к импортированой функции ?
Где можно детально почитать про импорт в mql4, баги которые то ли пофиксили, то ли нет, и так далее ?
Решил познакомиться с библиотекой. Высосал часть кода с своего индикатора и всунул его в функцию, а функцию ету размножил и вставил в два файла библиотечных.
Первого назвал "indi.mqh", а второго просто - "djo.mq4".
К сути: при обращении первому, все норм работает, как и запланировано;
при замене первого вторым и обращении ко второму методом:
Но вообще ничего не работает, даже алерты - нигде после старт. А только что и терминал самозакрылся ))
Как я догадываюсь идет переинициализация всех констант каждый раз при обращении к импортированой функции ?
Где можно детально почитать про импорт в mql4, баги которые то ли пофиксили, то ли нет, и так далее ?
Спасибо я спать............
Существует возможность передавать параметры по ссылке. В этом случае модификация таких параметров отразится на соответствующих переменных в вызываемой функции, переданных по ссылке. Нельзя передавать по ссылке элементы массивов. Параметры по ссылке можно передавать только в пределах одного модуля, для библиотечных функций такая возможность не предусмотрена. Для того чтобы указать, что параметр передается по ссылке, после типа данных необходимо поставить модификатор &. И вот ещё эксперименты.
Скажите.Вот у меня выдает звуковое сообщение при пересечении двух сколь средних. При открытии это звуковое сообщение повторяется столько раз, сколько пересечений было за всю историю. Вопрос. Как заставить выдавать сообщения только тех сигналов, которые были сгенерированы в настоящее время. То есть только только в то время и тот сигнал, который был получен буквально в настоящий момент...
Zolotai: Скажите.Вот у меня выдает звуковое сообщение при пересечении двух сколь средних. При открытии это звуковое сообщение повторяется столько раз, сколько пересечений было за всю историю. Вопрос. Как заставить выдавать сообщения только тех сигналов, которые были сгенерированы в настоящее время. То есть только только в то время и тот сигнал, который был получен буквально в настоящий момент...
При открытии чего? Такое ощущение, что это индикатор. Решений много. Всё зависит от кода.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Есть функция. Вот её начала:
Суть вот в чём. Второй формальный параметр функции имеет умолчательное значение 0. А значит я могу вызывать согласно документации данную функцию, без второго параметра, т.к. он по умолчанию будет иметь значение 0.
Вызываю её так:
Компилятор ругается:
Почему?Переместите её из библиотеки в код чего-там-делаете. Если ошибка уйдёт - значит проблемы с правильным подключением библиотеки в коде чего-там-делаете. В первую очередь.
Если не уйдёт - смотрите какие параметры передаёте в функцию. По идее должен быть параметр типа string с названием валютной пары. Передайте просто Symbol()
Переместите её из библиотеки в код чего-там-делаете. Если ошибка уйдёт - значит проблемы с правильным подключением библиотеки в коде чего-там-делаете. В первую очередь.
Если не уйдёт - смотрите какие параметры передаёте в функцию. По идее должен быть параметр типа string с названием валютной пары. Передайте просто Symbol()
И на самом деле помогло.. Подумаю..
Так странно. А что смотреть в библиотеку, если передача параметров верная? Ошибка то явно написана. Или тут ничего конкретного нет? Знать бы что тут хоть нужно..
Эта функция заимствована, так что вылаживаю с контактами автора:
Импортировал я её так:
Вызов щяс такой:
Как решаются подобные задачи?
Изучением документации. В компилируемые библиотеки параметры по умолчанию не передаются - при вызове функции нужно передавать ВСЕ параметры. Почитайте внимательно. Выдержка:
В компилируемые библиотеки параметры по умолчанию не передаются - при вызове функции нужно передавать ВСЕ параметры. Почитайте внимательно. Выдержка:
Ах вот оно что. Век живи -век учись! Благодарю, буду знать.
Имеется потребность при запуске оптимизации в MT4 получать информацию о проходе во вкладке "Результаты оптимизации" аналогичной той, что формируется при разовом проходе во вкладке "Отчет".
Как это можно реализовать?
Решил познакомиться с библиотекой. Высосал часть кода с своего индикатора и всунул его в функцию, а функцию ету размножил и вставил в два файла библиотечных.
Первого назвал "indi.mqh", а второго просто - "djo.mq4".
К сути: при обращении первому, все норм работает, как и запланировано;
при замене первого вторым и обращении ко второму методом:
Но вообще ничего не работает, даже алерты - нигде после старт. А только что и терминал самозакрылся ))
Как я догадываюсь идет переинициализация всех констант каждый раз при обращении к импортированой функции ?
Где можно детально почитать про импорт в mql4, баги которые то ли пофиксили, то ли нет, и так далее ?
Спасибо я спать............
Решил познакомиться с библиотекой. Высосал часть кода с своего индикатора и всунул его в функцию, а функцию ету размножил и вставил в два файла библиотечных.
Первого назвал "indi.mqh", а второго просто - "djo.mq4".
К сути: при обращении первому, все норм работает, как и запланировано;
при замене первого вторым и обращении ко второму методом:
Но вообще ничего не работает, даже алерты - нигде после старт. А только что и терминал самозакрылся ))
Как я догадываюсь идет переинициализация всех констант каждый раз при обращении к импортированой функции ?
Где можно детально почитать про импорт в mql4, баги которые то ли пофиксили, то ли нет, и так далее ?
Спасибо я спать............
Скажите.Вот у меня выдает звуковое сообщение при пересечении двух сколь средних. При открытии это звуковое сообщение повторяется столько раз, сколько пересечений было за всю историю. Вопрос. Как заставить выдавать сообщения только тех сигналов, которые были сгенерированы в настоящее время. То есть только только в то время и тот сигнал, который был получен буквально в настоящий момент...
При открытии чего? Такое ощущение, что это индикатор. Решений много. Всё зависит от кода.
Да код тут не при чем. Мне просто нужно правильное условие. Вопрос есть ли возможность узнать время текущего бара? Как вообще узнать время бара?