Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
это я просто ошибся в одном месте в индюке
учет коэф. весов ничего не дает, отличия в тысячных
ну а то, что он скачет - это да
А вторую функцию не пробовал?
Картинки бы посмотреть... не индикатора а самой результирующей линии.
А вторую функцию не пробовал?
Картинки бы посмотреть... не индикатора а самой результирующей линии.
2ю не пробывал
не совсем понял какие картинки есть желание увидеть
индюк выкладываю, может он покажет эти картинки :)
Ерунда какая то с этим херстом. Добиться 0.5 не получилось (хотя давал на вход rnd()). Единицы тоже не получилось добиться, хотя подавал x(i)=i (ряд все время растет)
Файл прилагаю, версия маткада 14
Все получается, если взять n не от 1 до 10...а хотя бы до 3000
Твой второй вариант расчета тоже верен - опят таки подать больше данных...
Все получается, если взять n не от 1 до 10...а хотя бы до 3000
Твой второй вариант расчета тоже верен - опят таки подать больше данных...
А что дальше? Прицепил, никакой связи с котиром или я что-то не догоняю?
День добрый) Прочитал частично все страницы, но к сожалению не все алгоритмы понял. Похожий вопрос тут уже пролетал. Как я понял синтаксис MQL4 и Си прям почти один в один, но различны структуры и больше "библиотек" с различными статистическими функциями.
Написал алгоритм на Си, вот привожу кусок кода:
double Herst( double *S, int n)
{
double *h1 = (double *) malloc(sizeof(double ) * n),
*h2 = (double *) malloc(sizeof(double ) * n),
*h = (double *) malloc(sizeof(double ) * n),
*Hn = (double *) malloc(sizeof(double ) * n),
h_ = 0, Rn = 0, Sn = 0, RSn = 0;
h[0] = 0, h[1] = 0, Hn[0] = 0, Hn[1] = 0;
if( h == NULL || Hn == NULL || h1 == NULL || h2 == NULL )
{
printf("Not enought memory!!!\n");
return -1;
}
for( int i = 1; i < n ; i++ ) h[i-1] = log( S[i] / S[i-1] );
for(int i = 1; i < n; i++) Hn[i] = Hn[i-1] + h[i-1];
if( (n - 1) != 0) h_ = Hn[n - 1] / ( n - 1 );
h2[0] = (h[0] - h_) * (h[0] - h_);
h1[0] = (h[0] - h_);
for( int i = 1; i < n - 1; i++ )
{
h1[i] = h1[i-1] + (h[i] - h_);
h2[i] = h2[i-1] + (h[i] - h_) * (h[i] - h_);
}
qsort( (double *)h1, n-1, sizeof(T), Comp );
Rn = h1[n-2] - h1[0];
if( (n - 1) != 0 ) Sn = h2[n-2] / ( n - 1 );
if( (n - 1) == 0 ) Sn = h2[n-2];
RSn = Rn / Sn;
free(h);
free(Hn);
free(h1);
free(h2);
return RSn;
}
Далее в массивы запихиваются:
for( int i = n_min; i < n; i++ )
{
x1[i - n_min] = log( double( i * 0.5) );
y1[i - n_min] = log( Herst( S1, i ) );
}
и по МНК строится прямая.
Вопрос - периодический выскакивает значение больше 1, но очень редко. Не могу понять в чем ошибка. МНК проверял на простых прямых ( y=ax+b, для a={0,0.5,1,2,3} и b = {-1,0,1,2} )
Что делать если для первых 3-5ти значений выборки среднеквадратичное отклонение - 0? Получается RS равно бесконечности и эти точки просто не рассматривать?
А, да и главный - правильно ли я стою последовательность точек(в начале для n_min, потом для этих же n_min + следующее значение и т.д.) или же нужно отрезок из n делить на какие-то равные участки и для каждого считать?
Пытался сам разобраться, но спустя две недели опустил руки. Алгоритм строился на основе след. книг - Петерс "Фрактальный Анализ финансовых рынков" и "Основы финансовой математики" Ширяева.
День добрый) Прочитал частично все страницы, но к сожалению не все алгоритмы понял.
Пардон, что не по вопросу ответ, но возможно пригодится.
С тестовым примером зато.
Строго по Петерсу "Фрактальный Анализ финансовых рынков"
Пардон, что не по вопросу ответ, но возможно пригодится.
С тестовым примером зато.
Собственно тестовый файл. H~0.72
в результате получил вот такую упрощённую формулу для показателя Херста :
логически вроде бы всё верно,
хотя без логарифмов.
Долго преобразовывал чтоб ускорить расчёт,
в результате получил вот такую упрощённую формулу для показателя Херста :
логически вроде бы всё верно,
хотя без логарифмов.
Это не упрощенная формула для показателя Херста. Вы заблуждаетесь.
Способов расчета показателя Херста много и все они трудоемки. Вы какую упрощали?
И ваша формула по ходу может быть меньше нуля, что совсем не кстати.
Это не упрощенная формула для показателя Херста. Вы заблуждаетесь.
Способов расчета показателя Херста много и все они трудоемки. Вы какую упрощали?
И ваша формула по ходу может быть меньше нуля, что совсем не кстати.
Дело ведь не в абсолютных цифрах, а в идее.
Формула отображает отношение скорости регресии(угол) к стандартному отклонению, помоиму вполне в духе Херста.