Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Продолжаю изучение языка программирования MQL5 и выкладываю код скрипта, который является продолжением одного задания со стороны участников данной темы. Скрипт проверил на всех режимах. Проблемы не выявлены. Для начала установил минимальное количество входных параметров. Код скрипта написан на английском языке, а комментарии к коду на русском языке, чтобы облегчить усвоение материала. В данном скрипте постарался всё расписать, как ранее и обещал, в изложении доступном для ученика 1-го класса школы программирования.
С уважением, Владимир.
ок
теперь делаем код алгоритмической логики более читаемым
он получается всего лишь в две строки:
if(have_time()>=Period_learning && have_time()!=0 && have_patience()==true)Print("Я выучу язык MQL5!");
else Print("Я не выучу язык MQL5!");
Здесь уже даже комментарии не нужны
ок
теперь делаем код алгоритмической логики более читаемым
он получается всего лишь в две строки:
if(have_time()>=Period_learning && have_time()!=0 && have_patience()==true)Print("Я выучу язык MQL5!");
else Print("Я не выучу язык MQL5!");
Здесь уже даже комментарии не нужны
Здравствуйте, Ренат! Согласен, сильно расписывать комментарии может и не стоит, но они помогут разобраться всем новичкам с нулевым уровнем знаний в программировании. Если бы эту работу, кто-нибудь сделал до меня, то обучение шло гораздо быстрее. Комментарии помогают самому быстрее запомнить свой же код. Дальше комментарии, возможно, будут короче.
С уважением, Владимир.
Здравствуте, Роман! Да, это последствия технического образования и логика мышления у меня немного другая, но Петер был прав по поводу нуля, поэтому изменил код скрипта.
С уважением, Владимир.
Продолжаю изучение языка программирования MQL5 и выкладываю код скрипта, который является продолжением одного задания со стороны участников данной темы. Скрипт проверил на всех режимах. Проблемы не выявлены. Для начала установил минимальное количество входных параметров. Код скрипта написан на английском языке, а комментарии к коду на русском языке, чтобы облегчить усвоение материала. В данном скрипте постарался всё расписать, как ранее и обещал, в изложении доступном для ученика 1-го класса школы программирования.
С уважением, Владимир.
учите сперва работу со string переменными, у Дмитрия Федосеева, инфостринги сильно туманят разум на этапе изучений чужого кода,
в статье которую он разобрал, все понятно, и там же попутно научитесь части работы многих моментов, это я говорю как читатель большинства статей здесь, думаю больше меня здесь никто не прочитал еще)
Здравствуйте! Спасибо за совет. Статьи Дмитрия Федосеева читал и читаю, но пока тяжело дается обучение по его статьям, т.к. базовой подготовки у меня нет. Надеюсь, что дальше будет легче. Кстати, написание скрипта Learning_MQL5.mq5 сильно помогло мне понять, что такое функция, для чего она нужна и как она создается!
С уважением, Владимир.
Проблемы с логикой остаются:
Здравствуйте, Петер! Знал, что у Вас возникнут вопросы, особенно по пункту 2.
Здесь код не лишний, а весьма продуманный. Если вдруг попробуете убрать из кода скрипта && have_time()!=0 (Вы его прописали, как && have_time()>0), то при входных параметрах Period_learning=0 и Days_passed=0 будет результат "Я выучу язык MQL5!", а это не допустимо с точки зрения догики!
По другим пунктам согласен - есть над чем подумать.
С уважением, Владимир.
Здравствуйте, Петер! Знал, что у Вас возникнут вопросы, особенно по пункту 2.
Здесь код не лишний, а весьма продуманный. Если вдруг попробуете убрать из кода скрипта && have_time()!=0 (Вы его прописали, как && have_time()>0), то при входных параметрах Period_learning=0 и Days_passed=0 будет результат "Я выучу язык MQL5!", а это не допустимо с точки зрения догики!
По другим пунктам согласен - есть над чем подумать.
С уважением, Владимир.
Ок, посмотрите: функция have_time(), по сути, возвращает значение инпутной переменной Days_passed. Если Days_passed поставить ноль, то запись if(...have_time()!=0... не пропустит нас в условие, НО, если Period_learning поставить ноль, в условие мы пройдем. Поэтому, запись Period_learning >0 одновременно защитит нас от нуля в переменной Days_passed, и от нуля в переменной Period_learning, а запись if(... have_time()!=0 ... только от нуля в Days_passed.)
Понятно.
С уважением, Владимир.
Понятно.
С уважением, Владимир.
В главном, безусловно, Вы сделали серьезный шаг вперед - освоили и начали использовать функции, с чем Вас конечно нужно поздравить!)
Спасибо, Петер, за слова поддержки!
По поводу вежливого общения, особенно приветствия и пожелания всем хорошего дня и настроения. На мой взгляд на форуме этого очень не хватает. Уважительное отношение к собеседнику - это то, чему учили наше поколение ещё с советских времен. Если со стороны администрации сайта (форума) мне сделают замечание по поводу приветствия к участникам, то приму с сведению и буду следовать правилам.
С уважением, Владимир.