本帖最后由 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函数问题 
 
 
 
 
 |