... как лучше было бы написать его, с учетом возможных усложнений ...
За хороший зрения - сто рублей премия )))
Ишь, медаль!.. Большая честь!.. У меня наград не счесть: Весь обвешанный, как елка, На спине -- и то их шесть!..
В кои то веки захотелось написать индикатор (идея этого самого Relations). Поскольку не умею этого делать совсем, да еще и ООП только начал изучать, решил подсмотреть в исходники стандартных индикаторов.
Увидел там не порнографию, но какой-то странный подход (даже лобовым не назвать) использования языка, точнее сказать ужасно-скудное использование его возможностей.
Тогда мне захотелось написать хоть какое-то подобие индикатора, по своей архитектуре написания не вызывающий отвращение и рвотный рефлекс одновременно (особенно при большом количестве буферов и мультивалютный). Задумался - написал, исходники выше.
Так вот теперь о просьбе. Могли бы вы показать примеры реально продуманных по архитектуре и возможностям языка исходники индикаторов? Хочется посмотреть и подчерпнуть архитектурные особенности, чтобы не изобретать велосипед самому.
Сам я сделал просто класс INDICATOR с виртуальным методом Calculation. Получилось явно удобнее, чем лобовой подход. Но, очевидно, есть решения гораздо красивее.
Здесь есть представители джоба, которые клепают индикаторы почти ежедневно. Наверняка, имеются отлично зарекомендавшие себя ООП-шаблоны, которыми не стыдно и не западло поделиться с общественности. Короче, покажите, как надо писать на MQL. Как не надо - увидел в стандартных индикаторах.
Можно видеть, что NZD сильнее всех реагировал на новость.
а в чем, как говорят, физический смысл разности логарифмов цен ?
например, взять изменение цен EURUSD и NZDUSD в обоих случаях в 100 пунктов
double a =MathLog(1.2600) - MathLog(1.2500);
double b =MathLog(0.7700) - MathLog(0.7600);Print(DoubleToStr(a,8)," ",DoubleToStr(b,8)," ",DoubleToStr(a-b,8));
имеет 0.00796817 0.01307208 -0.00510391
и что это значит, что NZDUSD было более подвижно (а если сравнить графики EURUSD и NZDUSD) ?
и что это значит, что NZDUSD было более подвижно (а если сравнить графики EURUSD и NZDUSD) ?
В общем, хотелось увидеть картину рынка более наглядно.
Вот такой есть вариат:
http://procapital.ru/showthread.php?t=28081&page=263&p=1838329&viewfull=1#post1838329
Если не ошибаюсь - каждая линия вычисляется как разность двух МА (медл. и быстрой), периоды которых можно задать в "свойствах", по умолч. 21 и 8
Да, в вашем примере NZDUSD гораздо подвижнее EURUSD. Relations как раз и показывает, кто как реагирует на возмущения. При этом самое сильная рекция - это ширина канала Relations. Например, если на самом верху EURUSD, а в самом низу NZDUSD в показаниях Relations, то EURNZD круче (всех) реагировал. Если же USDCAD и USDJPY ближе всего друг к другу - CADJPY слабее всего реагировал на возмущение.
В общем, хотелось увидеть картину рынка более наглядно.
NZDUSD гораздо подвижнее EURUSD..
как бы ни так, они обе прошли одно количество пунктов, поэтому NZDUSD неподвижнее EURUSD они синхронны, а расчеты - показывают что это не так, отсюда вывод - формула непригодна для того, на что рассчитывалась..
Только осваиваю написания индикаторов и заодно еще ООП изучаю. Подскажите, где ошибки и как лучше реализовывать индикатор. Сдуру написал такой код:
.....................симпатично смотрится. почему используется логарифм?
симпатично смотрится. почему используется логарифм?
Я тоже в подобных ситуациях использую логарифм. Разность логарифмов - это логарифм отношения. Т.е., мы смотрим на относительное изменение цены (можно в процентах). А, если автор зафиксирует время TimeLeft, тогда индикатор будет обладать свойством аддитивности:
I( t0, t1) + I( t1,t2 ) = I( t0, t2), где I() - значение индикатора для пары; t0 < t1 < t2 - моменты времени.Я тоже в подобных ситуациях использую логарифм. Разность логарифмов - это логарифм отношения. Т.е., мы смотрим на относительное изменение цены изменение цены (можно в процентах). А, если автор зафиксирует время TimeLeft, тогда индикатор будет обладать свойством аддитивности:
I( t0, t1) + I( t1,t2 ) = I( t0, t2), где I() - значение индикатора для пары; t0 < t1 < t2 - моменты времени.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Только осваиваю написания индикаторов и заодно еще ООП изучаю. Подскажите, где ошибки и как лучше реализовывать индикатор. Сдуру написал такой код:
С помощью индикатора хотелось понять, как идет изменение каждой из валют. Вся суть индикатора в этих строках:
Т.е. смотрим разность логарифмов цен. Такое представление удобно, т.к. из него сразу видны любые отношения пар валют.
Вот скрин на сегодняшнем основном новостном движении:
Можно видеть, что NZD сильнее всех реагировал на новость. Интересно, что по анализу показателей этого индикатора, именно NZD скачет сильнее остальных вот уже несколько крайних недель к ряду.
Можно обсудить и сам индикатор, но лично меня больше интересует, как лучше было бы написать его, с учетом возможных усложнений, внесении универсальности и мощных средств MQL.