Скачать MetaTrader 5

Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

2010.02.08 10:13
Индикаторы

Стохастик, модулированный по амплитуде нормированной волатильностью. - индикатор для MetaTrader 4

Просмотров:
5347
Рейтинг:
голосов: 3

«И попробуй только подумать, что эта хреновина - не транклюкатор!»

© к/ф Кин-дза-дза

В первом подокне «обычный порошок», вот втором – Стохастик с АМ по волатильности (здесь – по ст.девиации) ~StochAM.mq4, в нижнем то, чем модулируется - нормированная ст. девация ~norm.mq4.

Принцип работы.
Из практики пришел в выводу, что рынком движут импульсы, и сам рынок по оси X стоит рассматривать не как разбитый на равные временные отрезки ЦР (тайм-фреймы), а как отрезки между такими импульсами. Если же все-таки далеко не уходить от временной шкалы (а можно и легко!, но не в этой записи), то можно использовать этот подход и для обычных, винтажных индикаторов, как-то: Стохастик, RSI, MACD и т.п. «классика». Т.е. тайм-фрейм остается, а классический индикатор модулируется таким «движущим» импульсом по амплитуде. По сути, аналоговая операция «И» - умножение.
В качестве множителя (модулирующего сигнала) используется нормированная в диапазон 0…1 волатильность, которая м.б. представлена объемом, средним истинным диапазон или ст.девиацией. Каждый из этих вендоров волатильности имеет свои ценные особенности, в которых вы сможете удостовериться, поэкспериментировав с предложенными индикаторами. Я же уделю больше внимания волатильности, определенной по станд. девиации. Хотя, повторюсь, и объем, и ATR представляют весьма практический интерес.
Индикатор, поставляющий нормированную волатильность, - знакомый. По кр. мере, для некоторых – это заточенный под актуальные теме нужды MasterSlave. С его принципом работы можно ознакомиться по ссылке, я же коротко пробегусь по полям параметров этой его модификации:

extern int Source=2; // 0- объем, 1- ATR, 2- ст.дев., 3- Close
extern int SourcePeriod=5; // период источника, <0 EMA, >0 SMA
extern int Window=5; // окно нормирования в барах
extern double Sens=0; // порог чувствительности в пп. или тиках (объем)
extern double Power=1; // степень для передаточной функции
extern int Smooth=1; // сглаживание нормирования, <0 EMA, >0 SMA
extern int Signal=1; // сигнальная, <0 EMA, >0 SMA
extern int Fade=1; // затухание сигнальной

Поясню некоторые поля. Поскольку выходной сигнал лежит в диапазоне 0…1, то можно менять характер его динамики, возводя в степень – из диапазона он не выйдет. Для модулирования стохастика используется возведение в квадрат. Затухание сигнальной (Fade) - это сглаженные фронт и спад сигнальной. Для модуляции стохастика используется сглаживание спада, т.к. между экстремумами ст. девиации и стохастика могут быть небольшие временные дивергенции, и, чтобы не вносить фазовую задержку, для «растягивания» модулирующего импульса используется метод раздельного сглаживания фронта/спада.
Из не встречавшегося в MasterSlave можно еще отметить параметр Smooth, который по смыслу аналогичен параметру Slowing (замедление) у стохастика. (Принцип и код нормирования-то такой же как у стохастика!))).
Итак, есть волатильность, «болтающаяся» между зеро и единицей. Осталось только убрать у стохастика постоянную составляющую – т.е. вычесть из него 50, умножить это дело на волатильность и вернуть полученный результат в привычный диапазон, прибавив 50. Все. Также следует поступить и с RSI (его диапазон также в %% от 0 до 100). С MACD же еще проще – постоянной составляющей там нет.

Входные параметры Стохастика АМ представляют из себя стандартные поля стохастика и уже описанные выше нормировщика волатильности. По умолчанию в качестве источника волатильности стоит ст. девиация, а порог задан для пары евробакс на минутках (2 пп.) Выборка (SourcePeriod) для ст.дев. и выборка (Kperiod) для стохастика здесь равны. По самым общим соображениям эти два параметра, а также ширина окна для нормирования (Window) видятся кратными. Возможно, вместо их явного задания, можно было использовать множители. Но пока сделал периоды в явном виде - надо еще посмотреть, что там за кратность такая умозрительная.)))

Вызов из пользовательских кодов:


iCustom(NULL,0,"~StochAM",Kperiod,Dperiod,Slowing,PriceField, // параметры стохастика
Source,SourcePeriod,Window,Sens,Power,Smooth,Signal,Fade, // параметры модулирующего сигнала - норм.волатильность
N, i); // буферы и смещение

где N – инд. буферы:
0 - стохастик
1 - сигнальная %D

Код индикатора StochAM.mq4 уже содержит в себе код нормировщика (для быстродействия), и необходимости загружать ~norm.mq4 для работы стохастика - нет. Хотя, штука полезная... и потом! Надо же знать, чего и какие параметры вы настраиваете!)))

Интересно, как уже упоминал, использовать объем для модуляции. Да, я в курсе, что с ним чудят, так что лучше его использовать только для ручного режима. Но, когда ДЦ не в тиковом астрале, все вполне адекватно. А адекватность такая: экстремум стохастика должен подтверждаться объемом. Если не подтверждается, то это коррекционный экстремум, т.е. для захода. Хорошо с объемом ловить дивергенции или др. гр. фигуры. Если на обычном стохастике экстремум будет как экстремум, то уже модулированный объемом – нет. Очень хорошо видно. Кстати, объем с успехом можно заменить на ATR – очень сильная корреляция. Можете сами проверить с помощью ~norm.mq4.)))

Вот - смотрите: известное соображение, что колебания в сторону тренда сопровождаются повышением объема или, как на рис. ниже, истинного диапазона, наглядно подтверждается предлагаемыми индикаторами. В первом подокне, толстой красной линией - модулированный по ATR стохастик (~SrochAM), а тонкой синей - обычный. Хорошо видно, как фильтруются нетрендовые колебания стохастика. В нижнем подокне, для справки - модулирующий сигнал (~norm) - нормированный ATR(5).


===
А вообще, все эти попытки адаптации на временном фреймировании подобны тщете натягивания фрачной пары на осьминога. Но, по крайней мере, предложенный подход ближе к сути рыночных движений, чем беспорядочное скрещивание известных и не- индикаторов с последующим добиванием мутантов в оптимизаторе и прекращением их мучений контрольным выстрелом на депо.

YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя YURAZ_RSAXEL Скрипт рисует уровни Рудолфа Акселя

Скрипт рисует уровни Рудолфа Акселя

YURAZ_CLOSEPRC_V1 YURAZ_CLOSEPRC_V1

Закрытие всех открытых позиций одним кликом либо закрытие всех позиций при достижении указанного профита в процентах от депозита

EA Deviation Price EA Deviation Price

Простой советник, основанный на индикаторе Moving Average.

EA Simple BB EA Simple BB

Советник основан на индикаторе Bollinger Bands.