建行黄金杠杆 通达信如何编写选股公式?编写指南:从零开始定制你的量化策略
选股公式本质上是设定规则的计算器。它像一位不知疲倦的助手建行黄金杠杆,在三千多只股票中快速筛选出符合你预设条件的标的。通达信最新版(2025年8月)将公式分为四大类型:技术指标公式、条件选股公式、专家系统公式和五彩K线公式,其中条件选股公式专门用于批量筛选股票。
公式语言的三大核心要素如同烹饪的食材与工具:
■ 数据源:开盘价(OPEN)、收盘价(CLOSE)、最高价(HIGH)、最低价(LOW)、成交量(VOL)等基础行情数据,相当于食材中的主料
■ 函数库:200+内置函数如MA(计算均线)、REF(引用历史数据)、CROSS(判断交叉),好比预制好的调味包
■ 运算符:>(大于)、AND(逻辑与)、+(加法)等连接符,就像烹饪中的火候控制
二. 实战入门:五步创建首个选股公式1. 启动编辑器
按下`Ctrl+F`或点击“功能→公式系统→公式管理器”,在“条件选股公式”类别下点击“新建”。这个操作如同打开编程工作台。
2. 命名与描述
在公式属性栏填写名称如“量价齐升选股”,并简要说明“成交量放大+股价突破5日均线”。清晰的标注让日后维护不再迷茫。
3. 编写核心逻辑
以筛选放量上涨股为例:
VOL_COND := VOL/REF(VOL,1) > 1.8; // 成交量较前日放大80%
PRICE_COND := CLOSE > MA(CLOSE,5); // 收盘价站上5日均线
SELECT: VOL_COND AND PRICE_COND; // 同时满足两个条件
此处`//`后为注释语句,通达信执行时会自动忽略,只为增强可读性。
4. 调试与保存
点击“测试公式”,系统会检测语法错误。初次编写常遇的括号不匹配或函数名错误,会在这里被揪出。还记得我第一次写公式时,因少了个分号调试了半小时。
5. 执行选股
按`Ctrl+T`打开选股器,选择刚创建的公式,设置范围(如沪深A股),点击“执行选股”。2025年新版优化后,筛选3000只股票仅需8.6秒。
三. 进阶技巧:构建专业级策略多条件组合如同精密齿轮的咬合。这个案例融合均线、MACD与量能:
M5 := MA(C,5) > REF(MA(C,5),1); // 5日均线上扬
MACD_GOLD := CROSS(MACD.DIF,MACD.DEA); // MACD金叉
VOL_SPIKE := V/MA(V,10) > 1.5; // 成交量突增50%
SELECT: M5 AND MACD_GOLD AND VOL_SPIKE;
排除干扰项的智慧:
■ 剔除ST股:`DYNAINFO(17)=0`
■ 过滤次新股:`BARSCOUNT(C)>60` // 上市超60日
■ 避开创业板:`IF(CODELIKE('3'),0,1)`
这些设置如同给筛网添加滤层,让目标更精准。某用户添加过滤后,策略回测胜率提升了22%。
四. 避坑指南:新手常遇的三大雷区1. 语法陷阱
混淆`=`(赋值)与`==`(等于)是高频错误。当需要判断价格是否等于前收盘价时,必须用`CLOSE==REF(CLOSE,1)`而非单等号。
2. 函数误用
试图用`MA(VOL,5)`计算成交量均线正确,但若误写为`MA(5,VOL)`(参数顺序颠倒),系统将报错。这如同把盐罐和糖罐调换了位置。
3. 周期错配
引用周线数据需用`'000001$CLOSE#WEEK'`,若省略周期标记则默认按日线计算。我曾因此错判趋势,付出过试错成本。
五. 案例拆解:经典策略代码全景均线多头排列选股(适用趋势交易):
MA5 := MA(CLOSE,5);
MA20 := MA(CLOSE,20);
MA60 := MA(CLOSE,60);
COND1 := MA5 > MA20 AND MA20 > MA60; // 均线多头排序
COND2 := COUNT(CLOSE > MA5, 3) = 3; // 连续3日站上5日线
SELECT: COND1 AND COND2;
量价配合突破选股(捕捉启动点):
VOL_RATIO := VOL/REF(MA(VOL,10),1) > 2; // 成交量突破10日均量2倍
PRICE_BREAK := CLOSE > HHV(HIGH,20); // 股价创20日新高
SELECT: VOL_RATIO AND PRICE_BREAK;
六. 效率优化:让公式跑得更快避免三重循环嵌套这类高耗能结构。需要计算10日涨幅时,用`(C-REF(C,10))/REF(C,10)`替代循环语句,速度可提升15倍。
巧用中间变量减少重复计算:
TEMP_MA := MA(CLOSE,30); // 定义中间变量
COND_A := CLOSE > TEMP_MA;
COND_B := TEMP_MA > REF(TEMP_MA,5);
七. 调试与维护:公式的健康管理当公式输出异常时,分模块检查法最有效:先注释后半段代码,逐步解封定位问题段。新版通达信2025增加的“实时变量监控窗”,可动态观察计算过程中的数值变化。
数据完整性检查不可忽视。添加容错语句预防数据缺失:
有效收盘价 := IF(CLOSE==0, REF(CLOSE,1), CLOSE); // 处理零值异常
MA5 := MA(有效收盘价,5);
小陈的办公桌上,显示器分割成四个区域:左上角是自编的“量能突击队”选股公式运行界面,右上角展示着筛选出的7只标的,下方则是这些公司的基本面速览。他轻点鼠标调出资金流向分析——三周前还需要通宵完成的工作,现在只需一杯咖啡的时间。
掌握选股公式的投资者建行黄金杠杆,如同拥有了自己的金融实验室。那些看似冰冷的代码规则,实则是市场语言的解码器。当你在键盘上敲下第一个MA(C,5)时,便已推开量化交易世界的第一道门。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。