Векторизованная функция kdb/q из циклов C++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Векторизованная функция kdb/q из циклов C++

Сообщение Anonymous »

Вот код C++ для расчета максимумов пивот, содержащий два вложенных цикла for:

Код: Выделить всё

std::vector
pivothigh(const std::vector &src,
const unsigned int left,
const unsigned int right) {
const auto nan = std::numeric_limits::quiet_NaN();
const auto N = src.size();
std::vector result(N, nan);
for (auto i = left; i < N - right; i++) {
const auto val = src[i];
bool is_pivot = true;
for (auto j = i - left; j  val) {
is_pivot = false;
break;
}
}
if (is_pivot) {
result[i] = val;
}
}
return result;
}
Как преобразовать приведенное выше в векторизованную функцию kdb/q: Pivothigh:{[src;left;right] ...? p>
Целью приведенной выше функции является расчет максимумов колебаний серий цен на ценные бумаги (), учитывая минимальное количество баров слева от него () и вправо (

Код: Выделить всё

lbr). Он призван соответствовать функциональности ta.pivothigh()
в Pine Script v5 от Tradingview.

Подробнее здесь: https://stackoverflow.com/questions/791 ... om-c-loops
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»