Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Этот ExpertAdvisor не работает на MT5 build 712, по крайней мере, у меня.
Выдается сообщение об ошибке "Cant't copy indicator buffer".
Также индикатор не компилируется без предупреждений,
"Возможна потеря данных из-за преобразования типов" в строке 53,
"возможно использование неинициализированной переменной 'day_n'" на строке 54
"возможно использование неинициализированной переменной 'h_day'" в строке 62
"psosible use on uninitialized varaiable 'l_day'" в строке 63
Можете ли вы исправить эти проблемы, пожалуйста?
В остальном это хороший пример для нас, имеющих опыт работы с другим программным обеспечением, кроме MT5.
Это отличная статья для новичков и людей, пришедших из mql4, с примером хорошей торговой стратегии.
Есть небольшие недочеты в коде (не всегда реализована проверка ошибок), но советник работает очень хорошо, если использовать его на минутном таймфрейме, как рекомендует автор. Предупреждения при компиляции индикатора являются лишь предупреждениями и не препятствуют использованию индикатора и советника.
Спасибо.
Это не простой способ объяснить mql5 людям. (как будто у новичков вообще есть шанс понять это!) Это как с книгами по программированию, 90% людей не имеют понятия, как начать. Они открывают книгу, например, о программировании на Си, и первый "Простой пример" занимает целую страницу, написанную мелким шрифтом. За всю свою жизнь я прочитал только одну хорошую книгу по программированию, которая могла бы научить программированию любого. Причина в том, что их пишут, возможно, отличные программисты, но, к сожалению, очень плохие учителя. Программирование может быть очень простым, и я докажу вам это, сделав простой учебник по языку программирования MQL4, когда у меня будет немного больше времени, чем сейчас. Для всех - даже для абсолютных новичков. Самая большая ошибка - учить людей деталям языка, в основном они должны работать с ctrl+C и ctrl+v и использовать google для команд и самое главное - держать все ОЧЕНЬ ПРОСТО. Я знаю 10+ языков программирования (программирую с 7 лет) и меня до сих пор пугает то, как объясняется этот "Легкий пример" на 11кб (!!!). Я хотел бы знать, есть ли хоть один настоящий начинающий программист, который изучил MQL5 на этом примере ;D. Я сомневаюсь, а если и есть, то таких людей можно пересчитать по пальцам одной руки.
Это не простой способ объяснить mql5 людям. (как будто у новичков вообще есть шанс понять это!) Это как с книгами по программированию, 90% людей не имеют понятия, как начать. Они открывают книгу, например, о программировании на Си, и первый "Простой пример" занимает целую страницу, написанную мелким шрифтом. За всю свою жизнь я прочитал только одну хорошую книгу по программированию, которая могла бы научить программированию любого. Причина в том, что их пишут, возможно, отличные программисты, но, к сожалению, очень плохие учителя. Программирование может быть очень простым, и я докажу вам это, сделав простой учебник по языку программирования MQL4, когда у меня будет немного больше времени, чем сейчас. Для всех - даже для абсолютных новичков. Самая большая ошибка - учить людей деталям языка, в основном они должны работать с ctrl+C и ctrl+v и использовать google для команд и самое главное - держать все ОЧЕНЬ ПРОСТО. Я знаю 10+ языков программирования (программирую с 7 лет) и меня до сих пор пугает то, как объясняется этот "Легкий пример" на 11кб (!!!). Я хотел бы знать, есть ли хоть один настоящий начинающий программист, который изучил MQL5 на этом примере ;D. Сомневаюсь, а если и есть, то таких людей можно пересчитать по пальцам одной руки.
Вы правы в том, что программисты не являются хорошими учителями в целом.
Но я не согласен с тем, что mql5 так сложно выучить, в основном для программиста, который экспериментировал с 10+ языками.
На практике, насколько я помню, удается изменить один из уровней (SL или TP) позиции, оставляя другие уровни без изменения, даже в тех случаях, когда уровень, значение которого остается без изменения, находится ближе к текущей цене, чем указано в параметре SYMBOL_TRADE_STOPS_LEVEL. При создании программ я не рекомендую изменять параметры (уровни) позиций таким образом, чтобы новые параметры (уровни) позиции не удовлетворяли требованиям, которые предъявляются при проверке правильности данных позиции, так как такая ситуация является недокументированной и в будущем можно получить другой результат.
Всем привет!
У меня все работает отлично только при
request.type_filling=ORDER_FILLING_IOC;
request.type_time = ORDER_TIME_DAY;
Аналогичная ситауция c https://www.mql5.com/ru/forum/1156/page9#comment_2359257
Особенность моего брокера FxPro?
Я новичок в программировании на mql5.
Пытался научиться на этом примере, но немного запутался с циклом в конце построения индикатора. Где именно он присвоил значение переменной day_n?
Потому что цикл будет проверять day_n<day_t. Как программа может узнать значение day_n?
И как оно вообще вычисляется? Предположим, что rate_total = 10, и еще нет ни одного рассчитанного бара. Значит, prev_calculated = 0
day_t=time[0] (СЕГОДНЯ! так как отсчет ведется в обратном направлении)/PeriodSeconds... так как отсчет начинается с 1970 года, предположим, что отсчет начинается с 10 дней назад. так что должно получиться 10, верно?
Поэтому day_t=10. Теперь проверяется, не превышает ли dayt > dayn. Я не знаю dayn, но знаю, что dayt=10. Я собираюсь предположить, что dayn равен нулю, поскольку нет никакого значения.
Тогда dayn тоже станет 10. Хорошо.
Второй бросок цикла. prev_calculated + 1= 1.
DayT=time[1] (yesterday)/period... помните, он начинает отсчет с 10 дней назад... но теперь только до вчерашнего дня. это должно дать значение 9, верно?
Но теперь dayN < dayT - ложь. Тогда он начинает выполнять выражения else. Хорошо. Я понял.
Затем он вычисляет все bu[] и bd[]. Хорошо. Цикл завершится, когда prev < total rate станет ложным.
Но когда появится новый бар, и он снова станет истинным, я снова начну с нуля? Или он начнется с 10 и сразу перейдет к части else?
Спасибо!!!!