Векторизованная функция 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

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