Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В таком исполнении кода компилятор ругается
int Orders (int &n=0, int &b=0, int &s=0, int &bs=0,int &ss=0,int &bl=0,int &sl=0)
Откорректируйте вызов - нужно передавать параметры при вызове функции и сами переменные должны быть описаны во внешней (вызывающей) функции.
и уберите умолчания - это я недоглядел. Вот так правильно.
Спасибо !!! Жаль нету на форуме кнопки спасибо ....
Откорректируйте вызов - нужно передавать параметры при вызове функции и сами переменные должны быть описаны во внешней (вызывающей) функции.
и уберите умолчания - это я недоглядел. Вот так правильно.
Такой подход написания (конкретной задачи) немножко через одно место... Элегантнее записать так:
Такой подход написания (конкретной задачи) немножко через одно место... Элегантнее записать так:
А, походу, Вы не читатель, а писатель ;) - дайте себе труд прочитать ветку сначала. Например, с первой страницы ;) ....... И заодно мои комменты по стилю программирования - это плохой стиль.
Доброго времени суток всем.
У меня не большой вопрос. В учебнике Ковалёва по MQL4 есть эксперт(newbar.mq4), который находит и выводит на экран минимальное и максимальное значения цены среди последних сформировавшихся n баров. Я его прикрепил. Вот он:
Мне здесь всё понятно кроме одного момента. А именно: в начале пользовательской функции есть строка :
static datetime New_Time=0;
Ведь это означает, что на каждом тике при обращении к пользовательской функции переменная New_Time должна обнуляться( поэтому получается, что нет смысла делать переменную New_Time статической )
А значит условие if(New_Time!=Time[0]) на каждом тике будет истинным. А раз так, то переменная New_Bar на каждом тике будет принимать значение true.
А из этого следует, что на каждом тике должно выскакивать сообщение "Появилась новая свеча" и производиться поиск максим. и миним. значения.
Я подумал, что это описка и нужно написать: static datetime New_Time; (т.е. без ноля). Тогда при объявлении переменной New_Time она по умолчанию будет инициализирована нолём, а при следующих обращениях к пользовательской функции переменная New_Time обнуляться не будет.
Но потом оказалось, эксперт прекрасно работает в обоих вариантах:
и с static datetime New_Time=0; и с static datetime New_Time;
Получается, что программа обращается к строке static datetime New_Time=0; только один раз, а начиная со второго тика просто пропускает эту строку.
Объясните, пожалуйста, почему? В учебнике про это не написано.
Доброго времени суток всем.
Получается, что программа обращается к строке static datetime New_Time=0; только один раз, а начиная со второго тика просто пропускает эту строку.
Объясните, пожалуйста, почему? В учебнике про это не написано.
https://docs.mql4.com/ru/basis/variables/static
Здравствуйте.
Я заметил, что при использовании функции ArrayMaximum, например в таком виде: ArrayMaximum(High,Quant_Bars,1). Если попадаются несколько элементов с одинаковыми значениями(разумеется, если эти значения в массиве максимальны), то функция возвращает индекс элемента, имеющего наименьший индекс. Проще говоря, выбирает из этих нескольких максимальных тот, который первый попался. Скажите так всегда происходит или нет?