How To Compute Stochastic Oscillator using C++?

by winifred.greenfelder , in category: Technical Analysis , 2 months ago

How To Compute Stochastic Oscillator using C++?

Facebook Twitter LinkedIn Whatsapp

1 answer

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 <iostream>
#include <vector>

// Function to calculate Stochastic Oscillator
std::vector<double> stochasticOscillator(const std::vector<double>& closePrices, int period) {
    std::vector<double> 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<double> 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<double> 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.