Menu Close

JavaScript Finance: Stochastic oscillator for scalping buy sell

// Define a function to calculate the stochastic oscillator
function stochasticOscillator(close, low, high, n) {
  let k = 100 * (close - lowestLow(low, n)) / (highestHigh(high, n) - lowestLow(low, n));
  return k;
}

// Define a function to calculate the highest high over the past "n" periods
function highestHigh(high, n) {
  let highestHigh = high[0];
  for (let i = 1; i < n; i++) {
    if (high[i] > highestHigh) {
      highestHigh = high[i];
    }
  }
  return highestHigh;
}

// Define a function to calculate the lowest low over the past "n" periods
function lowestLow(low, n) {
  let lowestLow = low[0];
  for (let i = 1; i < n; i++) {
    if (low[i] < lowestLow) {
      lowestLow = low[i];
    }
  }
  return lowestLow;
}

// Define the input arrays
let close = [1, 2, 3, 4, 3, 2, 1];
let low = [1, 1, 1, 1, 1, 1, 1];
let high = [2, 3, 4, 5, 6, 7, 8];

// Set the number of periods to use in the calculation
let n = 3;

// Calculate the stochastic oscillator
let k = stochasticOscillator(close, low, high, n);

// Print the result
console.log(k);

// Use the stochastic oscillator to generate buy and sell signals
if (k < 20) {
  console.log('BUY');
} else if (k > 80) {
  console.log('SELL');
} else {
  console.log('HOLD');
}

This code first defines the stochasticOscillator() function, which takes the closing prices, low prices, high prices, and the number of periods to use in the calculation as inputs. It then uses these inputs to calculate the stochastic oscillator and returns the result.

Next, the code defines two helper functions: highestHigh() and lowestLow(), which are used to calculate the highest and lowest values of the given input arrays over the specified number of periods.

The code then sets up the input arrays and the number of periods and calculates the stochastic oscillator utilizing the stochasticOscillator() function. Finally, it uses the resulting value of the stochastic oscillator to generate buy, sell, or hold signals.

This is just an example of how to use a stochastic oscillator in JavaScript for scalping buy and sell signals. You can modify the code to fit your specific needs.

Note: A key difference between RSI and Stochastic is the way they are used to generate buy and sell signals. The RSI is typically used to generate buy and sell signals when it reaches overbought or oversold levels. This means that a buy signal is generated when the RSI falls below a certain level (usually around 30), and a sell signal is generated when the RSI rises above another level (usually around 70). The stochastic oscillator, on the other hand, is typically used to generate buy and sell signals when the two lines that make up the indicator cross over each other. This means that a buy signal is generated when the faster line (typically called the %K line) crosses above the slower line (typically called the %D line), and a sell signal is generated when the %K line crosses below the %D line.

Leave a Reply

Your email address will not be published. Required fields are marked *