Оптимизация циклов
7 года 8 мес. назад - 7 года 8 мес. назад #905
от aal6
aal6 создал тему: Оптимизация циклов
Добрый вечер!
Подскажите, пожалуйста можно ли оптимизировать такой код
result = 0;
delta = 0.1;
for( i =100 ; i<BarCount-1; i++)
{
for( j = i-1; j>1; j--)
{
if(С[ i ]*(1-delta) > С[j])
{
result[ i ] = 1;
break;
}
if(C[ i ] < C[j])
break;
}
}
В таком виде слишком тормозит
.
Подскажите, пожалуйста можно ли оптимизировать такой код
result = 0;
delta = 0.1;
for( i =100 ; i<BarCount-1; i++)
{
for( j = i-1; j>1; j--)
{
if(С[ i ]*(1-delta) > С[j])
{
result[ i ] = 1;
break;
}
if(C[ i ] < C[j])
break;
}
}
В таком виде слишком тормозит

Последнее редактирование: 7 года 8 мес. назад пользователем aal6. Причина: пропали скобки массива
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
7 года 8 мес. назад - 7 года 8 мес. назад #906
от admin
admin ответил в теме Оптимизация циклов
Понятное дело, что тормозить будет нещадно.
Чего вам хочется добиться (из фрагмента это не слишком понятно) ?
Чего вам хочется добиться (из фрагмента это не слишком понятно) ?
Последнее редактирование: 7 года 8 мес. назад пользователем admin.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
7 года 8 мес. назад - 7 года 8 мес. назад #907
от aal6
aal6 ответил в теме Оптимизация циклов
Результат - гистерезис цены от истории на неопределенном интервале. Последнее не дает эффективно использовать стандартные функции, цикл с расширяющейся областью поиска стандартными функциями практически вешает Ами.
Можно ли сделать эффективно подобный расчет без использования внешних модулей?
По идее реализация не сильно отличается от встроенных функций, типа HHV/BarsSince, но быстродействие отличается на два порядка.
Можно ли сделать эффективно подобный расчет без использования внешних модулей?
По идее реализация не сильно отличается от встроенных функций, типа HHV/BarsSince, но быстродействие отличается на два порядка.
Последнее редактирование: 7 года 8 мес. назад пользователем aal6.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
7 года 8 мес. назад #908
от admin
admin ответил в теме Оптимизация циклов
Разве в функции типа HHV или barssince нельзя подсунуть в качестве параметра массив, а не константу?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
7 года 8 мес. назад #909
от aal6
aal6 ответил в теме Оптимизация циклов
Они вроде с константами не работают. Разве в качестве периода, можно подсунуть массив?
Не могу понять можно ли посчитать без циклов выражение вида
result = BarsSince(С[BarCount-1] *(1-delta) > С) , где первая часть сравнения константа, но для каждого бара своя.
Проблема в том что BarsSince строит на выходе массив, а из него мне нужна только последняя точка. И для каждого бара приходится запускать BarsSince со своей константой.
Вот и не пойму, можно ли оптимизировать это в рамках AFL? Обсчет такой функции, на первый взгляд, не сложнее EMA
.
Не могу понять можно ли посчитать без циклов выражение вида
result = BarsSince(С[BarCount-1] *(1-delta) > С) , где первая часть сравнения константа, но для каждого бара своя.
Проблема в том что BarsSince строит на выходе массив, а из него мне нужна только последняя точка. И для каждого бара приходится запускать BarsSince со своей константой.
Вот и не пойму, можно ли оптимизировать это в рамках AFL? Обсчет такой функции, на первый взгляд, не сложнее EMA

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