rvmfractalslevel.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rvmfractalslevel.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор rvmFractalsLevel для MetaTrader 4 рассчитывает и отображает на графике уровни поддержки и сопротивления, основанные на фрактальных ценовых структурах. Он строит верхний и нижний каналы, а также промежуточные уровни внутри канала, помогая трейдеру визуально оценивать потенциальные зоны разворота цены.
Индикатор также создаёт на графике объекты Fibonacci-фанов, привязанные к ключевым фрактальным точкам, что позволяет анализировать потенциальные направления движения цены относительно найденных уровней.
Работа индикатора основана на поиске фрактальных максимумов и минимумов в заданном диапазоне баров и последующем построении каналов и промежуточных уровней. Все расчёты выполняются в реальном времени при каждом обновлении тиков.
Настройки программы
| Настройка | Описание |
|---|---|
| nLeft | Глубина поиска фрактала влево — Определяет количество баров влево от текущей позиции для обнаружения фрактального максимума |
| nRight | Глубина поиска фрактала вправо — Определяет количество баров вправо от текущей позиции для обнаружения фрактального минимума |
| filter | Фильтр уровней — Процентный параметр, управляющий степенью корректировки рассчитанных уровней относительно цены закрытия свечи |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 DeepSkyBlue
#property indicator_color2 DeepSkyBlue
#property indicator_color3 Black
#property indicator_color4 Black
#property indicator_color5 Black
#property indicator_color6 Black
#property indicator_color7 Black
#property indicator_color8 Black
extern int nLeft=50;
extern int nRight=50;
extern int filter=10;
double UpBuffer[];
double DnBuffer[];
double f_2[];
double f_3[];
double f_4[];
double f_5[];
double f_6[];
int draw_begin1=0, draw_begin2=0, d_b3=0;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
double UpStage=0.0,DnStage=0.0;
int i,j,fRange,Range=nLeft+nRight+1;
int counted_bars=IndicatorCounted();
for(i=Bars-1-counted_bars-nLeft;i>=nRight;i--)
{
if(High[i]>=High[Highest(NULL,0,MODE_HIGH,Range,i-nRight)])
{
fRange=nvnLeft(i,nLeft)+nvnRight(i,nRight)+1;
if(High[i]>=High[Highest(NULL,0,MODE_HIGH,fRange,i-nvnRight(i,nRight))])
{
UpStage=High[i];
}
else
{
if(High[i]<=UpBuffer[i+1])
{
UpStage=UpBuffer[i+1];
}
else
{
UpStage=nfUp(i);
}
}
}
else
{
if(High[i]<=UpBuffer[i+1])
{
UpStage=UpBuffer[i+1];
}
else
{
UpStage=nfUp(i);
}
}
if(Low[i]<=Low[Lowest(NULL,0,MODE_LOW,Range,i-nRight)])
{
fRange=nvnLeft(i,nLeft)+nvnRight(i,nRight)+1;
if(Low[i]<=Low[Lowest(NULL,0,MODE_HIGH,fRange,i-nvnRight(i,nRight))])
{
DnStage=Low[i];
}
else
{
if(Low[i]>=DnBuffer[i+1])
{
DnStage=DnBuffer[i+1];
}
else
{
DnStage=nfDn(i);
}
}
}
else
{
if(Low[i]>=DnBuffer[i+1])
{
DnStage=DnBuffer[i+1];
}
else
{
DnStage=nfDn(i);
}
}
UpBuffer[i]=UpStage;
DnBuffer[i]=DnStage;
f_2[i]=NormalizeDouble(DnBuffer[i]+(UpBuffer[i]-DnBuffer[i])/6,4);
f_3[i]=NormalizeDouble(DnBuffer[i]+(UpBuffer[i]-DnBuffer[i])/3,4);
f_4[i]=NormalizeDouble(DnBuffer[i]+(UpBuffer[i]-DnBuffer[i])/2,Показано первые 50% кода (символов: 7364)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.