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

sun+fan_0.41.mq5

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

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, реализующий трёхуровневую систему расчёта аналитических зон на основе алгоритма ZigZag с тремя различными периодами (быстрый, средний, медленный). Для каждого периода рассчитываются два буфера — верхний и нижний, отображаемые в виде стрелок на графике цены.

Индикатор также включает функцию построения объекта Fibonacci Fan (Фибоначчи Фан) по точкам среднего и медленного уровней, с возможностью отображения шести настраиваемых уровней Фибоначчи в индивидуальных цветах. Дополнительно доступна отрисовка треугольных объектов, визуализирующих зоны расширения.

Все основные параметры (периоды, ширины стрелок, уровни, цвета) настраиваются пользователем через входные параметры. Индикатор работает в окне графика и использует шесть индикаторных буферов для отображения результатов расчёта.

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

НастройкаОписание
Period1 Период 1 — Период расчёта для быстрого уровня ZigZag.
Period2 Период 2 — Период расчёта для среднего уровня ZigZag.
Period3 Период 3 — Период расчёта для медленного уровня ZigZag.
Width1 Ширина 1 — Толщина стрелок быстрого уровня ZigZag.
Width2 Ширина 2 — Толщина стрелок среднего уровня ZigZag.
Width3 Ширина 3 — Толщина стрелок медленного уровня ZigZag.
Symbol_1_Kod Код символа 1 — Код стрелки для отображения быстрого уровня ZigZag.
Symbol_2_Kod Код символа 2 — Код стрелки для отображения среднего уровня ZigZag.
Symbol_3_Kod Код символа 3 — Код стрелки для отображения медленного уровня ZigZag.
__ Разделитель — Текстовый разделитель для группировки параметров в настройках.
???????? ???? (DrawFan) Рисовать Фан — Переключатель включения и отключения отрисовки объекта Fibonacci Fan на графике.
???????? ??????? (FiboLevel1) Уровень Фибоначчи 1 — Значение первого уровня Фибоначчи (в процентах).
FiboLevel2 Уровень Фибоначчи 2 — Значение второго уровня Фибоначчи (в процентах).
FiboLevel3 Уровень Фибоначчи 3 — Значение третьего уровня Фибоначчи (в процентах).
FiboLevel4 Уровень Фибоначчи 4 — Значение четвёртого уровня Фибоначчи (в процентах).
FiboLevel5 Уровень Фибоначчи 5 — Значение пятого уровня Фибоначчи (в процентах).
FiboLevel6 Уровень Фибоначчи 6 — Значение шестого уровня Фибоначчи (в процентах).
????? ??????? (FiboColor1) Цвет уровня 1 — Цвет первого уровня Фибоначчи на фане.
FiboColor2 Цвет уровня 2 — Цвет второго уровня Фибоначчи на фане.
FiboColor3 Цвет уровня 3 — Цвет третьего уровня Фибоначчи на фане.
FiboColor4 Цвет уровня 4 — Цвет четвёртого уровня Фибоначчи на фане.
FiboColor5 Цвет уровня 5 — Цвет пятого уровня Фибоначчи на фане.
FiboColor6 Цвет уровня 6 — Цвет шестого уровня Фибоначчи на фане.
?? ??????????? ???????? ??????? (UseMonoColor) Использовать монохромный цвет — Переключатель режима отображения всех уровней Фибоначчи одним цветом.
???? ??????? ????????????? ????????? (MonoColor) Монохромный цвет — Цвет, используемый для всех уровней при включённом режиме монохромного отображения.
??????? ??????? (LevelsWidt) Ширина уровней — Толщина линий уровней Фибоначчи на фане.
Object id (MyName) Имя объекта — Идентификатор объектов индикатора на графике (Object id).
BarsCount Количество баров — Максимальное количество баров, учитываемых при расчёте индикатора.
Получить полный код

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

/*
    ?????? ???? ???? ?? ????????? ?????? ???????(Period2)
    SUN+FAN_0.1  ??????  2 ?????? - classic, modern
     Classic - ?? ?????????? ??? ?????? ?? ??? ? ????? ? ??????? ????? ????? ?????? 
     Modern  - ??? ? ????? ????, ?? ???? ????????? ??? 
    SUN+FAN_0.3 ????????? ??????? ????? ???????? 
    0.4 ????? ???? ???????? ?????? ????? ?? ???????? ????????
*/
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 clrBlue
#property indicator_color2 Maroon
#property indicator_color3 C'255,100,255'
#property indicator_color4 C'255,100,255'
#property indicator_color5 clrDodgerBlue
#property indicator_color6 clrRed

