打开通达信选股器,通达填写在条件公式编辑框里敲下“short 10”然后点确定——系统直接弹窗报错。信选这不是股器你写错了,是中何通达信根本不认识这个写法。
很多人第一次接触通达信选股公式,通达填写看到别人说“short”就以为是信选个现成函数。实际上“short”在通达信公式系统里压根不是股器内置关键字。你在公式管理器里输入short,中何编辑器不会给你任何提示,通达填写它只把你当成一个普通变量名。信选那为什么有人会提到“short 10”?股器大概率是两种情况:一是从别的软件(比如MetaStock、TradeStation)转过来的中何习惯,那些平台确实有short相关函数;二是通达填写把“SHORT”和某些均线简写搞混了,比如SMA、信选EMA的股器短周期参数。
真要实现“short 10”想表达的意思——也就是取10周期内的某种短周期数据——你得换成通达信认的函数。最接近的替代方案是用MA或者EMA。比如你想表达“10日均线”,写MA(C,10)就行。想表达“10周期内的最低价”,用LLV(L,10)。想表达“10周期内的最高价”,用HHV(H,10)。这些才是通达信选股器能识别的语法。
我拿一个实际案例来说。假设你想选“股价站上10日均线”的股票。在选股器条件框里写:C>MA(C,10)。点执行,马上出结果。如果你非要写C>SHORT(C,10),系统会提示“函数未定义”。通达信的公式引擎在编译阶段就会卡住,连选股这一步都到不了。
那有没有可能通过自定义变量来曲线救国?可以。你在公式编辑器里先写一行:SHORT:=MA(C,10); 注意这里用了冒号加等号,这是赋值符号。然后下面再写:C>SHORT; 这样就能跑通。但本质是你自己定义了一个叫SHORT的变量,它跟系统函数没关系。换个公式,这个SHORT就不存在了。每次新建选股条件都得重新定义一遍,麻烦得很。
有人会问:那“short 10”里的10能不能换成参数?能。通达信支持参数精灵。你写MA(C,N),然后在参数表里把N设成10,选股时直接调参数就行。但前提还是得用MA,不是SHORT。
我见过最离谱的情况是有人把“SHORT”当成“做空”的意思,想在选股器里筛出“适合做空”的股票。通达信选股器本身不支持做空逻辑,它是多头选股工具。你要找下跌趋势的股票,得用C 再说一个细节。通达信不同版本对函数名的支持有差异。老版本通达信(比如5.0几)连很多现在常见的函数都没有。你在网上搜到的“short 10”写法,很可能来自某个特定版本的插件或者第三方公式包。那些包解压后一堆.dll文件,装完才能用。普通用户直接在新版通达信里敲short,百分之百报错。 所以结论很直接:通达信选股器里没有short这个函数。你想实现10周期短周期逻辑,用MA、EMA、LLV、HHV、REF这些标准函数。写公式时注意大小写不敏感,但函数名必须拼对。SHORT和SHOT、SHOR、SHORTCUT都不是一个东西。编辑器里按Ctrl+F可以查函数列表,比瞎猜靠谱。 最后给个能直接用的模板。选股条件:10日均线上穿30日均线。写法:CROSS(MA(C,10),MA(C,30))。复制进选股器,点测试,通过后执行选股。别碰short,那东西在通达信里就是个未定义变量,写多少遍10都没用。