nina_stepma_1.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.