В данной теме предлагаю поделится своим опытом освоения языка программирования MQL4 и MQL5. Расскажите, знали ли до этого какой то язык или с нуля учили, чего хотели от изучения, какие были самые сложные моменты? Что могло бы помочь быстрей и легче освоить язык программирования MQL5?
![]()
Скачал ЕА, начал делать правки, смотрел что меняется, потом увидел это
![]()
Как-то так. За 15 лет программирования, с каждым годом понимаю, что Я знаю меньше, чем считал 10 лет назад.
Самое сложное: связать логику "если то ниже а то выше, но при этом там вот так". Связать можно разными способами, иногда делаешь так, что открыв программу через год, просто офигеваешь и думаешь "Кто написал эту чушь?", и переписываешь если она нужна, тут-же получаешь дополнительный опыт.
1) Дорого. Для чела, который работал в Call-центре тратить 30 долларов на фриланс - никаких денег на депозит не останется, а надо ещё за свет платить
2) Слепая вера в грааль: жалко выкладывать в тему «Бесплатное написание» свою граальную идею ТС, которую подобрал с помойки интернета.
3) Первые два пункта подтолкнули к ковырянию и правкам, как отметили выше, кодбазы.
4) Затем в игру влетел вот этот дядька

И огромное ему спасибо за учебник, который заложил какие-то фундаментальные основы процедурного стиля написания кода.
Для новичка - на вес золота.
5) Творческие решения. Ничто так не воодушевляет, как написание того, чего нет в кодбазе (или чего ты не нашёл), а сформулировал для себя алгоритм, который решает проблему.
Это всё про процедурный стиль. То, что творят спецы с ООП - для меня это за гранью фантастики. Вообще непонятно, что они пишут, похоже на формулы, вытащенные из инопланетной тарелки, упавшей в Розуэлле в 1947 году.
Что бы я изменил в своём обучении?
Акцентировал бы внимание на базовых операторах, что-то типа ролика на ютубе по типу "Учим язык за 10 минут".
Какое бы замечательное объяснение не было у авторов учебников, иногда можно ограничиться ключевыми словами и ключевой подачей материала, после чего входишь в тему в разы быстрее.
Тот же учебник я пробовал коспектировать, пока сидел в универе, распечатывал, перечитывал и тд.
Кому-то быстро всё даётся, кому-то долго-нудно-муторно.
Я пришёл на портал с целью найти разработчиков, которые смогут мне помочь с реализацией моих идей. Программирование до этого я не знал глубоко, но были попытки в детские годы писать на ZX Spectrum буквально по книжке. Потом появился в семье 486 компьютер, и это был желанный запретный плод, брат учился на программиста и по поручению родителей написал программу-код (ключи уже не помогали - да были раньше такие корпуса), которая блокировала дальнейшую загрузку DOS. Уже не помню как точно, но я смог научиться вызывать ошибку в коде, после чего вылезал некий краш-лог и получал доступ к командной строке, дальнейшая загрузка - дело техники. После учился в колледже, и там уже полноценно преподавали QBASIC, но учил я его на слух, так как зрение не помогало видеть доску и вообще, с преподавателем у меня возникли очень отношения не очень. Помню, когда был итоговый зачёт она потирала лапки... Дело было так, в компьютерном классе сообщили задание, что должна выполнять программа, чего то там рисовалось и объяснялось, я только понял суть - итоговый результат. Надо сказать, что код она для этой программы по кускам давала весь учебный курс, поэтому большая часть учащихся просто писала с тетрадей на коленках, а преподаватель типа не замечал, расхаживая. В общем я уже дописал код на листе бумаги, и начал ерундой заниматься (ох и любили тогда мы с другом нюкать персоналки через сеть - хулиганы :) ), и тут она подходит, смотрит на код и заявляет всей группе учащихся, что я такой балбес и неуч, и код работать мой не будет, я не соглашаюсь с ней. И тут она зовёт всех студентов и говорит, что сейчас опозорит меня, начинает вводить код по листу бумаги. И, код делает то, что от него ожидалось. Она в шоке, перепроверяет, пара уже закончилось, люди начинают отходить от неё, поняв, что это на долго, а она всё сидит... Не знаю точно, именно ситуация такого позора или личная неприязнь ко мне, заставила её отказаться от нашей группы на следующий семестр. Параллельная группа получала знания у неё. А на следующий год был уже другой преподаватель по общей компьютерной грамотности, прозвали мы (с другом больше) его в начале Ламер, но после выяснения с ним отношений (другая история), он признал, что компетенции в ряде вопросов у меня больше, и мы с ним даже стали приятелями в рамках учебного заведения. Мудрый мужик оказался, даже разрешал прогуливать пары, находясь у него на занятиях (тогда там был очень быстрый интернет по сравнению с домашним ночным диалапом). Обучение моё там закончилось, я ушёл работать бухгалтером, и на первом месте работы столкнулся с невиданным зверьком "Турбо Бухгалтер 3.0" которая работала под DOS! Это был подарок судьбы, так как к тому моменту я успел возненавидеть 1С, которую преподавали, и я ничего не слушал (это как раз пример того, как преподавание формирует отношение к продукту, но лучшей 1С по удобству считаю 8.2), так как не планировал идти работать бухгалтером! Быстрое освоение программы (она прекрасна - там признаков торговой операции 255, а в 1С до сих пор всего 3), и отличное знание теории бухгалтерского учёта (привет преподавателю Ольге Николаевне!), позволили мне через месяц стать заместителем главного бухгалтера. Если не считать excel и HTML, то с чем то близким к программированию не припоминаю, что сталкивался после этого. И вот появился интерес к Forex, а вместе с ним и фантазии по ТС. В начале я находил разработчиков, которые писали на интерес в разных местах - им интересны были идеи. Потом открыл для себя портал, где уже был фриланс. С фрилансерами в начале было просто, давал заказы и их исполняли, но через несколько заказов, я обнаружил, что работает индикатор (или советник - точно уже и не помню), не так, как я ожидал. Программист это не признавал, и мне пришлось лезть в код и показывать арбитражу, что условие в коде не соответствует условию в ТЗ. С тех пор я стал тщательно проверять работу перед приёмкой. С ростом сложности, исполнители стали меняться... в итоге пришёл к тому, что моё ТЗ на 50+ листов не хотели брать в работу. Вот я и сел сам вникать в кодирование, и постепенно начал осваивать язык mql4. Потом был мучительный переход на MQL5, сейчас добавили уже нужные функции, сблизив языки.
С тех пор портал наполнился большим материалом и примерами кода, что облегчает самостоятельное обучение. Но, если совсем нет представления, что такое язык программирования, то, думаю, очень трудно понять, как ориентироваться среди многообразия информации.
Скачал ЕА, начал делать правки, смотрел что меняется, потом увидел это
Как-то так. За 15 лет программирования, с каждым годом понимаю, что Я знаю меньше, чем считал 10 лет назад.
Самое сложное: связать логику "если то ниже а то выше, но при этом там вот так". Связать можно разными способами, иногда делаешь так, что открыв программу через год, просто офигеваешь и думаешь "Кто написал эту чушь?", и переписываешь если она нужна, тут-же получаешь дополнительный опыт.
Я вот как раз не так давно разбирал год, который писал 8 лет назад, и пришлось брать бумаги и лист, что бы воспроизвести логику.
Да, со временем многое пишется проще и быстрей. Но, интересные идеи встречаю и в старом коде. А ещё такая штука есть - положительная ошибка - нашёл в коде, что для покупки и продажи условия несколько отличались (там взаимозависимость сигналов), и это давало хороший буст. И долго думал, как быть. В итоге разделил на два вспомогательных фильтра условия.
Справка сейчас к языку весьма хороша, особенно удобно в ME её вызывать.
2) Слепая вера в грааль: жалко выкладывать в тему «Бесплатное написание» свою граальную идею ТС, которую подобрал с помойки интернета.
А я стал менять логику в ТЗ, когда понял как это делать, но ещё сам не полностью писал :)
4) Затем в игру влетел вот этот дядька
Надо будет почитать. Ещё есть учебник Дмитрия Федосеева, вроде как. Его труды не читали в виде учебника?
Акцентировал бы внимание на базовых операторах, что-то типа ролика на ютубе по типу "Учим язык за 10 минут".
Не программист, но с программированием знаком с середины 80-х, сначала - коды i8080 и Электроника-60(система команд PDP-11), калькулятор МК-54 и (уже больше, чем калькулятор) Д3-28, BASIC.
Потом - спаял ZX Spectrum, BASIC и asm Z80, Gens4/Mons4.
Искра-1030М - 386 - 486 - DX4 - P - PMMX, Turbo-BASIC, TC, TASM, BC++, Hiew, AFD, SoftIce, IDA Pro. Писал резиденты под DOS, "лечил" игрушки и не только. Больше дизассемблировал, "хачил", чем программировал.
P2 - P3 - C2Duo - i5-2500K - i7-14700K, работа сисадмином, правка чужих кодов на C, Python,..., написание своих на BASH и Perl.
С 2004 - ПИФы, прибыль, с 2005 - попытки торговли на ММВБ. Большие потери в 2008.
С 2010-11 - ФОРТС, желание автоматизировать, попытки использовать Lua в Quik, отказ от Lua (кто бы знал, что в 2023-24, при переходе из О в Ф, всё же придётся его использовть, хоть и с отвращением и недолго).
2013-2014 - знакомство с MT5 и MQL5, восторг от возможностей и ужас перед освоением. Написание простого советника, сопровождающего (скользящий стоп по ATR) открытые вручную позиции. Попытки написания и тестирования простых советников на индикаторах. На этот форум попал сильно позже знакомства с MQL5, осваивал самостоятельно по документации и примерам в дистре.
2015 - Написание базовой библиотеки для использования в советниках.
2016 - Переписывание в ООП, для использования множества независимых роботов в одном советнике. С ООП дружу слабо, пищу в процедурном стиле, используя классы только там, где они явно напрашиваются.
2018 - первые прибыльные роботы.
С 2020 - стабильная прибыль.
С 2021 - роботы в аренду для своих за % от прибыли.
2024 - >1000% на ИИС за неполные 3 года.
никак не учил :-)
с беком C/C+, а тем более Pascal (а MQL это Паскаль по происхождению) учить нечего.
только разобраться в API платформы, которое в 4-ке было близко к идеалу.
---
и всем советую, если нет опыта программирования - Pascal ABC (современно - максимально удобный для обучения), на MQL нельзя.
1) Дорого. Для чела, который работал в Call-центре тратить 30 долларов на фриланс - никаких денег на депозит не останется, а надо ещё за свет платить
2) Слепая вера в грааль: жалко выкладывать в тему «Бесплатное написание» свою граальную идею ТС, которую подобрал с помойки интернета.
3) Первые два пункта подтолкнули к ковырянию и правкам, как отметили выше, кодбазы.
4) Затем в игру влетел вот этот дядька
И огромное ему спасибо за учебник, который заложил какие-то фундаментальные основы процедурного стиля написания кода.
Для новичка - на вес золота.
5) Творческие решения. Ничто так не воодушевляет, как написание того, чего нет в кодбазе (или чего ты не нашёл), а сформулировал для себя алгоритм, который решает проблему.
Это всё про процедурный стиль. То, что творят спецы с ООП - для меня это за гранью фантастики. Вообще непонятно, что они пишут, похоже на формулы, вытащенные из инопланетной тарелки, упавшей в Розуэлле в 1947 году.
Что бы я изменил в своём обучении?
Акцентировал бы внимание на базовых операторах, что-то типа ролика на ютубе по типу "Учим язык за 10 минут".
Какое бы замечательное объяснение не было у авторов учебников, иногда можно ограничиться ключевыми словами и ключевой подачей материала, после чего входишь в тему в разы быстрее.
Тот же учебник я пробовал коспектировать, пока сидел в универе, распечатывал, перечитывал и тд.
Кому-то быстро всё даётся, кому-то долго-нудно-муторно.
У Федосеева лучше
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В данной теме предлагаю поделится своим опытом освоения языка программирования MQL4 и MQL5. Расскажите, знали ли до этого какой то язык или с нуля учили, чего хотели от изучения, какие были самые сложные моменты? Что могло бы помочь быстрей и легче освоить язык программирования MQL5?