You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP扩展trader_stochrsi函数返回false的原因排查求助

关于trader_stochrsi()返回false的排查思路

我来帮你拆解下代码里可能导致返回bool(false)的问题,结合Trader扩展的特性来看:

  • 输入数据长度严重不足
    StochRSI指标的计算依赖足够的历史数据周期。你传入的数组只有1个元素array(5.5),但参数里指定的$timePeriod是14——这意味着函数至少需要14个连续的价格数据才能完成一次有效的计算,加上后续平滑用的周期,实际需要的数据量会更多。当输入数据长度小于指标所需的最小周期时,Trader扩展的函数通常会直接返回false。

  • 先确认Trader扩展是否正常工作
    可以先简单验证扩展是否正确加载:

    var_dump(extension_loaded('trader')); // 正常情况下应该返回bool(true)
    

    如果返回false,说明扩展没装好或者没在php.ini里启用,这会导致函数执行失败。

  • 检查参数是否符合函数要求
    虽然你传入的周期参数(14、3、3)都是正整数,看起来合法,但还是要确认trader_stochrsi的参数顺序是否匹配:函数的定义是trader_stochrsi(array $real, int $timePeriod = 14, int $fastKPeriod = 5, int $fastDPeriod = 3),你的调用顺序是对的,但如果后续调整参数,要注意不要搞混顺序。

  • 确保输入数据都是有效数值
    虽然你这次传入的是5.5没问题,但如果数组里存在非数值类型(比如字符串、null、NaN),函数也会返回false。可以先检查输入数组的元素类型,确保都是有效的float/int。

给你一个能正常运行的示例,需要传入至少14个以上的数值:

// 模拟14个连续价格数据
$prices = [5.5, 5.6, 5.4, 5.7, 5.5, 5.8, 5.6, 5.9, 5.7, 6.0, 5.8, 6.1, 5.9, 6.2];
$stochrsi = trader_stochrsi($prices, 14, 3, 3);
var_dump($stochrsi);

内容的提问来源于stack exchange,提问作者gs9999

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:05:05