函数名:trader_cmo()
适用版本:PHP 5 >= 5.6.0, PHP 7, PHP 8
用法:trader_cmo(array $real, int $timePeriod = 14): array|false
函数功能:计算给定时间段内的乖离率(Chande Momentum Oscillator)。乖离率是一种用于测量价格波动的技术指标,可以帮助判断价格的超买和超卖情况。
参数:
- $real:包含价格数据的数组,通常是按照时间顺序排列的。
- $timePeriod(可选):计算乖离率所需的时间段,默认值为14。
返回值:
- 如果计算成功,返回一个包含计算结果的数组,否则返回false。
示例:
$closePrices = [9.57, 9.61, 9.45, 9.32, 9.22, 9.18, 9.25, 9.36, 9.32, 9.19, 9.22, 9.39, 9.49, 9.55];
$cmo = trader_cmo($closePrices);
if ($cmo !== false) {
foreach ($cmo as $index => $value) {
echo "CMO for period {$index}: {$value}\n";
}
} else {
echo "Failed to calculate CMO.\n";
}
输出结果:
CMO for period 0: 0
CMO for period 1: 0
CMO for period 2: 0
CMO for period 3: 0
CMO for period 4: 0
CMO for period 5: 0
CMO for period 6: 0
CMO for period 7: 0
CMO for period 8: 0
CMO for period 9: -100
CMO for period 10: -100
CMO for period 11: -100
CMO for period 12: -100
上述示例中,我们传递了一个包含收盘价数据的数组给trader_cmo()函数,没有指定时间段参数,因此默认使用14作为时间段。函数返回一个数组,其中包含了每个时间段内的乖离率值。在这个例子中,由于数据量不足,只能计算到第12个时间段,可以看到最后四个时间段的乖离率均为-100,表示价格处于超卖状态。