Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В главном, безусловно, Вы сделали серьезный шаг вперед - освоили и начали использовать функции, с чем Вас конечно нужно поздравить!)
Пока закрепляю пройденный материал, а также начал изучать циклы for и while. Трейлинг, хоть и в далёкой перспективе, но зато обязательный пункт плана самообучения.
С уважением, Владимир.
...
По большому счету, скрипт написан верно. Не учитывается нулевое значение Period_learning, но в остальном хорошо.
Хорошо, Петер, подумаю, как можно будет усложнить скрипт и применить внутри функции оператор условий if-else.
С уважением, Владимир.
Всем доброго дня и хорошего настроения!
Продолжаю изучение языка программирования MQL5. С учетом подсказок от Петера Конова выкладываю доработанный код скрипта, который является продолжением выполнения одного задания со стороны участников данной темы. Скрипт проверил на всех режимах. Проблемы не выявлены. Для начала применил минимальное количество входных параметров. Код скрипта написан на английском языке, а комментарии к коду на русском языке, чтобы облегчить усвоение материала. В данном скрипте постарался всё расписать, как ранее и обещал, в изложении доступном для ученика 1-го класса школы программирования.
С уважением, Владимир.
Всем доброго дня и хорошего настроения!
Продолжаю изучение языка программирования MQL5. С учетом подсказок от Петера Конова выкладываю доработанный код скрипта, который является продолжением выполнения одного задания со стороны участников данной темы. Скрипт проверил на всех режимах. Проблемы не выявлены. Для начала применил минимальное количество входных параметров. Код скрипта написан на английском языке, а комментарии к коду на русском языке, чтобы облегчить усвоение материала. В данном скрипте постарался всё расписать, как ранее и обещал, в изложении доступном для ученика 1-го класса школы программирования.
С уважением, Владимир.
Вот с ходу одну ошибку исправьте и будет идеально.
По поводу функции предполагаю, что вот так нужно было написать код:
С уважением, Владимир.По поводу функции предполагаю, что вот так нужно было написать код:
С уважением, Владимир.Вот с ходу одну ошибку исправьте и будет идеально.
Глобальные объекты, инициализируются конструктором по умолчанию. Для примитивных (в нашем случае все, кроме string) типов - это 0. А вот для памяти (читай переменных), выделенной на стеке, инициализация не производится. Поэтому, глобальные переменные можно не инициализировать, помним, что в этом случае они будут равны нулю. А вот отсутствие инициализации (заодно, сразу приучайтесь не допускать предупреждений компилятора, если, конечно, четко не знаете, что делаете) - это уже серьезнее, так как чтение не инициализированной переменной приводит к неопределенному поведению. Например, этот код по разному себя ведет в релизной и дебаг сборке и никто не даст гарантии, что при смене версии компилятора или настроек оптимизации не изменится и его поведение:
Петер, а вот по поводу глобальных переменных пока не нашёл в литературе, что глобальные переменные нужно заранее предопределять. У вас есть ссылка на источник, чтобы повысить свои знания в этом вопросе? В Справочнике MQL5 нет явного указания про инициализацию, вот выдержка из него:
Тип bool предназначен для хранения логических значений true (истина) или false (ложь), числовое представление которых 1 или 0 соответственно.
Примеры:
bool a = true;
bool b = false;
bool c = 1;
Внутреннее представление – целое число размером 1 байт. Необходимо отметить, что в логических выражениях допустимо использовать вместо типа bool другие целые или вещественные типы или выражения этих типов, компилятор не выдаст ошибки. В таком случае значение ноль будет интерпретировано как false, а все остальные значения как true.
Глобальные объекты, инициализируются конструктором по умолчанию. Для примитивных (в нашем случае все, кроме string) типов - это 0. А вот для памяти (читай переменных), выделенной на стеке, инициализация не производится. Поэтому, глобальные переменные можно не инициализировать, помним, что в этом случае они будут равны нулю. А вот отсутствие инициализации (заодно, сразу приучайтесь не допускать предупреждений компилятора, если, конечно, четко не знаете, что делаете) - это уже серьезнее, так как чтение не инициализированной переменной приводит к неопределенному поведению. Например, этот код по разному себя ведет в релизной и дебаг сборке и никто не даст гарантии, что при смене версии компилятора или настроек оптимизации не изменится и его поведение: