Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1092

 
Roman:

Ваш ответ убил на повал ))
Вредны такие подобные рекомендации, и я бы не советовал принимать серьёзно во внимание.
Человек не зная теоретической базы, будет очень долго и нудно ломать себе мозг, в поиске ответов на свои вопросы. 
Биться об стену не понимания, и зачастую пропадает желание в дальнейшем изучении, из за простого не понимания как писать, и почему именно так, а не иначе.
По этому уж лучше быть с багажом знаний и на танке, тогда возможно и mql не нужен будет (утрирую)
От куда мы знаем цели любого из нас, возможно в дальнейшем кто то захочет полноценно программировать, будет разрабатывать свои приложения и т.д. 
По этому в сфере программирования, без теории не куда, а Си это основа основ, высокоуровневого языка. И не когда не пишите, что изучение любого языка вредно, это нелепо звучит.

Вы уверены в выделенных ваших словах? Разве не Basic был первым высокоуровневым языком программирования? Не он-ли и будет основой, по праву первого? О чём вы тут говорите? Разве не в любом языке одинаковые типы переменных? Не в любом языке одинаковые циклы и условия? Какая разница изучая какой язык понять что такое переменная, что такое её тип, доступность переменных, что такое цикл, какие виды циклов есть. Представьте, я на любой версии С не напишу и одной строки, за исключением объявления переменных. И ничего, обхожусь и без этих знаний для написания на mql5.

А если учесть, что большинство желающих изучить mql хотят просто самостоятельно написать советник, дабы не светить обществу свои "гениальные" идеи, изучение С просто отодвинет исполнение этой идеи далеко вперёд. И для некоторых даже на недосягаемый горизонт.

А разве в школах сейчас не преподают основы программирования? Вот именно этих основ достаточно для начала изучения mql по документации.

 
Alexey Viktorov:

Вы уверены в выделенных ваших словах? Разве не Basic был первым высокоуровневым языком программирования? Не он-ли и будет основой, по праву первого? О чём вы тут говорите? Разве не в любом языке одинаковые типы переменных? Не в любом языке одинаковые циклы и условия? Какая разница изучая какой язык понять что такое переменная, что такое её тип, доступность переменных, что такое цикл, какие виды циклов есть. Представьте, я на любой версии С не напишу и одной строки, за исключением объявления переменных. И ничего, обхожусь и без этих знаний для написания на mql5.

А если учесть, что большинство желающих изучить mql хотят просто самостоятельно написать советник, дабы не светить обществу свои "гениальные" идеи, изучение С просто отодвинет исполнение этой идеи далеко вперёд. И для некоторых даже на недосягаемый горизонт.

А разве в школах сейчас не преподают основы программирования? Вот именно этих основ достаточно для начала изучения mql по документации.

Причём тут какой язык был первым высокоуровневым?
Речь ведь о mql, а он имеет C/C++ подобную структуру, по этому была рекомендация изучать именно Си для начала, он проще и не сложный для понимания.
По этому и было выражение "основа основ" для Си подобных языков. Да вообще для всех, ибо все последние языки порождены от него ))
А не джава или пайтон, схожесть не та, понимаешь, хотя смысл тот же ))
Можно хоть делфи, хоть фортран изучать, главное смысл понять, только потом переход на mql будет чуть сложнее.
О чём я и говорю, что нужно иметь хоть какое то понимание основ.
А основы лягут в мозг только через теорию Си -> Mql
А почему Си? Да потому, что для начинающего самое то. По нему много книг, курсов и т.д. Изучив и поняв С/C++ с лёгкостью будешь кодить на mql.
Тут ещё сказывается нехватка качественного обучения именно на mql, это обсуждалось в соседней ветке, и Ренат дал исчерпывающий ответ.
И лучше язык изучать полноценно коль взялся, и не на форумах, а там где тебя реально научат кодить.
А то потом появляются горе кодеры, то у меня память течёт, то у меня ошибки лезут, то ваще не понимаю ))
А форум уже для дальнейшего  более осмысленного прикладного изучения примеров. 

 

Ставлю в тестере интервал тестирования с 17-го июля (вчера) до 19-го июля (завтра).

Но тест останавливается на 17-го июля 23:59.

Почему тест не идет за сегодняшний день, хотя уже есть котировки за полдня? В МТ4 это работает.

 
Roman:

