trendpowercurve.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.