enum modes
{
    ????????????  = 0,
    ?????         = 1
};

extern double     Period1           = 0; 
extern double     Period2           = 34; 
extern double     Period3           = 233;
extern int        Width1            = 3;
extern int        Width2            = 3;
extern int        Width3            = 5;

extern int        Symbol_1_Kod      = 158;
extern int        Symbol_2_Kod      = 159;
extern int        Symbol_3_Kod      = 111;
extern string     __                 = "--------- ???? ????  ---------";
extern bool       DrawFan           = true;           // ???????? ????
extern double     FiboLevel1        = 13.0;           // ???????? ???????
extern double     FiboLevel2        = 23.0; 
extern double     FiboLevel3        = 38.0; 
extern double     FiboLevel4        = 50.0; 
extern double     FiboLevel5        = 61.8; 
extern double     FiboLevel6        = 76.4; 
extern color      FiboColor1        = clrLime;        //????? ???????
extern color      FiboColor2        = clrRed;
extern color      FiboColor3        = clrLime;
extern color      FiboColor4        = clrRoyalBlue;
extern color      FiboColor5        = clrGoldenrod;
extern color      FiboColor6        = clrDarkViolet;
extern bool       UseMonoColor      = false;          // ?? ??????????? ???????? ???????
extern color      MonoColor         = clrBlue;           // ???? ??????? ????????????? ?????????
extern int        LevelsWidt        = 1;              // ??????? ???????
extern bool       ???????           = false;
extern double     ??????????_???????= 0.9;            // ???????? 0...1 ??? ??????, ??? ??????? ???????
extern modes      ?????_?????       = ?????;          // ????? ????????????? ?????
input string      MyName            = "Sun+Fan_f1";   // Object id

int Stp=1;
int Dev=1;

extern int BarsCount = 3000;

double FP_BuferUp[], FP_BuferDn[], NP_BuferUp[], NP_BuferDn[], HP_BuferUp[], HP_BuferDn[]; 
double Levels[6];
color  Colors[6];
struct prt
{
   datetime time;
   double   price;
};

struct levProps
{
   double value;
   color  clr;
};

double      FiboLevels[6][2];
prt         FiboPoints[2];

int         UninitR;

string      symbol;  
int         digits, period, key  ; 
color       tColor = Yellow ;

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

int deinit()   
{   
   UninitR = UninitializeReason() ;
   DelMyObj(MyName); 
return(0);   
} 

int start()   

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

void FiboFan()
{
   int i, cnt;
   int iBig = -1;
   int iMid = -1;
   double prMid, prBig;
   FiboPoints[0].price = 0; FiboPoints[1].price = 0;
   i = 0;
   cnt = 0;

   if(?????_????? == ?????)
   {
         while(true)
         {
            if(NP_BuferUp[i] !=0 || NP_BuferDn[i] !=0)
            {
               FiboPoints[cnt].time = Time[i]; 
               if(NP_BuferUp[i] !=0)
                  FiboPoints[cnt].price = NP_BuferUp[i]; 
               if(NP_BuferDn[i] !=0)
                  FiboPoints[cnt].price = NP_BuferDn[i]; 
               cnt++;
            }
            if(cnt > 1) break;

            i++;
            if (i>=Bars-1 || i>=BarsCount) break;
         }
   }

   if(?????_????? == ????????????)
   {
         while(true)
         {
            if(HP_BuferUp[i] !=0 || HP_BuferDn[i] !=0) 
            { 
                  iBig = i; 

                  if(HP_BuferUp[i] !=0) prBig = HP_BuferUp[i];
                  if(HP_BuferDn[i] !=0) prBig = HP_BuferDn[i];
                   break; 
            }

            if(NP_BuferUp[i] !=0 || NP_BuferDn[i] !=0)
            {
               iMid = i;
               if(NP_BuferUp[i] !=0) prMid = NP_BuferUp[i];
               if(NP_BuferDn[i] !=0) prMid = NP_BuferDn[i]; 

            }
            i++;
            if (i>=Bars-1 || i>=BarsCount) break;
         }
         if( iMid!= -1 && iBig != -1 && iBig > iMid)
         {
           FiboPoints[1].time = Time[iBig];
           FiboPoints[1].price = prBig;

           FiboPoints[0].time = Time[iMid];
           FiboPoints[0].price = prMid;

         }

   }

   if(FiboPoints[0].price != 0 && FiboPoints[1].price != 0)
      DrawF

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

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

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

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

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

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

Стоимость полного кода
1 102,80₽ ≈ $13.48