Причём тут какой язык был первым высокоуровневым?
Речь ведь о mql, а он имеет C/C++ подобную структуру, по этому была рекомендация изучать именно Си для начала, он проще и не сложный для понимания.
По этому и было выражение "основа основ" для Си подобных языков. Да вообще для всех, ибо все последние языки порождены от него ))
А не джава или пайтон, схожесть не та, понимаешь, хотя смысл тот же ))
Можно хоть делфи, хоть фортран изучать, главное смысл понять, только потом переход на mql будет чуть сложнее.
О чём я и говорю, что нужно иметь хоть какое то понимание основ.
А основы лягут в мозг только через теорию Си -> Mql
А почему Си? Да потому, что для начинающего самое то. По нему много книг, курсов и т.д. Изучив и поняв С/C++ с лёгкостью будешь кодить на mql.
Тут ещё сказывается нехватка качественного обучения именно на mql, это обсуждалось в соседней ветке, и Ренат дал исчерпывающий ответ.
И лучше язык изучать полноценно коль взялся, и не на форумах, а там где тебя реально научат кодить.
А то потом появляются горе кодеры, то у меня память течёт, то у меня ошибки лезут, то ваще не понимаю ))
А форум уже для дальнейшего  более осмысленного прикладного изучения примеров. 

Кроме выделенного можно было ничего не писать.

С уважением Я.

Вот какие знания С++ помогут не задавать такие вопросы?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам

novichok2018, 2019.07.18 10:07

Всем здравствуйте!

Нашел на форуме функцию, считающую сколько пунктов прошла цена за определённое кол-во секунд  int ItemsPerSecond(const int seconds,MqlTick &tick), вставил её в код, скомпилировал - всё в норме, но когда пытаюсь её вызвать, компилятор кричит wrong parameters count.

Что я делаю неправильно?


 
Alexey Viktorov:

Вот какие знания С++ помогут не задавать такие вопросы?


Ну почему же не нужно писать? Очень даже нужно, много начинающих читают, и лучше начинающему уловить мысль сразу.
Потому что мало кто сможет полноценно дать корректный ответ по этому вопросу. А тем более рекомендацию.
Я сам очень давно по началу метался какой язык изучать, многие перепробовал, реально болел мозг от неопределённости.
Но задача была именно, что то близкое к mql. А узнав что это си подобный язык, то все сомнения отпали и целенаправленно начал изучать один язык Си. 
Поняв структуру и основы языка, дело пошло как по маслу, mql стал пониматься на раз два.
А когда ты начинаешь уже понимать что ты пишешь, и у тебя получаются твои хотелки, то просыпается азарт изучать дальше, это как наркотик ))
Потом стал интересоваться ООП, долго он мне не давался из за непонимания одного и того же ))
Методы и функции, свойства/поля и переменные, вот где засада ))) и я откладывал изучение ООП раз за разом,
из за того что просто не мог понять, что это по сути синонимы, и такое не понимание уверен у большинства. Пока мне знакомый не разъяснил, что это одно и тоже ))
А потом стал смотреть на другие языки, и поймал себя на мысли что я их читаю и понимаю, все языки похожи друг на друга по смыслу, только разная нотация и синтаксис.
А потом писать и код начал. Это как говорят, с английским языком, один раз поймёшь диалект, другие языки легко даются.
Но если вернутся к кодингу, то основа изучения у меня была Си.

А по вашему вопросу...
Ключевое слово "нашёл" а не написал.
Алексей, ну банально же )) знания С++ помогут написать нужную тебе функцию самому, с любым нужным тебе расчётом, учитывая возможные костыли терминала.
А не использовать найденный устаревший код, и потом долбиться об стену непонимания. О чём я выше и писал.
Ведь разработка терминала постоянно в процессе, что не должно не радовать пользователей, хоть медленно но развивается.
И это банальный пример горе кодера, который не может запустить отладчик и попытаться найти причину, исправить или обойти ошибку. 
А так как поиск ошибок в чужом коде геморное дело, проще с нуля самому написать, под текущие реалии.
И не трольте за длинный пост, лучше пусть начинающие вдумаются в смысл написанного.

 
secret:

Ставлю в тестере интервал тестирования с 17-го июля (вчера) до 19-го июля (завтра).

