[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 34

 
100yan:

Снова Спасибо drknn и granit77! !!!! #MTF_MovingAverage.mq4 - если это советник, то почему-то не ставится на график... :-(,

Вопрос именно в прорисовке...

Мне нужен М5 (144) на графике М1 нарисовать. т.е. получается мне нужно М1 (144*5=720) рисовать? верно?

Но если следущие ТФ не совпадают по кратности как быть? - хотелось бы при изменении ТФ сделать автоматическое вычисление Старшей МА . Есть ли такая функция определния ТФ?


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

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

На счёт кратности вопрос бессмысленный - я дал Вам формулу, дал её логическое обоснование. Чего же Вам ещё нужно? У Вас в руках полный комплект инструментов и материала, чтоб приложить руки и изготовить нужное Вам изделие. Просто нужно пробовать и пробовать до тех пор, пока ни получится. Ни кто не будет эту работу делать вместо Вас.

 
Vinin:

При необходимости это легко сделать


Прошу, по возможности, намекнуть хотя бы... на встроенную функцию, если таковая есть!

А "Получить значение таймфрейма средствами языка можно. " Не могу найти...., может вечерний кретинизм?

Не сочтите за труд...!!!

 
100yan:


Прошу, по возможности, намекнуть хотя бы... на встроенную функцию, если таковая есть!


Встроенных функций нет, надо просто написать свою машку с расчетом периода расчета в зависимости от таймфрейма
 
Сделал индикатор (назовем инд 1) с использованием функции iCustom, то бишь со ссылкой на другой пользовательский индикатор (инд 2). Такой вопрос, просьба сильно не бить - если я захочу использовать значение инд 1 в советнике, тоже через iCustom, будет ли это работать? Или такая daisy chain не канает, нужно делать из советника ссылку на первоначальный индикатор, инд 2? Спасибо
 
Cod:
Сделал индикатор (назовем инд 1) с использованием функции iCustom, то бишь со ссылкой на другой пользовательский индикатор (инд 2). Такой вопрос, просьба сильно не бить - если я захочу использовать значение инд 1 в советнике, тоже через iCustom, будет ли это работать? Или такая daisy chain не канает, нужно делать из советника ссылку на первоначальный индикатор, инд 2? Спасибо

Эта функция извлекает на свет Божий значение указанного индикаторного буфера. Если в индикаторе он есть, то с помощью iCustom() его значения извлечь можно. Если в индикаторе нет ни одного индикаторного буфера (такое тоже бывает), то iCustom() не поможет. Спрашивается, как это без буфферов? Да очень просто - есть индикаторы, которые отслеживают по каким-то своим принципам изменения цен и расставляют на графике объекты, например, надписи с автоматическки-генерируемым содержанием.
 
drknn:

Эта функция извлекает на свет Божий значение указанного индикаторного буфера. Если в индикаторе он есть, то с помощью iCustom() его значения извлечь можно. Если в индикаторе нет ни одного индикаторного буфера (такое тоже бывает), то iCustom() не поможет. Спрашивается, как это без буфферов? Да очень просто - есть индикаторы, которые отслеживают по каким-то своим принципам изменения цен и расставляют на графике объекты, например, надписи с автоматическки-генерируемым содержанием.

В инд 1 буфер есть, да. Но его значение рассчитывается, в свою очередь, через ссылку на другой индикатор, инд 2. То бишь, советник хочет забрать значение инд 1 - но оно в свою очередь считается через ссылку на инд 2. Получается цепочка Советник - запрос значения буфера инд 1 - запрос значения буфера инд 2 - инд 2 возвращает значение в инд 1 - инд 1 возвращает значение в советник. Будет ли такая цепочка работать?
 
Да. Без проблем.
 
granit77:
Да. Без проблем.
Понятно, спасибо.
 
Тогда еще вопрос, для общего развития - использование iCustom, как в вопросе выше, сильно тормозит терминал? Имеет ли смысл вставлять сразу все рассчеты в один индюк, или это не принципиально? Я пока вынужденно пользуюсь iCustom, потому что сам свести воедино все не сумею, некоторые индикаторы просто не понимаю... хотя и пользуюсь... iCustom спасает.
 
Замедляет, безусловно, но все зависит от конкретных индикаторов. При простых расчетах вполне приемлемо, зато дает экономию времени при разработке. Таким способом можно очень быстро проверить идею и радостно выкинуть ее в корзину. Если результаты обнадежили. тогда можно свести в один индикатор.
Вообще программисты не верят никому (я не программист :)) ), поэтому в вопросах использования индикаторов делятся на тупоконечников и остроконечников.
Одни считают, что быстрее всего работают алгоритмы, перенесенные из индикатора непосредственно в советник.
Другие говорят, что разница не столь значительна, чтобы усложнять код. А иногда внедрение расчетов в советник даже замедляет тестирование.
Есть спецы, которые изощренно оптимизируют скорость работы кодов, причем их не так много даже среди профи.
Почитайте статьи в разделе "Тестер" и других разделах, будет интересно.
А простому деревенскому парню удобнее всего держать все в индикаторе и оттуда посылать сигналы в советник. Это позволяет легко модифицировать систему, менять и переписывать индикаторы, использовать несколько индикаторов одновременно и пр. Показательно, что такого же мнения придерживается один из опытнейших программистов форума.
Причина обращения: