How To Calculate Commodity Channel Index (CCI) using Kotlin?

by cathrine_goyette , in category: General Help , 9 months ago

How To Calculate Commodity Channel Index (CCI) using Kotlin?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

by thelma.stanton , 9 months ago

@cathrine_goyette 

Here's how you can calculate the Commodity Channel Index (CCI) using Kotlin:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
fun calculateCCI(prices: List<Double>, period: Int): List<Double> {
    val cciValues = mutableListOf<Double>()

    for (i in period until prices.size) {
        val tp = prices.subList(i - period, i).sum() / period // Typical Price calculation
        val meanDeviation = prices.subList(i - period, i).map { Math.abs(it - tp) }.sum() / period // Mean Deviation calculation

        val cci = (tp - prices[i]) / (0.015 * meanDeviation) // CCI calculation
        cciValues.add(cci)
    }

    return cciValues
}

fun main() {
    val prices = listOf(10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 22.0) // Sample prices data
    val period = 4 // CCI period

    val cciValues = calculateCCI(prices, period)
    println("CCI values: $cciValues")
}


In this code snippet, the calculateCCI function takes a list of prices and a period as input parameters, and calculates the CCI values for the given prices based on the specified period. The function returns a list of calculated CCI values.


In the main function, we provide a sample list of prices and a period, and then call the calculateCCI function to calculate the CCI values. Finally, the calculated CCI values are printed to the console.


You can modify the sample prices and period values as needed to calculate the CCI for different datasets.