Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Документация доступна в CHM и PDF. Скачай в удобном тебе виде!
Solitere
34
Solitere 2016.04.06 05:58 

Ребята, подскажите, пожалуйста:

Хочу начать программировать на MQL4 , но ни как не могу разобраться какая программа получится  на выходе.

А именно, меня интересует, возможно ли с помощью MQL4 создать такое приложение, которое в процессе работы МТ будет накапливать данные (например в массиве) и на каждом тике продолжать накапливать данные и обрабатывать их и после этого будет через несколько тиков еще какие-то действия делать с этими данными. Т.е получится полноценное приложение.

У меня такой вопрос возник после просмотра пару видео уроков  по MQL и автор говорит что "на каждом тике советник будет запускаться и делать вычисления", и не понятно: он каждый раз с нуля будет запускаться, т.е "с чистого листа" загрузился, быстро собрал данные, обработал собранные данные, выдал сигнал и закончил работу, а потом на следующем тике, опять с чистого листа …

На сколько я понял, у  MQL4 в основе лежит язык С++, т.е по моим понятиям он обладает всеми возможностями С++, т.е можно создавать полноценное приложение, которое будет работать параллельно с МТ,  и сможет : накапливать данные; обрабатывать; сохранять их на протяжении работы МТ; а если понадобится создать свои данные, то я смогу их создать, удержать в памяти на время работы приложения и использовать их через некоторое время в этом приложении для обслуживания МТ.

Vladimir Paukas
4099
Vladimir Paukas 2016.04.06 07:35  
Solitere:

 пару видео уроков по MQL и автор говорит что "на каждом тике советник будет запускатьсяи делать вычисления", и не понятно: он каждый раз с нуля будет запускаться,т.е "с чистого листа" загрузился, быстро собрал данные, обработал собранныеданные, выдал сигнал и закончил работу, а потом на следующем тике, опять счистого листа …

.

Нет, на каждом тике запускается процедура start(), а не советник. 
Tecuciztecatl
70
Tecuciztecatl 2016.04.06 07:52  
Можно работать не только по OnTick, но и по OnTimer или OnChartEvent ... (или всё вместе)
Solitere
34
Solitere 2016.04.06 12:22  

ребята, меня как бы больше интересует:

возможно ли будет создать приложение, похожее по сложности на то, что я в первом посте описал?

а то к какому событию привязать запуск приложения это я в процессе освоения языка разберусь. Просто, я не хочу терять время на изучение языка, в котором я не смогу под МТ создать нечто подобное ;)

Alexey Viktorov
5175
Alexey Viktorov 2016.04.06 12:59  

Из МТ4 и МТ5 можешь вызвать свою dll и в ней выполнять всё что душа пожелает, или знания позволяют.

Что касается накапливания значений в массивах, можно накапливать. Массивы обнуляются только при отключении советника, но их можно перед выгрузкой советника в функции OnDeinit() выгрузить в файл который при запуске в функции OnInit() можно прочесть в массив и продолжить накапливать в него данные.

По поводу запуска на каждом тике, точней будет сказать не запуск, а выполнение, повтор выполнения кода происходит при поступлении очередного тика. Поступление тика это событие и соответственно всё что связано с событиями сам знаешь. Но такие события  как OnInit() OnTick()  OnDeinit() и ряд других нет необходимости привязывать к чему-либо.
Solitere
34
Solitere 2016.04.06 14:30  

я понял, спасибо за пояснение.

еще хотел в дополнение узнать:

т.к язык MQL происходит от С++, то получается, что созданная в MQL  программа, по возможностям не отличается от написанной на С++ (ну, кроме того что она написана для МТ)? 

Tecuciztecatl
70
Tecuciztecatl 2016.04.06 15:14  
так же как php/html специализированные языки, так и mql4/5 — специализированные языки, кодить на них 3Д-стрелялки будет как минимум неудобно...
Solitere
34
Solitere 2016.04.06 19:09  

ясно, спасибо, 

значит можно делать программы  как наподобие С++ только заточеные для МТ 

Алексей Тарабанов
7220
Алексей Тарабанов 2016.04.06 19:17  
Solitere:

ясно, спасибо, 

значит можно делать программы  как наподобие С++ только заточеные для МТ 

Значит, можно. 
khorosh
8043
khorosh 2016.04.08 23:06  
Solitere:

Ребята, подскажите, пожалуйста:

Хочу начать программировать на MQL4 , но ни как не могу разобраться какая программа получится  на выходе.

А именно, меня интересует, возможно ли с помощью MQL4 создать такое приложение, которое в процессе работы МТ будет накапливать данные (например в массиве) и на каждом тике продолжать накапливать данные и обрабатывать их и после этого будет через несколько тиков еще какие-то действия делать с этими данными. Т.е получится полноценное приложение.

У меня такой вопрос возник после просмотра пару видео уроков  по MQL и автор говорит что "на каждом тике советник будет запускаться и делать вычисления", и не понятно: он каждый раз с нуля будет запускаться, т.е "с чистого листа" загрузился, быстро собрал данные, обработал собранные данные, выдал сигнал и закончил работу, а потом на следующем тике, опять с чистого листа …

На сколько я понял, у  MQL4 в основе лежит язык С++, т.е по моим понятиям он обладает всеми возможностями С++, т.е можно создавать полноценное приложение, которое будет работать параллельно с МТ,  и сможет : накапливать данные; обрабатывать; сохранять их на протяжении работы МТ; а если понадобится создать свои данные, то я смогу их создать, удержать в памяти на время работы приложения и использовать их через некоторое время в этом приложении для обслуживания МТ.

А какие данные вы собираетесь накапливать?
Boris
3883
Boris 2016.04.09 16:37  
khorosh:
А какие данные вы собираетесь накапливать?
Это уж кто что копит! ;)
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий