Инструменты без запаздывания - страница 46

 

Я не понимаю, где моя ошибка

пи = 3.1415926535

Цикл=4

Длина=9

Коэфф = 3*pi

Фаза = Длина-1

Len = Length*Cyclee + Phase

for i=0 to Len-1

если i<=Phase-1, то

t = 1.0*i/(Фаза-1)

иначе

t = 1.0 + (i-Фаза+1)*(2.0*Цикл-1.0)/(Цикл*Длина-1.0)

endif

beta = Cos(pi*t)

g = 1.0/(Коэф*t+1)

если t <= 0.5, то

g = 1

endif

alfa = g * beta

следующий

 
zilliq:
Я не понимаю, где моя ошибка

пи = 3.1415926535

Цикл=4

Длина=9

Коэфф = 3*пи

Фаза = Длина-1

Len = Length*Cyclee + Phase

for i=0 to Len-1

если i<=Phase-1, то

t = 1.0*i/(Фаза-1)

иначе

t = 1.0 + (i-Фаза+1)*(2.0*Цикл-1.0)/(Цикл*Длина-1.0)

endif

beta = Cos(pi*t)

g = 1.0/(Коэф*t+1)

если t <= 0.5, то

g = 1

endif

alfa = g * beta

следующий

zilliq

У вас должен быть массив alfa

 

Спасибо, Младен,

Но что значит "массив альф"?

Что-то любопытно, что я не вижу, где я включаю цену.

Спасибо за следующий ответ

Zilliq

 
zilliq:
Спасибо Младен,

Но что значит "массив альф"?

Что-то любопытно, что я не вижу, где я включаю цену.

Спасибо за следующий ответ

Zilliq

Zilliq

Посмотрите на эту часть кода :

double sum = 0, sumw = 0;

for (k=0; k =0; k++) { sum += nlmalphas[k]*nlmprices[r-k]; sumw += nlmalphas[k]; }

if (sumw!=0)

return(sum/sumw);

else return(price);

Там используются цены (каждая со своим альфа - к каждой цене в массиве цен len применяется своя альфа в качестве весового коэффициента - вот почему вы храните массив альф различных значений в массиве - чтобы иметь возможность применить их к соответствующей цене).

 

Всегда так быстро отвечаете

Хорошо, я думаю, я пойму, это будет нелегко, но я попробую.

Спасибо за все и хорошего дня

Zilliq

 
zilliq:
Всегда так быстро отвечаю

Хорошо, я думаю, я пойму, это будет нелегко кодировать, но я попробую.

Спасибо за все и хорошего дня

Zilliq

Счастливого кодирования

 

Конверты Nonlag ma.

Обновленная версия размещена здесь: https: //www.mql5.com/en/forum/general

Файлы:
 

Эта версия NonLag MA histo с алертами также обновлена, чтобы использовать новый способ расчета NonLag ma : nonlag_ma_histo_mtfalerts-1_nmc.mq4

Первоначально она была размещена здесь: https: //www.mql5.com/en/forum/general

 

Привет, Младен,

Все вроде бы хорошо, но можете ли вы подтвердить, что в конце кода

1/ Нам нужно добавить все alfa*price

и

2/ Мы делим эту сумму на сумму всех alfa?

с i=0 до Len-1

Спасибо большое и хорошего дня

Zilliq

mladen:
Счастливого кодирования
Файлы:
cac40_index.png  30 kb
 
zilliq:
Привет, Младен,

Вроде бы все нормально, но можете ли вы подтвердить, что в конце кода

1/ Мы должны добавить все alfa*price

и

2/ Мы делим эту сумму на сумму всех alfa?

с i=0 до Len-1

Спасибо большое и хорошего дня

Zilliq

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

NonLag ma - это просто своего рода цифровой фильтр с коэффициентами для каждой цены в определенной позиции (как SMA - цифровой фильтр со всеми коэффициентами, установленными в 1). Если вы помните это, то вам будет легче понять, что вы делаете.