Но тест останавливается на 17-го июля 23:59.

Почему тест не идет за сегодняшний день, ***

Тестирование за текущий день запрещено.

Это превентивная защита от особо хитрых товарищей.

 
Vladimir Karputov:

Тестирование за текущий день запрещено.

Это превентивная защита от особо хитрых товарищей.

Вы шутите? В документации что-то есть об этом?
Мне кажется, все проще - тестер недоделан, если не сказать хуже.
Из-за этого нужно лишние сутки ждать, чтобы внести правки, если обнаружил ошибку.
 
secret:
Вы шутите? В документации что-то есть об этом?

Ещё раз: это именно защита. Защита от жуликов. По поводу справки - всё есть, нужно только провести поиск и почитать.

Справка:

Выбор настроек тестирования  #

  • Следует понимать, что указание символа не означает, что тестер будет использовать только эти исторические данные. Информацию по всем символам, задействованным в советнике, тестер загружает себе автоматически.
  • Перед началом тестирования/оптимизации в платформе автоматически загружаются все доступные ценовые данные по символу основного графика. При медленном интернет-соединении это может занять продолжительное время.
  • Скачивание всех данных происходит однократно, при последующих запусках загружается лишь недостающая информация.
  • Для тестирования/оптимизации можно выбрать только те символы, которые включены в данный момент в окне "Обзор рынка".
  • Во время тестирования и оптимизации ценовые данные по всем необходимых символам скачиваются с сервера автоматически.
  • Тестирование начинается и заканчивается в 00ч.00м.00с. указанных дней. Однако начальная дата тестирования/оптимизации включается в период тестирования, а конечная дата не включается. Тестирование заканчивается на последнем тике предыдущего дня. Также нельзя указать конечную дату больше текущей. В таком случае тестирование все равно будет проведено по текущую дату (не включая ее).

secret:

Из-за этого нужно лишние сутки ждать, чтобы внести правки, если обнаружил ошибку.

Тестер как раз позволяет ввести любую предыдущую дату - если Вы всё время ждете вчерашний день, вероятно Вы неправильно понимаете что есть тестер. Почитайте пожалуйста справку.

Справка:

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
[Удален]  
Олег Юдин:

Здравствуйте господа! У меня есть необходимость, изучить язык MQL5, но к сожалению не понимаю с чего начать и логики. Так сказать зон ответственности. Если есть здесь люди которые, знают этот язык, если у этого человека есть минутка чтобы, хотя бы в двух словах объяснить!

То буду признателен!))) 

Такой резонанс по простому вопросу ))))))

Ну и я вставлю свои пять копеек... ;)

Для изучения MQL вовсе не обязательно изучать другие языки, но знание основ программирования - очень желательно. Дело в том, что этот язык спецефический, предназначен для выполнения определённых задач. А желания некоторых индивидуомов - это только их желания )))

По существу. Как я делал при изучении PHP (при том, что уже владел и бэйсиком, и ассемблером, и С, и прочее)... Ставил задачу, читал учебник, находил решение. Если самостоятельно освоить не получается, то найдите нормальные курсы. При этом, лично я по опыту, могу сказать, что многие из них не дадут Вам практически ничего, кроме самого важного - учитесь сами! 

Если возникнут трудности - обращайтесь на форум. Помогут. Но научить с нуля Вас никто не сможет. Это не тот форум. И учителей здесь нет. 

 
secret:
Вы шутите? В документации что-то есть об этом?
Мне кажется, все проще - тестер недоделан, если не сказать хуже.
Из-за этого нужно лишние сутки ждать, чтобы внести правки, если обнаружил ошибку.

Как раз-таки доделан, и доделан так специально.

Несколько лет назад ввели эту защиту от мошенничества - для защиты продаж в маркете. Ведь можно просто скачать демо (не платя при этом ничего) и тестировать на крупных таймфреймах за сегодняшний день. Сделки из тестера просто копировать на реал. На крупном таймфрейме задержка незначительна, и не приводит к большим рассогласованиям сигналов.

Где вы были (?) когда про эту дыру говорилось, и её заткнули - просто запретили тестирование за сегодня.

А чтобы исправлять ошибки, зачем ждать сутки? Исправляйте - кто не даёт?