Адаптивная скользящая средняя
9 года 9 мес. назад - 9 года 9 мес. назад #74
от AlexLan
AlexLan создал тему: Адаптивная скользящая средняя
Михаил, добрый день (вечер) )))
Помогите пожалуйста, написать адаптивную скользящую среднею из статьи.
Пытался написать в Amibrokere не получилось ((
на C# в Tradematic получилось и хорошо работала. вот пример
DataSeries _FAMA2_(DataSeries a1, double Wmax, double alfa, double E_)
{
DataSeries MySeries= new DataSeries(Symbol, "MySeries");
DataSeries aa=new DataSeries(a1, "aa");
aa[0] = a1[0];
for (int bar = 1; bar <= a1.Count - 1; bar++)
{
double p1=Math.Abs((a1[bar]-aa[bar-1])/E_);
double p2=Math.Pow(p1, alfa);
double Wx=Wmax*(1-Math.Exp(-p2));
aa[bar]=aa[bar-1] + Wx*(a1[bar]-aa[bar-1]);
}
return aa;
}
// а1 - передаем цену Close, Open, .....
// Wmax, alfa, E_ - переменные из формулы
// DataSeries - эта тип переменной из Tradematic в ней записывается значение функции во времени (на каждом баре) .
Спасибо.
С уважением, Александр.
Файл не загружается. Пишет что большой размер. Пришлю Вам по почте.
Помогите пожалуйста, написать адаптивную скользящую среднею из статьи.
Пытался написать в Amibrokere не получилось ((
на C# в Tradematic получилось и хорошо работала. вот пример
DataSeries _FAMA2_(DataSeries a1, double Wmax, double alfa, double E_)
{
DataSeries MySeries= new DataSeries(Symbol, "MySeries");
DataSeries aa=new DataSeries(a1, "aa");
aa[0] = a1[0];
for (int bar = 1; bar <= a1.Count - 1; bar++)
{
double p1=Math.Abs((a1[bar]-aa[bar-1])/E_);
double p2=Math.Pow(p1, alfa);
double Wx=Wmax*(1-Math.Exp(-p2));
aa[bar]=aa[bar-1] + Wx*(a1[bar]-aa[bar-1]);
}
return aa;
}
// а1 - передаем цену Close, Open, .....
// Wmax, alfa, E_ - переменные из формулы
// DataSeries - эта тип переменной из Tradematic в ней записывается значение функции во времени (на каждом баре) .
Спасибо.
С уважением, Александр.
Файл не загружается. Пишет что большой размер. Пришлю Вам по почте.
Последнее редактирование: 9 года 9 мес. назад пользователем AlexLan.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 9 мес. назад - 9 года 5 мес. назад #81
от admin
admin ответил в теме Адаптивная скользящая средняя
Александр, ну как-то так:
function FAMA2(array,Wmax,alfa,E_)
{ for (bar = 1; bar < BarCount; bar++)
{
p1 = abs((array[bar]-array[bar-1])/E_);
p2 = p1 ^ alfa;
Wx = Wmax*(1-exp(-p2));
result[bar]=array[bar-1] + Wx*(array[bar]-array[bar-1]);
}
return result;
}
Последнее редактирование: 9 года 5 мес. назад пользователем admin.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 9 мес. назад - 9 года 9 мес. назад #82
от AlexLan
AlexLan ответил в теме Адаптивная скользящая средняя
Михаил, спасибо.
Сейчас попробую.
Сейчас попробую.
Последнее редактирование: 9 года 9 мес. назад пользователем AlexLan.
Спасибо сказали: Alexfruse
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 9 мес. назад #83
от AlexLan
AlexLan ответил в теме Адаптивная скользящая средняя
Михаил.
Вот так наверно правильней ))))
function FAMA2(array,Wmin,Wmax,alfa,E_)
{
result[0]=array[0];
for (bar = 1; bar < BarCount; bar++)
{
p1 = abs((array[bar]-result[bar-1])/E_);
p2 = p1 ^ alfa;
Wx = (Wmax-Wmin)*(1-exp(-p2));
result[bar]=result[bar-1] + Wx*(array[bar]-result[bar-1]);
}
return result;
}
Вид графика как в статье.
Вот так наверно правильней ))))
function FAMA2(array,Wmin,Wmax,alfa,E_)
{
result[0]=array[0];
for (bar = 1; bar < BarCount; bar++)
{
p1 = abs((array[bar]-result[bar-1])/E_);
p2 = p1 ^ alfa;
Wx = (Wmax-Wmin)*(1-exp(-p2));
result[bar]=result[bar-1] + Wx*(array[bar]-result[bar-1]);
}
return result;
}
Вид графика как в статье.
Спасибо сказали: darshan
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 9 мес. назад #84
от admin
admin ответил в теме Адаптивная скользящая средняя
Именно, Александр!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 9 мес. назад - 9 года 9 мес. назад #85
от AlexLan
AlexLan ответил в теме Адаптивная скользящая средняя

Последнее редактирование: 9 года 9 мес. назад пользователем AlexLan.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Модераторы: admin