# How To Compute Stochastic Oscillator using C++?

, in category: Technical Analysis , 2 months ago

How To Compute Stochastic Oscillator using C++?

Member

by amparo , 2 months ago

﻿@winifred.greenfelder ﻿

Here is a sample code in C++ that calculates the Stochastic Oscillator:

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ``` ```#include #include // Function to calculate Stochastic Oscillator std::vector stochasticOscillator(const std::vector& closePrices, int period) { std::vector stochasticOscillatorValues; for (int i = period - 1; i < closePrices.size(); ++i) { double highestHigh = closePrices[i]; double lowestLow = closePrices[i]; // Calculate highest high and lowest low in the period for (int j = i - period + 1; j <= i; ++j) { if (closePrices[j] > highestHigh) { highestHigh = closePrices[j]; } if (closePrices[j] < lowestLow) { lowestLow = closePrices[j]; } } // Calculate %K double k = ((closePrices[i] - lowestLow) / (highestHigh - lowestLow)) * 100; stochasticOscillatorValues.push_back(k); } return stochasticOscillatorValues; } int main() { // Sample close prices data std::vector closePrices = {10.0, 12.0, 11.0, 15.0, 14.0, 13.0, 16.0, 17.0, 18.0, 19.0, 20.0}; // Period for Stochastic Oscillator int period = 5; // Calculate Stochastic Oscillator values std::vector stochasticValues = stochasticOscillator(closePrices, period); // Display the calculated Stochastic Oscillator values for (int i = 0; i < stochasticValues.size(); ++i) { std::cout << "Stochastic Oscillator value for Day " << i + period << ": " << stochasticValues[i] << "%" << std::endl; } return 0; } ```

In this code snippet, the `stochasticOscillator` function takes in a vector of closing prices and a period as input, and calculates the Stochastic Oscillator values based on the given period length. The main function uses sample close prices data and a period of 5 days to calculate the Stochastic Oscillator values and display them on the console.

Please note that this is a basic implementation and may need to be adjusted based on your specific requirements or the data structure you are working with.