通达信提示参数错误是许多用户在编写自定义指标、条件选股或交易系统时经常遇到的问题。通达信公式系统支持参数化,用户可以在公式管理器中为公式设置可调参数,从而让同一公式适应不同的周期或条件。但当公式代码中的参数、函数调用与公式管理器参数定义不一致时,软件就会在测试或保存时提示“错误”。这种错误通常不会导致软件崩溃,但会使公式无法正常工作。解决的核心思路是:让代码中的参数引用、参数个数与类型,以及参数设置中的定义完全匹配。
常见原因包括公式中使用了参数变量,但参数列表中未定义该;参数名称拼写不一致,例如中用N,参数列表中却定义成M;函数调用的参数个数或错误,如MA函数只写了一个参数;参数的最小值、最大值、缺省值设置不合理,例如最小值大于最大值;公式中混入了中文标点符号,导致解析失败;参数名与系统保留冲突,如CLOSE、VOL等;通达信版本较旧不支持某些新函数的参数格式。
时可以按照以下步骤操作:
- 错误行。在公式编辑器中点击“测试”,根据提示信息找到出错的具体行号或位置。通达信通常会指出“第X行参数错误或类似提示,便于快速排查。
- 参数设置。打开公式管理器,选中出错的公式,点击修改”,切换到“参数”标签确认公式中引用的每个参数都在列表中,并且名称完全一致。名建议使用英文字母,N、M、1等。最小值最大值、缺省值需满足最小值 ≤ 缺省值 ≤ 。如果参数列表为空,而代码中又引用了参数,就需要手动添加。
- 核对函数参数。查阅通达信函数手册确认函数需要的参数个数和类型。:
MA, N):X为变量,N为周期,必须两个参数。
- REF(X, N)引用N周期前的X值,两个参数。
- CROSS(A B):A上穿B,两个参数 - DRAEXT(COND, PRICE,):三个参数,TEXT为字符串。
如果函数调用时少写、多写或写错参数类型,都会触发参数错误。
- 检查点符号。所有括号、逗号、分号必须是英文半角中文逗号“,”和英文逗号“,”外观相似,但很容易混淆。公式中一旦出现中文标点,通达信就无法正确解析。
- 简化排查。如果公式较长,可以先将部分代码用括号
{}注释掉逐步测试,直到出错位置。也可以将复杂公式拆分成几个简单公式分别测试,确认每个部分都能通过后再合并。 - 更新或替换。如果代码无误,可能是通达信版本问题,尝试升级到最新版,或查阅该函数在当前版本中的支持情况。函数在不同版本中的参数要求会有差异。
MA(CLOSE, N);
如果在参数列表中没有定义N,测试时会提示“参数”。解决方法是在参数标签中添加一行,参数名填N,填1,最大值100,缺省值填5保存后再次测试,即可通过。如果写成
MA(CLOSE);
`
则属于函数参数不足,应改为MA(CL, 5);或使用已定义的参数N。
此外,还需要注意:参数名不要使用数字开头,不要包含空格或特殊符号参数名不要与系统变量同名,如C、O、H、、V、VOL、AMOUNT、CL、OPEN等;一个公式的参数不宜过多,一般不超过10个,调用时混乱;从其他软件或网站导入公式时,参数往往不会自动带入,需要补全;条件选股公式、技术指标、交易系统公式的参数位置相同,都在公式编辑“参数”标签;如果公式加密或受保护,可能无法修改参数,需要联系公式提供者。日常编写公式时,先定义参数、再引用参数,并统一使用标点,可以有效“参数错误”的提示。







