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

JS_CC_Trend

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

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

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

О программе

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

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

НастройкаОписание
CandleBars Число баров свечи уровня 1 — Количество баров для формирования свечи первого уровня.
LookBack Период сравнения цен — Количество баров для сравнения цен при определении направления движения.
DoShow1 Отображение свечи уровня 1 — Включает или отключает отображение свечи первого уровня.
DoShow2 Отображение свечи уровня 2 — Включает или отключает отображение свечи второго уровня.
DoShow3a Отображение свечи уровня 3A — Включает или отключает отображение свечи третьего уровня A.
DoShow3b Отображение свечи уровня 3B — Включает или отключает отображение свечи третьего уровня B.
DoFill1 Заливка свечи уровня 1 — Включает или отключает заливку свечи первого уровня.
DoFill2 Заливка свечи уровня 2 — Включает или отключает заливку свечи второго уровня.
DoFill3a Заливка свечи уровня 3A — Включает или отключает заливку свечи третьего уровня A.
DoFill3b Заливка свечи уровня 3B — Включает или отключает заливку свечи третьего уровня B.
CandleLineWidth1 Толщина линии уровня 1 — Толщина линии свечи первого уровня.
CandleLineStyle1 Стиль линии уровня 1 — Стиль линии свечи первого уровня.
CandleLineWidth2 Толщина линии уровня 2 — Толщина линии свечи второго уровня.
CandleLineStyle2 Стиль линии уровня 2 — Стиль линии свечи второго уровня.
CandleLineWidth3 Толщина линии уровня 3 — Толщина линии свечи третьего уровня.
CandleLineStyle3 Стиль линии уровня 3 — Стиль линии свечи третьего уровня.
CandleColor1 Цвет свечи уровня 1 — Цвет свечи первого уровня.
CandleColor2 Цвет свечи уровня 2 — Цвет свечи второго уровня.
CandleColor3a Цвет свечи уровня 3A — Цвет свечи третьего уровня A.
CandleColor3b Цвет свечи уровня 3B — Цвет свечи третьего уровня B.
Получить полный код

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

#property indicator_chart_window

extern int CandleBars = 2;
extern int LookBack = 1;
extern bool DoShow1 = true;
extern bool DoShow2 = true;
extern bool DoShow3a = false;
extern bool DoShow3b = false;
extern bool DoFill1 = false;
extern bool DoFill2 = true;
extern bool DoFill3a = false;
extern bool DoFill3b = false;
extern int CandleLineWidth1 = 1;
extern int CandleLineStyle1 = 0;
extern int CandleLineWidth2 = 1;
extern int CandleLineStyle2 = 0;
extern int CandleLineWidth3 = 3;
extern int CandleLineStyle3 = 0;
extern color CandleColor1 = Black;
extern color CandleColor2 = Red;
extern color CandleColor3a = PowderBlue;
extern color CandleColor3b = GreenYellow;

datetime LastBar;
int Count1Up = 0, Count1Down = 0;
int Count2Up = 0, Count2Down = 0;
int Count3a = 1, Count3b = 0;
int CustomBars1 = 0, CustomBars2 = 0, CustomBars3a = 0, CustomBars3b = 0;

int digits;
double points;

double Open1, Close1, Open2, Close2, Open3a, Close3a, Open3b, Close3b;

bool FillIt[4];
int LineWidth[4], LineStyle[4], CCBars[4];
color CandleClr[4];

string TAG = "JS_CC_Trend";

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

void ObDeleteObjectsByPrefix(string Prefix)
{
   int L = StringLen(Prefix);
   int i = 0; 
   while(i < ObjectsTotal())
     {
       string ObjName = ObjectName(i);
       if(StringSubstr(ObjName, 0, L) != Prefix) 
         { 
           i++; 
           continue;
         }
       ObjectDelete(ObjName);
     }
}

int deinit()
{

   ObDeleteObjectsByPrefix(TAG);  

   return(0);

} // deinit();

int start() 
{
      // код доступен только после оплаты
   }
   int limit;
   int i;
   string n;

   limit = iBarShift(Symbol(), 0, LastBar) - 1;

   for (i=limit; i>0; i--)
   {
      if (Close[i] > Close[i+LookBack])
      {
         if (Count1Up == (CandleBars - 1))
         {
            CustomBars1++;
            n = TAG + " Lev1 " + CustomBars1;
            Open1 = Close1;
            Close1 = Close[i];
            if (DoShow1)
               DoPaint(n, i, 0, Open1, Close1);

            if (Close1 > Open1)
            {
               if (Count2Up == (CandleBars-1))
               {
                  CustomBars2++;
                  n = TAG + " Lev2 " + CustomBars2;
                  Open2 = Close2;
                  Close2 = Close[i];
                  if (DoShow2)
                     DoPaint(n, i, 1, Open2, Close2);

                  if (Count3a == (CandleBars-1))
                  {
                     CustomBars3a++;
                     n = TAG + " Lev3a " + CustomBars3a;
                     Open3a = Close3a;
                     Close3a = Close[i];
                     if (DoShow3a)
                        DoPaint(n, i, 2, Open3a, Close3a);
                  } // Complete level 3a bar 

                  if (Count3b == (CandleBars-1))
                  {
                     CustomBars3b++;
                     n = TAG + " Lev3b " + CustomBars3b;
                     Open3b = Close3b;
                     Close3b = Close[i];
                     if (DoShow3b)
                        DoPaint(n, i, 3, Open3b, Close3b);
                  } // Complete level 3b bar

                  Count3a++;
                  Count3b++;
                  Count3a %= CandleBars;
                  Count3b %= CandleBars;
               } // Complete level 2 up bar;

               Count2Up++;
               Count2Up %= CandleBars;
               Count2Down = 0;
            } // increment for level 2 up
            else
               if (Close1 < Open1)
              {
                  if (Count2Down == (CandleBars-1))
                  {
                     CustomBars2++;
                     n = TAG + " Lev2 " + CustomBars2;
                     Open2 = Close2;
                     Close2 = Close[i];
                     if (DoShow2)
                        DoPaint(n, i, 1, Open2, Close2);

                     if (Count3a == (CandleBars-1))
                     {
                        CustomBars3a++;
                        n = TAG + " Lev3a " + CustomBars3a;
                        Open3a = Close3a;
                        Close3a = Close[i];
                        if (DoShow3a)
                           DoPaint(n, i, 2, Open3a, Close3a);
                     } // Complete level 3a bar 

                     if (Count3b == (CandleBars-1))
                     {
                        CustomBars3b++;
                        n = TAG + " Lev3b " + CustomBars3b;
                        Open3b = Close3b;
                        Close3b = Close[i];
                        if (DoShow3b)
                  

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

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

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

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

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

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

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