n_stepma_1.2_email.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «n_stepma_1.2_email.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает волатильностный канал на основе взвешенного диапазона цен (High-Low) за заданный период. Результат отображается в виде трёх нормализованных линий (минимальная, средняя, максимальная) в отдельном подокне графика, а также стрелками вверх и вниз при пересечении сигнальных уровней.
Индикатор поддерживает фильтрацию сигналов по торговым часам: пользователь может задать временной интервал, в рамках которого события считаются актуальными. Также доступны уведомления — отправка электронного письма и воспроизведение звукового файла при подтверждённом пересечении линий.
Расчёт основан на суммировании взвешенных абсолютных разниц между максимумами и минимумами ценовых баров с последующей нормализацией. Параметры периода и коэффициента позволяют настраивать чувствительность канала к изменениям волатильности.
Настройки программы
| Настройка | Описание |
|---|---|
| PeriodWATR | Период расчёта взвешенного диапазона цен — количество баров, участвующих в суммировании взвешенных разниц High-Low. |
| Kwatr | Коэффициент, умножающий рассчитанные значения минимальной и максимальной волатильности для формирования границ канала. |
| HighLow | Режим расчёта: при значении 1 используются цены High и Low как база для определения уровней, при значении 0 — цена Close. |
| CalculatedBars | Ограничение количества баров, участвующих в расчёте индикатора. Если значение превышает доступное число баров или равно нулю, используется текущее количество баров на графике. |
| UseHourTrade | Переключатель фильтрации сигналов по торговым часам. При значении true сигналы обрабатываются только в заданном временном интервале. |
| FromHourTrade | Начальный час торгового временного окна в локальном серверном времени. Используется при включённой фильтрации по часам. |
| ToHourTrade | Конечный час торгового временного окна в локальном серверном времени. Используется при включённой фильтрации по часам. |
| alert_ON | Переключатель уведомлений. При значении true при подтверждённом пересечении сигнальных линий отправляется электронное письмо и воспроизводится звуковой файл. |
| sond1 | Имя звукового файла, который воспроизводится при срабатывании уведомления о пересечении сигнальных линий. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Yellow
#property indicator_color2 Aqua
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_minimum 0
#property indicator_maximum 1
extern int PeriodWATR=7;
extern double Kwatr=1.0000;
extern int HighLow=0;
extern int CalculatedBars = 500;
extern bool UseHourTrade = false;
extern int FromHourTrade = 8; // FXDD time
extern int ToHourTrade = 19; // FXDD time
extern bool alert_ON=true; // ON=true, OFF=false
extern string sond1 = "alert.wav";
double LineMinBuffer[];
double LineMidBuffer[];
double LineBuyBuffer[];
double LineSellBuffer[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
int i,shift,TrendMin,TrendMax,TrendMid;
double SminMin0,SmaxMin0,SminMin1,SmaxMin1,SumRange,dK,WATR0,WATRmax,WATRmin,WATRmid;
double SminMax0,SmaxMax0,SminMax1,SmaxMax1,SminMid0,SmaxMid0,SminMid1,SmaxMid1;
double linemin,linemax,linemid,Stoch1,Stoch2,bsmin,bsmax;
static bool turn_alarm = true;
int StepSizeMin,StepSizeMax,StepSizeMid;
double min,max,mid,h,l,c;
int position_ind0=0, position_ind1=0;
ArrayInitialize(LineBuyBuffer,0);
ArrayInitialize(LineSellBuffer,0);
if(CalculatedBars>Bars || CalculatedBars == 0 ) CalculatedBars = Bars;
for(shift=CalculatedBars-1;shift>=0;shift--){
SumRange=0;
for (i=PeriodWATR-1;i>=0;i--){
dK = 1+1.0*(PeriodWATR-i)/PeriodWATR;
SumRange+= dK*MathAbs(High[i+shift]-Low[i+shift]);
}
WATR0 = SumRange/PeriodWATR;
WATRmax=MathMax(WATR0,WATRmax);
if (shift==CalculatedBars-1-PeriodWATR) WATRmin=WATR0;
WATRmin=MathMin(WATR0,WATRmin);
StepSizeMin=MathRound(Kwatr*WATRmin/Point);
StepSizeMax=MathRound(Kwatr*WATRmax/Point);
StepSizeMid=MathRound(Kwatr*0.5*(WATRmax+WATRmin)/Point);
min = Kwatr*WATRmin;
max = Kwatr*WATRmax;
mid = Kwatr*0.5*(WATRmax+WATRmin);
Показано первые 50% кода (символов: 4362)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.