fiboretracement3.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fiboretracement3.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор FiboRetracement3 рассчитывает верхний и нижний каналы на основе фрактальных максимумов и минимумов цены, используя параметры nLeft и nRight для определения диапазона анализа. В пределах рассчитанных каналов строятся уровни ретрейсмента, соответствующие делениям диапазона на 6 частей (1/6, 2/6, 3/6, 4/6, 5/6), которые отображаются в виде отдельных буферов на графике. Параметр filter задаёт порог фильтрации для корректировки расчёта ценовых уровней. При инициализации индикатор определяет точки начала отрисовки на основе поиска фрактальных структур и настраивает визуальное представление семи буферов.
Настройки программы
| Настройка | Описание |
|---|---|
| nLeft | Целочисленный параметр, задающий количество баров слева от текущего, используемых для определения левой границы фрактального диапазона анализа. |
| nRight | Целочисленный параметр, задающий количество баров справа от текущего, используемых для определения правой границы фрактального диапазона анализа. |
| filter | Целочисленный параметр, определяющий коэффициент фильтрации для расчёта промежуточных ценовых уровней. При значении больше нуля используется процентное отклонок от диапазона канала для корректировки ценовых значений. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Black
#property indicator_color2 Black
#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,4);Показано первые 50% кода (символов: 7346)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.