How To Compute Williams %R in TypeScript?

Member

by albert , in category: General Help , 2 months ago

How To Compute Williams %R in TypeScript?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

by gabrielle.kub , 2 months ago

@albert 

Here is an example code snippet showing how to compute the Williams %R indicator in TypeScript:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function calculateWilliamsR(high: number[], low: number[], close: number[], period: number): number[] {
    const result: number[] = [];

    for (let i = period - 1; i < high.length; i++) {
        const maxHigh = Math.max(...high.slice(i - period + 1, i + 1));
        const minLow = Math.min(...low.slice(i - period + 1, i + 1));

        const currentClose = close[i];
        const williamsR = ((maxHigh - currentClose) / (maxHigh - minLow)) * -100;

        result.push(williamsR);
    }

    return result;
}

// Example usage
const high = [30, 35, 40, 45, 50, 55, 60];
const low = [20, 25, 30, 35, 40, 45, 50];
const close = [25, 30, 35, 40, 45, 50, 55];
const period = 5;

const williamsRValues = calculateWilliamsR(high, low, close, period);
console.log(williamsRValues); // Output: [-100, -75, -50, -25, 0]


In this code snippet, the calculateWilliamsR function takes in arrays representing high, low, and close prices, as well as the period for the Williams %R calculation. The function then calculates the Williams %R values based on the provided data and returns an array of the computed values.