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

!!fractals - adjustable period trend lines mtf bt2.mq5

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

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

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

О программе

Индикатор для MetaTrader 5, рассчитывающий фрактальные точки на ценовом графике и отображающий их в виде стрелок, а также строящий трендовые линии между фрактальными точками. Поддерживает работу на множестве таймфреймов через механизм iCustom. Включает настраиваемые период фрактала, смещение стрелок и цвета линий для завершённых и незавершённых трендов. Предусмотрена кнопка на графике для включения и отключения отображения данных, при этом состояние сохраняется в глобальной переменной.

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

НастройкаОписание
TimeFrame Таймфрейм, на котором выполняется расчёт фракталов. Допускается выбор из стандартных периодов и трёх верхних таймфреймов.
FractalPeriod Период расчёта фрактала. Если задано чётное число, автоматически увеличивается на 1 до нечётного.
UpperArrowDisplacement Смещение стрелки верхнего фрактала от цены в долях ATR(20).
LowerArrowDisplacement Смещение стрелки нижнего фрактала от цены в долях ATR(20).
ArrowOnFirst Определяет, отображать ли фрактальную линию на первом баре многофреймного графика.
UpperCompletedColor Цвет линии тренда для завершённых верхних фракталов.
UpperUnCompletedColor Цвет линии тренда для незавершённых верхних фракталов.
LowerCompletedColor Цвет линии тренда для завершённых нижних фракталов.
LowerUnCompletedColor Цвет линии тренда для незавершённых нижних фракталов.
CompletedWidth Толщина линии тренда для завершённых фракталов.
UnCompletedWidth Толщина линии тренда для незавершённых фракталов.
UniqueID Уникальный идентификатор объектов трендовых линий на графике.
button_note1 Вспомогательный текстовый параметр кнопки (разделитель).
btn_Subwindow Подокно, в котором размещается кнопка (0 — основное окно графика).
btn_corner Угол графика, к которому привязана кнопка.
btn_text Текст на кнопке управления по умолчанию.
btn_Font Шрифт текста на кнопке управления.
btn_FontSize Размер шрифта текста на кнопке управления.
btn_text_ON_color Цвет текста кнопки при включённом отображении данных.
btn_text_OFF_color Цвет текста кнопки при выключенном отображении данных.
btn_pressed Текст на кнопке при активном состоянии отображения данных.
btn_unpressed Текст на кнопке при неактивном состоянии отображения данных.
btn_background_color Цвет фона кнопки управления.
btn_border_color Цвет рамки кнопки управления.
button_x Горизонтальное расстояние кнопки от привязанного угла графика в пикселях.
button_y Вертикальное расстояние кнопки от привязанного угла графика в пикселях.
btn_Width Ширина кнопки управления в пикселях.
btn_Height Высота кнопки управления в пикселях.
soundBT Имя звукового файла, воспроизводимого при нажатии кнопки. Если пустая строка — звук не воспроизводится.
button_note2 Вспомогательный текстовый параметр кнопки (разделитель).
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1  clrDeepSkyBlue
#property indicator_color2  clrPaleVioletRed
#property indicator_width1  2
#property indicator_width2  2
#property strict

enum enTimeFrames
{
   tf_cu  = PERIOD_CURRENT, // Current time frame
   tf_m1  = PERIOD_M1,      // 1 minute
   tf_m5  = PERIOD_M5,      // 5 minutes
   tf_m15 = PERIOD_M15,     // 15 minutes
   tf_m30 = PERIOD_M30,     // 30 minutes
   tf_h1  = PERIOD_H1,      // 1 hour
   tf_h4  = PERIOD_H4,      // 4 hours
   tf_d1  = PERIOD_D1,      // Daily
   tf_w1  = PERIOD_W1,      // Weekly
   tf_mn1 = PERIOD_MN1,     // Monthly
   tf_n1  = -1,             // First higher time frame
   tf_n2  = -2,             // Second higher time frame
   tf_n3  = -3              // Third higher time frame
};

