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

nina_stepma_1.mq4

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

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

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

О программе

Nina_StepMA_1 — это пользовательский индикатор для MetaTrader 4, отображающий аналитические линии и сигналы пересечения в отдельном подокне. В основе расчёта лежит метод взвешенного диапазона (WATR), который вычисляется на основе высоких и низких цен за заданное количество периодов с линейными весовыми коэффициентами. Результат масштабируется параметром Kwatr и используется для построения трёх ступенчатых уровней — минимального, среднего и максимального. Два из них отрисовываются в виде линий (жёлтая и голубая), а пересечения между ними отмечаются стрелками-стрелками (зелёная и красная).

Индикатор поддерживает два режима расчёта границ через параметр HighLow: при значении 0 границы привязываются к ценам закрытия свечей, при значении 1 — к ценам открытия. Сигналы на пересечения отрисовываются только на подтверждённых барах, на текущем баре стрелки не устанавливаются. Доступен звуковой сигнал при пересечении линий, который можно включать и отключать.

Индикатор использует четыре буфера данных и отрисовку в отдельном окне с нормализацией от 0 до 1. Количество рассчитываемых баров регулируется параметром CalculatedBars, при этом при некорректном значении автоматически используется количество доступных баров. Встроенной торговой логики индикатор не содержит.

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

НастройкаОписание
PeriodWATR Период расчёта взвешенного диапазона (WATR), определяющий количество баров, участвующих в вычислении.
Kwatr Множитель для масштабирования рассчитанных значений WATR, определяющий ширину ступенчатых уровней.
HighLow Режим расчёта граничных уровней. При значении 0 границы вычисляются относительно цены закрытия свечи, при значении 1 — относительно цены открытия.
CalculatedBars Количество баров, используемых для расчёта индикатора. Если заданное значение превышает количество доступных баров или равно нулю, автоматически заменяется на общее число баров на графике.
alert_ON Включает или отключает звуковой сигнал при пересечении линий индикатора. true — сигнал включён, false — выключен.
Получить полный код

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

#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=10;
extern double Kwatr=1.0000;
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;
     mi

Показано первые 50% кода (символов: 4080)

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

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

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

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

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

Стоимость полного кода
408₽ ≈ $4.99