Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 818
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Да, я понимаю, что по-хорошему это делается один раз в ините. Но вопрос в том, что входные параметры индикаторов могут меняться. Например, в спектральном анализе вычисляются резонансные частоты, результатом расчётов является период используемой МА. И если запрашивать данные МА для новой размерности, то это - новый хэндл. Практически частоты меняются же не на каждом баре, поэтому достаточно долго (~ минуты) в расчётах используется один и тот же хэндл МА. Но всё равно наступает момент, когда хэндл меняется. И тогда мне нужно либо кучу хэндлов юзать, либо использовать один хэндл, но периодически его пересчитывать. Вот здесь-то и нужна экономия.
2. iCustom я освоил. Но как ограничить глубину расчётов в самом индикаторе? В технических - никак. Видимо, придётся понасоздавать кучу пользовательских клонов тех. индикаторов. Это противно, конечно, но должно быть эффективно. Спасибо за совет. Хорошая идея. Спасибо.
1. В таком случае вероятно лучше неиспользуемый хендл убивать и создавать новый (главное - контроль, чтобы не нашлёпать в OnTick() миллион хендлов :) ).
2. Создаёте копию встроенного индикатора, но с другим названием (например добавить в название "depth of history") и вводите новый параметр: InpDepthHistory. То есть нужно написать новые пользовательские индикаторы.
1. Да, я понимаю, что по-хорошему это делается один раз в ините. Но вопрос в том, что входные параметры индикаторов могут меняться. Например, в спектральном анализе вычисляются резонансные частоты, результатом расчётов является период используемой МА. И если запрашивать данные МА для новой размерности, то это - новый хэндл. Практически частоты меняются же не на каждом баре, поэтому достаточно долго (~ минуты) в расчётах используется один и тот же хэндл МА. Но всё равно наступает момент, когда хэндл меняется. И тогда мне нужно либо кучу хэндлов юзать, либо использовать один хэндл, но периодически его пересчитывать. Вот здесь-то и нужна экономия.
2. iCustom я освоил. Но как ограничить глубину расчётов в самом индикаторе? В технических - никак. Видимо, придётся понасоздавать кучу пользовательских клонов тех. индикаторов. Это противно, конечно, но должно быть эффективно. Спасибо за совет. Хорошая идея. Спасибо.
Как я понял, вы хотите как в mql4 получать только 1 значение с помощью iCustom() но не учитываете что в mql4 тоже пересчитывался индикатор на всю глубину истории при первом обращении. Точно так-же пересчитывается и при смене хотя-бы одного параметра.
Отсюда вывод: Не надо заморачиваться. Если "устаревший" индикатор больше не нужен, его можно просто удалить и получить хендл индикатора с другими параметрами.
Разработчики могут написать СБ, в которой с индикаторами можно без потери эффективности работать в MQL4-стиле. Т.е. все кеши и хендлы спрятаны в СБ.
Извините, я не понял. Здесь слово Разработчики - это те, кто создал МТ или я грешный прикладник? И СБ - это..?
1. В таком случае вероятно лучше неиспользуемый хендл убивать и создавать новый (главное - контроль, чтобы не нашлёпать в OnTick() миллион хендлов :) ).
2. Создаёте копию встроенного индикатора, но с другим названием (например добавить в название "depth of history") и вводите новый параметр: InpDepthHistory. То есть нужно написать новые пользовательские индикаторы.
2. Да. Благо, есть практически все коды техн. индикаторов. А уж свои и подавно.
Спасибо.
Извините, я не понял. Здесь слово Разработчики - это те, кто создал МТ или я грешный прикладник? И СБ - это..?
MetaQuotes при желании может создать такую Стандартную Библиотеку. Большой вопрос, а нужна ли она?
Как я понял, вы хотите как в mql4 получать только 1 значение с помощью iCustom() но не учитываете что в mql4 тоже пересчитывался индикатор на всю глубину истории при первом обращении. Точно так-же пересчитывается и при смене хотя-бы одного параметра.
Отсюда вывод: Не надо заморачиваться. Если "устаревший" индикатор больше не нужен, его можно просто удалить и получить хендл индикатора с другими параметрами.
Хотеть-то я, может быть, и хочу. Но теперь уже и не хочу. Вы правы. Если устаревший индикатор не нужен, то давить их, гадов, как тараканов:)
Хорошее решение - ограничить глубину технических клонов. Это сэкономит ресурсы и время. Так что, теперь так и сделаю.
Спасибо.
MetaQuotes при желании может создать такую Стандартную Библиотеку. Большой вопрос, а нужна ли она?
Это для грядущих поколений. Я посмотрел некоторые примеры из библиотеки. Тысячи строк некомментированного кода. Не знаю кто как, а я так не умею. Так что, спасибо за идею, но просто в моём случае это неприемлемо.
Вот это работает уже сейчас в MT5
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2018.01.09 10:20
Для адептов MQL4 есть древний способ работы с ТФ в MQL5 в привычном стилеВозможно, кому-то пригодится MQL4-подход и в работе с историей тиков
Технически ничто не мешает подобное же ОДИН РАЗ сделать и с индикаторами (без потерь в эффективности) и поместить решение в СБ.
Вот это работает уже сейчас в MT5
Технически ничто не мешает подобное же ОДИН РАЗ сделать и с индикаторами (без потерь в эффективности) и поместить решение в СБ.
Может быть Вы и правы.
Но у меня иной взгляд. Думаю, что в библиотеках этих много полезного. Но эти полезности никогда не получат массового распространения. Причин тому две.
1. Обычный человек не в состоянии подробно изучать содержание библиотек, имея ввиду "авось что пригодится". Нет у обычного человека для этого ни времени, ни сил. Если бы эти библиотеки были обложены множеством активно употребляемых приложений, то некоторые программисты поинтересовались бы .
2. Пока пользователь будет изучать пятёрочные библиотеки, выйдет обновлённая и исправленная шестёрка:) Думаете нет? Ещё как. Причём построенная не просто на новой концепции, а на новой парадигме (это когда все предыдущие коды, - библиотеки, прикладные программы, - всё в корзину, как было всякий раз). А по логике так и должно быть. Кому нужны эти задомнаперёдные, "такисторическисложившиеся" массивы? Кому нужен этот эксперт, "исторически привязанный" к окну, причём тут окно? Кому вообще нужен mql, у которого нет преемственности?
Одним словом, если здесь подвизается профи, то пишет он всё преспокойно на Си, а МТ использует только как транзит: оттуда котировки, туда торговые приказы. И код его унаследуется в веках .. хоть вы десятку выпустите..
--
А мне, по малости нужд, вполне достаточно многомерных массивов и периодических консультаций здесь на форуме. Мне б понять что нужно делать, а как - я разберусь, это мелочи.
Вам спасибо, что дочитали эту галиматью :)
Дамы и господа! Вопрос: Почему индикатор ( iCCI ) после установленных в свойствах закрепленного минимума и максимума выходит за рамки окна, то-есть верхнею и нижнею границы. СПАСИБО!