extern enTimeFrames       TimeFrame              = tf_cu;      // Timeframe to use
extern int                FractalPeriod          = 25;                   // Fractal period
extern double             UpperArrowDisplacement = 0.2;                  // Upper fractal displacement
extern double             LowerArrowDisplacement = 0.2;                  // Lower fractal displacement
input bool                ArrowOnFirst           = false;                // Fractal on first mtf bar
extern color              UpperCompletedColor    = clrDeepSkyBlue;       // Upper trend line completed color 
extern color              UpperUnCompletedColor  = clrAqua;              // Upper trend line uncompleted color
extern color              LowerCompletedColor    = clrPaleVioletRed;     // Lower trend line completed color
extern color              LowerUnCompletedColor  = clrHotPink;           // Lower trend line uncompleted color
extern int                CompletedWidth         = 2;                    // Completed trend line width 
extern int                UnCompletedWidth       = 1;                    // Uncompleted trend line width
extern string             UniqueID               = "FractalTrendLines1"; // Trend line unique ID.
extern string             button_note1           = "------------------------------";
extern int                btn_Subwindow = 0;
extern ENUM_BASE_CORNER   btn_corner             = CORNER_LEFT_LOWER; 
extern string             btn_text               = "FTR";
extern string             btn_Font               = "Arial";
extern int                btn_FontSize           = 10;                            
extern color              btn_text_ON_color      = clrWhite;
extern color              btn_text_OFF_color     = clrRed;
extern string             btn_pressed            = "FTL ON";            
extern string             btn_unpressed          = "FTL OFF";
extern color              btn_background_color   = clrDarkGray;
extern color              btn_border_color       = clrBlack;
extern int                button_x               = 140;                                 
extern int                button_y               = 25;                                   
extern int                btn_Width              = 60;                                 
extern int                btn_Height             = 20;                                
extern string             soundBT                = "tck.wav";  
extern string             button_note2           = "------------------------------";

bool show_data = true,found = true;
int lastUp[3],lastDn[3];
string IndicatorName, IndicatorObjPrefix ,buttonId ;
double UpperBuffer[],LowerBuffer[],count[];
string indicatorFileName;
#define _mtfCall(_buff,_ind) iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,FractalPeriod,UpperArrowDisplacement,LowerArrowDisplacement,ArrowOnFirst,UpperCompletedColor,UpperUnCompletedColor,LowerCompletedColor,LowerUnCompletedColor,CompletedWidth,UnCompletedWidth,UniqueID,button_note1,btn_Subwindow,btn_corner,btn_text,btn_Font,btn_FontSize,btn_text_ON_color,btn_text_OFF_color,btn_pressed,btn_unpressed,btn_background_color,btn_border_color,button_x,button_y,btn_Width,btn_Height,soundBT,button_note2,_buff,_ind)

string GenerateIndicatorName(const string target)
{
   string name = target;
   int try = 2;
   while (WindowFind(name) != -1)
   {
      name = target + " #" + IntegerToString(try++);
   }
   return name;
}

int init()
{
      // код доступен только после оплаты
   }

void createButton(string buttonID,string buttonText,int width,int height,string font,int fontSize,color bgColor,color borderColor,color txtColor)
{
      ObjectDelete    (ChartID(),buttonID);
      ObjectCreate (ChartID(),buttonID,OBJ_BUTTON,btn_Subwindow,0,0);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_COLOR,txtColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_BGCOLOR,bgColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_BORDER_COLOR,borderColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_XSIZE,width);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_YSIZE,height);
      ObjectSetString (ChartID(),buttonID,OBJPROP_FONT,font);
      ObjectSetString (ChartID(),buttonID,OBJPROP_TEXT,buttonText);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_FONTSIZE,fontSize);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_SELECTABLE,0);
      ObjectSetInteger(ChartID(),buttonID,OBJPRO

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

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

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

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

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

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

Стоимость полного кода
916,30₽ ≈ $11.20