FractalsMD_v3.2 600+
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «fractalsmd_v3.2 600+.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
FractalsMD_v3.2 600+ — это пользовательский индикатор для MetaTrader 5, рассчитывающий фрактальные паттерны на ценовых данных. Индикатор поддерживает многомерный анализ фракталов от 1 до 4 измерений, что позволяет выявлять фрактальные структуры разной степени сложности на графике цен.
Индикатор работает с различными типами ценовых данных, включая стандартные (Close, Open, High, Low) и производные (Median, Typical, Weighted Close), а также цены Хейкин Аши. Результаты расчёта отображаются на графике с помощью стрелочных маркеров в нескольких буферах.
В основе работы лежит алгоритм поиска фрактальных экстремумов на скользящих окнах фиксированной длины, задаваемой параметром FractalSize. Параметр Dimension определяет количество уровней вложенности фрактального анализа, при каждом уровне результаты предыдущего измерения переиспользуются для построения следующего.
Настройки программы
| Настройка | Описание |
|---|---|
| Upper Band Price (UpBandPrice) | Верхняя цена полосы — Тип цены для расчёта верхней полосы фракталов. Поддерживает стандартные типы цен (Close, Open, High, Low и др.), а также цены Хейкин Аши (значения выше 6). |
| Lower Band Price (LoBandPrice) | Нижняя цена полосы — Тип цены для расчёта нижней полосы фракталов. Поддерживает стандартные типы цен (Close, Open, High, Low и др.), а также цены Хейкин Аши (значения выше 6). |
| Fractal Dimension (max. 4) (Dimension) | Размерность фрактала — Число измерений фрактального анализа (максимум 4). Определяет количество уровней вложенности расчёта фракталов: при значении 1 рассчитываются только одномерные фракталы, при 4 — до четырёх уровней вложенности. |
| Fractal Size in bars (ex. 1-3 bars,2-5 bars,3-7 bars) (FractalSize) | Размер фрактала — Размер фрактала в барах. Задаёт полупериод окна для поиска фрактальных экстремумов. Общая длина расчётного окна составляет 2*FractalSize+1 бар. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 clrSteelBlue
#property indicator_color2 clrOrangeRed
#property indicator_color3 clrRoyalBlue
#property indicator_color4 clrTomato
#property indicator_color5 clrCornflowerBlue
#property indicator_color6 clrLightSalmon
#property indicator_color7 clrPowderBlue
#property indicator_color8 clrOrange
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 0
#property indicator_width4 0
#property indicator_width5 2
#property indicator_width6 2
#property indicator_width7 3
#property indicator_width8 3
enum ENUM_PRICE
{
close, // Close
open, // Open
high, // High
low, // Low
median, // Median
typical, // Typical
weightedClose, // Weighted Close
haClose, // Heiken Ashi Close
haOpen, // Heiken Ashi Open
haHigh, // Heiken Ashi High
haLow, // Heiken Ashi Low
haMedian, // Heiken Ashi Median
haTypical, // Heiken Ashi Typical
haWeighted // Heiken Ashi Weighted Close
};
input ENUM_PRICE UpBandPrice = 2; // Upper Band Price
input ENUM_PRICE LoBandPrice = 3; // Lower Band Price
input int Dimension = 1; // Fractal Dimension (max. 4)
input int FractalSize = 1; // Fractal Size in bars (ex. 1-3 bars,2-5 bars,3-7 bars)
double upFractal1[];
double loFractal1[];
double upFractal2[];
double loFractal2[];
double upFractal3[];
double loFractal3[];
double upFractal4[];
double loFractal4[];
double hiArray[],loArray[];
datetime hiTime[], loTime[];
int Length;
string IndicatorName, short_name;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int i, shift, limit, counted_bars = IndicatorCounted();
datetime uptime, dntime;
if(counted_bars > 0) limit = Bars - counted_bars - 1;
if(counted_bars < 0) return(0);
if(counted_bars < 1)
{
limit = Bars - Length;
for(i=Bars - 1;i>=0;i--)
{
upFractal1[i] = EMPTY_VALUE;
loFractal1[i] = EMPTY_VALUE;
upFractal2[i] = EMPTY_VALUE;
loFractal2[i] = EMPTY_VALUE;
upFractal3[i] = EMPTY_VALUE;
loFractal3[i] = EMPTY_VALUE;
upFractal4[i] = EMPTY_VALUE;
loFractal4[i] = EMPTY_VALUE;
}
}
for(shift=limit;shift>=0;shift--)
{
for(int j=0;j<Length;j++)
{
if(UpBandPrice <= 6) hiArray[j] = iMA(NULL,0,1,0,0,(int)UpBandPrice,shift+j);
else
if(UpBandPrice > 6 && UpBandPrice <= 13) hiArray[j] = HeikenAshi(0,UpBandPrice-7,shift+j);
if(LoBandPrice <= 6) loArray[j] = iMA(NULL,0,1,0,0,(int)LoBandPrice,shift+j);
else
if(LoBandPrice > 6 && LoBandPrice <= 13) loArray[j] = HeikenAshi(1,LoBandPrice-7,shift+j);
hiTime[j] = Time[shift+j];
loTime[j] = Time[shift+j];
}
double f1 = Fractals(0,hiArray,hiTime,FractalSize,0,uptime);
double f2 = Fractals(1,loArray,loTime,FractalSize,0,dntime);
if(f1 > 0) upFractal1[shift+FractalSize] = f1; else upFractal1[shift+FractalSize] = EMPTY_VALUE;
if(f2 > 0) loFractal1[shiПоказано первые 50% кода (символов: 6930)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.