Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Во-вторых, море книг читать не нужно, нужно читать что-то конкретное.
В третьих,если Вы не можете пояснить на примере, как заставить фукцию работать в моем простейшем случае, так дайте ссылку на литературу,где это объяснение имеется.
Ссылку я видел,к сожалению, не ясно,как прописывать функции, где объявлять, как пользоваться.
Нет даже ни одной ссылки на литературу, где эти знания можно подчерпнуть.
Еще раз прошу,ПОБЕРЕГИТЕ НАШЕ ВРЕМЯ,повнимательнее отнеситесь к хелпам,ведь ваши потребители - не толко профессиональные программисты, а люди, которые хотят использовать продукт на практике и решают вполне простые и конкретные задачи.
пример чего вы хотите?
Трудно догадаться что вам нужно ....
Примеры функций?
Так откройте любой индикатор или эксперт, там обязательно есть функции init и start.
Если вам нужны функции задаваемые пользователем - см. ветку про Профайл рынка, там есть индикатор, который использует пару самодельных функций - NewBar и CalcProfile.
Для простоты приведу фрагмент:
Ваш вопрос настолько неожиданный, вы спрашиваете о таких очевидных для программеров вещах, которые тем более тут во всех скриптах присутствуют, что все просто в растерянности что вам отвечать ..
Такое ощущение, что вы над нами просто издеваетесь .. :)
Если я вам не про то написал (пример выше), тогда уточняйте ваш вопрос.
Иначе вам никто вразумительно не ответит ..
вставляю кусочек кода из инструкции в тело своего эксперта, который до этого нормально компилировался -
double linfunc(double a,double b)
{return (a+b);}
получаю ответ компилятора:
'(' - function definition unexpected C:\Program Files\MetaTrader 4\experts\New_expert.mq4 (187, 15)
'}' - unbalanced parentheses C:\Program Files\MetaTrader 4\experts\New_expert.mq4 (205, 3)
Просто пытаюсь заставить функцию вернуть значение.Результата нет.Почему ?
Кроме того,подскажите,еслди не сложно,где описано создание и использование библиотек в MQL4, если нет, то какая книга по С даст представление по этому вопросу.
Куда вставляете?
В какое место?
Приведите фрагмент вашего скрипта.
В MQL нельзя описание функции разместить внутри другой функции.
Т.е. описание функции не может находиться внутри функции start.
(что вы видимо и сделали)
Библиотека - это отдельный файл содержащий тексты нескольких функций.
В начале такого файла должна стоять строчка
Файл должен быть размещен в папке include,
и подключается инструкцией
Но у меня эта фигня сейчас не работает .. :(
Похоже глюк.
В общем пишите пока функции в самом индикаторе/эксперте
посмотрите, как это сделано у нас. библиотека stdlib живёт в папочке libraries, а описательный файл stdlib.mqh живёт в папочке include.
описания функций нужны для синтаксической развязки вызовов этих самых функций, которые на самом деле живут совсем в другом модуле.
Нигде мою функцию не приняли.
А где нужно описывать функцию ? Разработчики пишут, что функцию можно описывать в любом месте.
см."Функции"
С библиотекой действовал ,как вы и описали, при компиляции пишет, что не может открыть файл библиотеки.
Короче, после всех сломанных копий сожно сделать вывод, что описать функцию, передать туда значения и получить обратно результат НЕЛЬЗЯ ????
А сразу разработчики могли бы это сказать ?
alexD,
давайте для начала без библиотек.
Пример смотрите выше.
Это отределения функций.
Они находятся за пределами определений других функций.
В функции start вызывается функция NewBar, а в ней вызывается CalcProfile.
Ну я не знаю как еще объяснить :(
Давайте сюда ваш скрипт, вставим функцию.
загляните в директорию includes и Вы увидите включаемый файл stdlib.mqh. внимательно изучите его содержимое. там находится предложение import и описания функций, которые можно вызвать из библиотеки. этот файл подключается к программам при помощи #include <stdlib.mqh> для того, чтобы компилятор смог правильно оформить соответствующий вызов (сами функции-то живут совсем в другом модуле)