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

 
voron_026:

Не сочтите за наглость. Подскажите пожалуйста где именно в коде начинается расчет? Сложно понять.

И если я правильно понимаю, то эту часть нужно вставить в код советника как пользовательскую функцию?

Не могу сказать, т. к. кода нет. То, что Вы представили, это исполняемый файл. Файл кода имеет расширение mq4.

 
Ihor Herasko:

Не могу сказать, т. к. кода нет. То, что Вы представили, это исполняемый файл. Файл кода имеет расширение mq4.

Понял. Выкладываю код mql

 
voron_026:

Понял. Выкладываю код mql

Вот это все и нужно включить в советник. Разве что без отображения графических объектов, если не планируется их показывать. Без какой-либо части этого кода ничего не получится. Еще не забудьте подключить библиотеку premium_mt4.dll. Без нее программа не сможет получать данные с сайта clusterdelta.

 
Ihor Herasko:

Вот это все и нужно включить в советник. 

Это можно сделать отдельной функцией? с учетом того, что содержимое шапки индикатора прописать в шапке советника

А можно в коде индикатора задать буфер, и подключаться к нему через icustom?

 
voron_026:

Это можно сделать отдельной функцией? с учетом того, что содержимое шапки индикатора прописать в шапке советника

А можно в коде индикатора задать буфер, и подключаться к нему через icustom?

Шапка это реклама кодописателя, её включать нет никакой необходимости.

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

 
Alexey Viktorov:

могу предположить что можно задать буферы и их читать из советника.

Как это сделать, если индикатор работает через dll? Прописать функцию закачки данных из dll в буфер? 

Или я что-то не так понимаю?

 
Alexey Viktorov:

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

Очень зря не смотрите код. Там буферы не могут быть использованы в принципе. Это профиль рынка - горизонтальные линии, которых теоретически может быть неограниченное количество, а количество буферов ограничено величиной 512. Да, конечно, вполне может хватить и этого количества, но для чего занимать память на всю глубину истории несколько десятков раз, если нужно отобразить данные за один день?

 
voron_026:

Как это сделать, если индикатор работает через dll? Прописать функцию закачки данных из dll в буфер? 

Скопируйте описание DLL в советник. Это самая простое из поставленной задачи. И не забудьте про доступность этой DLL, когда будете переносить советник.

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

 
Ihor Herasko:

Скопируйте описание DLL в советник. Это самая простое из поставленной задачи. И не забудьте про доступность этой DLL, когда будете переносить советник.

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

Вас понял. Спасибо большое! буду работать. пока ясно в каком направлении двигаться

 
Ihor Herasko:

Очень зря не смотрите код. Там буферы не могут быть использованы в принципе. Это профиль рынка - горизонтальные линии, которых теоретически может быть неограниченное количество, а количество буферов ограничено величиной 512. Да, конечно, вполне может хватить и этого количества, но для чего занимать память на всю глубину истории несколько десятков раз, если нужно отобразить данные за один день?

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

Причина обращения: