Какой сложности программу можно создать в MT4 ?

 

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

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

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

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

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

 
Solitere:

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

.

Нет, на каждом тике запускается процедура start(), а не советник. 
 
Можно работать не только по OnTick, но и по OnTimer или OnChartEvent ... (или всё вместе)
 

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

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

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

 

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

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

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

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

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

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

 
так же как php/html специализированные языки, так и mql4/5 — специализированные языки, кодить на них 3Д-стрелялки будет как минимум неудобно...
 

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

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

 
Solitere:

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

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

Значит, можно. 
 
Solitere:

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

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

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

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

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

А какие данные вы собираетесь накапливать?
 
khorosh:
А какие данные вы собираетесь накапливать?
Это уж кто что копит! ;)
Причина обращения: