← К каталогу
Исходный код · ID 1152

n_stepma_1_email.mq4

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, который отображает адаптивные скользящие на основе волатильности в отдельном подокне. Индикатор рассчитывает два нормализованных значения (в диапазоне 0–1) на основе параметров, зависящих от диапазона ценовых данных, и визуализирует их в виде линий. При пересечении линий на подтверждённых барах отрисовываются стрелки-стрелки покупки и продажи.

Индикатор поддерживает автоматические уведомления: при обнаружении пересечения линий может отправлять электронное письмо и воспроизводить звуковой сигнал. Расчёт может выполняться как для текущего бара, так и для заданного количества предшествующих баров. Доступен выбор между двумя режимами определения уровней — на основе цен High/Low или цен закрытия.

Продукт работает в режиме индикатора с четырьмя буферами данных: две линии отображаются в виде графиков, а два буфера сигналов отрисовываются в виде стрелок. Все параметры задаются пользователем через окно настроек индикатора.

Настройки программы

НастройкаОписание
PeriodWATR Период расчёта волатильности, используемой для определения адаптивных шагов скользящих средних.
Kwatr Коэффициент, определяющий масштаб шагов скользящих относительно рассчитанного диапазона волатильности.
HighLow Выбор режима определения уровней: при значении 0 уровни рассчитываются на основе цены закрытия, при значении больше 0 — на основе цен Low и High.
CalculatedBars Задаёт количество баров, на которых выполняется расчёт индикатора. Если указанное значение превышает количество доступных баров или равно нулю, используется текущее количество баров.
alert_ON Включает или отключает автоматические уведомления. При включённом состоянии при пересечении линий индикатор отправляет электронное письмо и воспроизводит звуковой сигнал.
Получить полный код

Поиск по коду файла

#property indicator_separate_window

#property indicator_buffers 4
#property indicator_color1 Yellow
#property indicator_color2 Aqua
#property indicator_color3 Blue
#property indicator_color4 Red

#property indicator_minimum 0
#property indicator_maximum 1

extern int PeriodWATR=14;
extern double Kwatr=0.75;
extern int HighLow=0;
extern int CalculatedBars = 500;
extern bool alert_ON=true; // ON=true, OFF=false

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% кода (символов: 4126)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
412,60₽ ≈ $5.04