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

trendpowercurve.mq5

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

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

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

О программе

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

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

НастройкаОписание
bars_back Количество баров назад — Число баров, используемых для расчёта регрессионной кривой и полос отклонения
m Степень полинома — Степень полинома аппроксимации, определяющая сложность расчётной кривой
i Начальный бар — Индекс начального бара, с которого начинается расчётный период
kstd Множитель стандартного отклонения — Множитель для расчёта ширины полос отклонения вокруг кривой
sName Идентификатор маркера — Числовой идентификатор, используемый в имени графического объекта-маркера на графике
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 RoyalBlue
#property indicator_color2 LimeGreen
#property indicator_color3 LimeGreen
#property indicator_color4 Goldenrod
#property indicator_color5 Goldenrod

extern int bars_back = 125;
extern int m = 2;
extern int i = 0;
extern double kstd = 2.0;
extern int sName = 1102;

double fx[], sqh[], sql[], stdh[], stdl[];
double ai[10,10], b[10], x[10], sx[20];
double sum;
int    ip, p, n, f;
double qq, mm, tt;
int    ii, jj, kk, ll, nn;
double sq, std;

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

int deinit()
{
   ObjectDelete("pr" + sName);
}

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

   ip = iBarShift(Symbol(), Period(), ObjectGet("pr" + sName, OBJPROP_TIME1));
   p = bars_back; 
   sx[1] = p + 1;
   SetIndexDrawBegin(0, Bars - p - 1);
   SetIndexDrawBegin(1, Bars - p - 1);
   SetIndexDrawBegin(2, Bars - p - 1);
   SetIndexDrawBegin(3, Bars - p - 1);
   SetIndexDrawBegin(4, Bars - p - 1); 

   for(mi = 1; mi <= nn * 2 - 2; mi++)
   {
      sum = 0;
      for(n = i; n <= i + p; n++)
      {
         sum += MathPow(n, mi);
      }
      sx[mi + 1] = sum;
   }  

   for(mi = 1; mi <= nn; mi++)
   {
      sum = 0.00000;
      for(n = i; n <= i + p; n++)
      {
         if(mi == 1)
            sum += Close[n];
         else
            sum += Close[n] * MathPow(n, mi - 1);
      }
      b[mi] = sum;
   } 

   for(jj = 1; jj <= nn; jj++)
   {
      for(ii = 1; ii

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

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

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

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

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

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

Стоимость полного кода
223,60₽ ≈ $2.73