本帖最后由 r_r9_9 于 2025-3-27 15:21 编辑
《易得》v3.3.0\副图\指标
1. 问题标题
怀疑公式引擎动态参数解析异常或REF函数问题:
REF(LLV)在常量参数下与变量参数下结果有时不一致。
2. 问题描述
在使用易得公式时,发现以下现象:
当参数M和N以变量形式传递时,REF(LLV(LOW, M-N+1), N) 的计算结果与常量形式传递时结果有时不一致。
已验证数据完整、交易日历正确,且手动计算逻辑无误,推断问题可能出在引擎对动态变量的解析过程中或是REF函数问题。
3. 复现步骤
测试代码如下:
{ 基础参数 }
M1:最小1,最大50,缺省12
N1:最小1,最大50,缺省10
B1:最小2,最大50,缺省10
---
{动态计算M和N}
{M=基础周期+近期波动幅度系数}
TM:=STD(LOW,B1)/MA(LOW,B1)*100; {10日波动率百分比}
M2:=B1+INTPART(TM); {确保M为整数}
{N=基础周期-近期趋势强度系数}
TN:=(LOW/REF(LOW,B1)-1)*100; {10日涨跌幅百分比}
N2:=B1-INTPART(ABS(TN)); {确保N为整数}
N:MAX(N2,1),NODRAW; {保证N最小为1}
{自动确保M>N}
M:MAX(M2,N+1),NODRAW; {强制M至少比N大1};
{两种计算方法比较}
REF变量:REF(LLV(LOW,M-N+1),N),COLORGREEN; {REF+变量方式计算}
REF常数:REF(LLV(LOW,M1-N1+1),N1),COLORRED; {REF+常数方式计算};
4. 数据对比
以601162天风证券日线24年11月7日为例,
此时动态M=12、N=10、REF变量=2.66
此时静态M1=12、N1=10、REF常数=4.82
两者(REF变量与REF常数)结果不一致。
5. 补充说明
已在多券种、多区间手动验证和固定参数测试,差异仅出现在动态变量场景,因此怀疑为引擎解析问题或是REF函数问题,
可能是我对函数的理解存在偏差加上手动验证难免以点代面,但通过多组数据对比,现象稳定复现。
6. 请求支持
望指正反馈中的错误或者检查公式引擎对动态变量参数的解析逻辑,确认是否存在隐式的浮点转换、作用域覆盖或参数传递错误及函数问题,提供修复建议或临时规避方案。
26问题公式引擎动态参数解析异常或REF函数问题1
26问题公式引擎动态参数解析异常或REF函数问题
|