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

 
igorbel:

Как мне получить данные индикатора (iMA) от цен от буфера этого же индикатора?

iMAOnArray() в 4-ке решало эту задачу. А здесь как быть? Буфер своего же индикатора, причем ненулевой.

Внутри самого индикатора только через MovingAverages.mqh

[Удален]  
igorbel:

Как мне получить данные индикатора (iMA) от цен от буфера этого же индикатора?

iMAOnArray() в 4-ке решало эту задачу. А здесь как быть? Буфер своего же индикатора, причем ненулевой.

https://www.mql5.com/ru/docs/indicators/ima

https://www.mql5.com/ru/docs/indicators/icustom

Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
Технические индикаторы / iMA - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Как это решает мою задачу? Передать в качестве applied_price мой же индикатор? И отчего он считать среднюю будет? Я так понял от нулевого буфера. Мне же надо среднюю не от нулевого буфера.
 
igorbel:

Как это решает мою задачу? Передать в качестве applied_price мой же индикатор? И отчего он считать среднюю будет? Я так понял от нулевого буфера. Мне же надо среднюю не от нулевого буфера.
Ещё вариант, написать индикатор "недоделку" и его потом подключить ресурсом к новому индикатору. В этом новом индикаторе применить iMA с указанием хендла "недоделки", потом CopyBuffer() всех буферов "недоделки" и буфера iMA. Так получается готовый индикатор работающий как задумано.
 
Alexey Viktorov:
Ещё вариант, написать индикатор "недоделку" и его потом подключить ресурсом к новому индикатору. В этом новом индикаторе применить iMA с указанием хендла "недоделки", потом CopyBuffer() всех буферов "недоделки" и буфера iMA. Так получается готовый индикатор работающий как задумано.

Как страшно вы это описали ). Готового ничего нет?
 
igorbel:

Как страшно вы это описали ). Готового ничего нет?

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

В принципе ничего страшного нет. О ресурсах достаточно понятно в документации написано в самом конце о подключении индикаторов, а "недоделка", как я понимаю, уже имеется.

Ну если только основными строками

// Подключаем ресурс
#resource "\\Indicators\\подпапка\\test.ex5"

// В OnInit()

   handle = iCustom(_Symbol, PERIOD_CURRENT, "::Indicators\\подпапка\\test.ex5", параметры через запятую);
   handMA = iMA(_Symbol, PERIOD_CURRENT, 21, 0, ENUM_MA_METHOD, handle);

// В OnCalculate
// Для всех буферов "недоделки"
CopyBuffer(handle...
// и для iMA в свой буфер.
CopyBuffer(handMA...

PS; Вот нашёл когда меня посетила мысль подключить индикатор "недоделку" ресурсом

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

Обсуждение статьи "Индикатор от индикатора в MQL5"

Alexey Viktorov, 2017.01.31 19:31

По сравнению с iMAOnArray() из mql4 это танцы с бубном.



А вот такая бредовая идея: Если индикатор прицепить в качестве ресурса, можно-ли получить его хендл? Не получится-ли скрестить. Чтобы не таскать два индикатора, сам индикатор и индикатор от этого индикатора. Я не практиковал ресурсы, потому мне трудно проверить, вот и спрашиваю.

Документация по MQL5: Программы MQL5 / Ресурсы
Документация по MQL5: Программы MQL5 / Ресурсы
  • www.mql5.com
Программы MQL5 / Ресурсы - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:


Каким образом осуществляете доступ к истории чужого периода? Какие проверки результата доступа осуществляете? Какие кода ошибок получаете? 

В "жидких" индикаторах есть понятие "базового" периода, на основе которого строится индикатор. Наверное, это вы и называете чужим периодом, как я понимаю.

Никакие коды ошибок в "Экспертах" не выдаются. Просто индикаторы не рисуются и всё.


        Чтобы они начали отрисовываться, пришлось в каждом профиле открыть графики всех недостающих базовых периодов. Но раньше-то всё работало несколько лет

и без этого. Как работало, куда был доступ и как проверялось- без понятия, я не программист.


  Но я же не первый такой в истории, наверное. Должна же быть какая-то процедура, как я понимаю. Я же не могу знать, это результат какого-то глюка обновления

либо там всё правильно, а мои индикаторы просто надо переделывать. Как-то же это нужно определять в конце концов. А у вас один принцип- спасение утопающих дело рук самих утопающих.

 
Agat:

В "жидких" индикаторах есть понятие "базового" периода, на основе которого строится индикатор. Наверное, это вы и называете чужим периодом, как я понимаю.

Никакие коды ошибок в "Экспертах" не выдаются. Просто индикаторы не рисуются и всё.


        Чтобы они начали отрисовываться, пришлось в каждом профиле открыть графики всех недостающих базовых периодов. Но раньше-то всё работало несколько лет

и без этого. Как работало, куда был доступ и как проверялось- без понятия, я не программист.


  Но я же не первый такой в истории, наверное. Должна же быть какая-то процедура, как я понимаю. Я же не могу знать, это результат какого-то глюка обновления

либо там всё правильно, а мои индикаторы просто надо переделывать. Как-то же это нужно определять в конце концов. А у вас один принцип- спасение утопающих дело рук самих утопающих.


Если это не Ваши индикаторы - обратитесь в автору и запросите ответы на вопросы, которые я задал Выше. Без этого нельзя ничего определённо сказать.
 
Vladimir Karputov:

Если это не Ваши индикаторы - обратитесь в автору и запросите ответы на вопросы, которые я задал Выше. Без этого нельзя ничего определённо сказать.
К автору я буду обращаться, когда точно буду знать, что индикаторы перестали соответствовать каким-то объективным требованиям и
другого пути нет. Но если неизвестно, глюк это обновления или что-то другое, то я обращаюсь к вам, а не к автору.

   Какова процедура вообще? Или нет никакой процедуры, как бог на душу положит?

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

   Какова процедура вообще? Или нет никакой процедуры, как бог на душу положит?

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


Это технический форум: если есть какая-то проблема, необходимо максимально подробное описание проблемы, необходимо показать проводимые проверки в коде и результаты возврата и нужен код. Без предоставления кода ничего сказать нельзя. 

Без всего этого никто ничего не ответит - здесь нет телепатов, к сожалению.