Обсуждение статьи "Введение в MQL5 (Часть 7): Руководство для начинающих по созданию советников и использованию кода от ИИ в MQL5"
Ознакомьтесь с новой статьей: Введение в MQL5 (часть 7): Руководство для начинающих по построению советников и использованию искусственного интеллекта в MQL5.
Автор: Израиль Пелуми Абиое
Поучительная информация, сэр, большое спасибо.
Спасибо за отличную работу
Хорошо, я вижу форум MQL5, есть ли другие, что-нибудь примечательное? Спасибо!
Здравствуйте, Олуватосин, я с нетерпением жду следующей части. Если у вас есть вопросы по статье, пожалуйста, не стесняйтесь обращаться ко мне.
И зачем в руководстве для начинающих сразу учить их кодить неправильно?
Во-первых, есть проблемы с эффективностью, которые станут заметны как только человек начнет писать что-нибудь чуть-чуть более сложное и реальное (но продолжит использовать такую же методику). На каждом тике вызывается троекратное преобразование StringToTime одних и тех же строк. Можно было бы подчистить за ИИ - сделать конвертацию один раз в глобальных переменных:
input string Alarm1 = "00:00:00"; // Default value for first alarm input string Alarm2 = "00:00:00"; // Default value for second alarm input string Alarm3 = "00:00:00"; // Default value for third alarm input string Sound = "alert.wav"; // Default sound file // Define globals for persistent values datetime first_Alarm, second_Alarm, third_Alarm; int OnInit() { // Initialization function, executed once when the EA is launched // Make conversions only once per inputs first_Alarm = StringToTime(Alarm1); second_Alarm = StringToTime(Alarm2); third_Alarm = StringToTime(Alarm3); return 0; // Return 0 to indicate successful initialization } void OnTick() { // Get current local time datetime Time = TimeLocal(); // Check if current time matches any of the alarm times if(first_Alarm == Time || second_Alarm == Time || third_Alarm == Time) // another logical error here (see below) { // Play sound if any alarm time is reached PlaySound(Sound); } }
Во-вторых, нет гарантии что времена тиков совпадут с заданными временами алертов - скорее всего, этот код в if-е их упустит. И даже если бы мы сделали проверки в обработчике OnTimer, это не гарантировало бы "поимки" нужных моментов, потому что все события (OnTick, OnTimer и пр.) приходят из очереди, которая опустошается хоть и по возможности быстро, но может подтормаживать, если какая-то другая программа ведет тяжелые расчеты. Поэтому условие проверки наступления алертов нужно переписывать капитально, и как минимум без дополнительных переменных здесь не обойтись (в перспективе напрашивается переделка алертов под классы, но конечно не в этой статье).

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Введение в MQL5 (Часть 7): Руководство для начинающих по созданию советников и использованию кода от ИИ в MQL5:
В этой статье мы представим полное руководство для начинающих по созданию советников (EA) на MQL5. Вы найдете пошаговые инструкции по созданию экспертов с использованием псевдокода и возможностей кода, сгенерированного ИИ. Эта статья предназначена для тех, кто только начинает свой пусть в алготрейдинге, а также для всех, кто хочет улучшить навыки разработки эффективных советников.
Изучение всех тонкостей MQL5 одновременно может оказаться непосильной задачей. Если же сосредоточить внимание на проектах, процесс обучения будет более управляемым и приятным. Можно начать с изучения фундаментальных понятий, таких как переменные, циклы, условия, функции и всех других базовых понятий, которые мы обсуждали в предыдущих статьях. После освоения базы можно перейти к изучению интересующих вас проектов, например, как создавать советников или пользовательские индикаторы. В каждом новом проекте вы будете встречать новые трудности, из которых вы будете извлекать бесценные уроки. В проектном обучении вы сможете применить теоретические знания в реальных сценариях и лучше понять особенности работы с MQL5. Вы шаг за шагом приобретете знания и умения, необходимые для решения сложных задач программирования на языке MQL5, работая над различными проектами.
Такой метод обучения обеспечивает стабильное и уверенное развитие. Вам не придется сразу разбираться во всех сложностях и тонкостях языка — все это будет изучаться постепенно, что позволит вам повышать свое мастерство. Поэтому такое проектное обучение можно рассматривать как путешествие, как самый надежный способ изучить MQL5. Я решил использовать проектное обучение в этой серии именно ввиду его эффективности. Вместо того чтобы с головой прыгать сразу в самые сложности MQL5, сосредоточимся на практических проектах и наработке собственного опыта. Кроме того, работа над реальными проектами поможет улучшать имеющиеся торговые стратегии.
И все же мы начнем с самых простых, понятных даже новичкам проектов и постепенно перейдем к более сложным. При этом очень важно тщательно осваивать каждый из этапов, прежде чем переходить к более сложным темам. С каждым проектом вы будете приобретать новые навыки и идеи. Проект, над которым мы будем работать для этой статьи, послужит практическим примером последовательной генерации советника. Также разберем, как можно использовать код, сгенерированный ИИ, в контексте MQL5.
Автор: Israel Pelumi Abioye