指标源码
中心重力和去势振荡器指标,用于判断行情走势.
COG:-1 *(REF(C,10)*(REF(C,10)+1))/(REF(C,10))+C;
DO:MA(C- MA(C,16),3);
0,DOTLINE;
1. 代码整体结构与含义
下面把通达信指标 COG(中心重力) 与 DO(去势振荡器) 的公式逐行拆解,帮助你快速把握它的计算逻辑与用途。
中心重力和去势振荡器指标,用于判断行情走势.
COG:-1 *(REF(C,10)*(REF(C,10)+1))/(REF(C,10))+C;
DO:MA(C- MA(C,16),3);
0,DOTLINE;
| 行号 | 内容 | 解释 |
|---|---|---|
| 1 | 中心重力和去势振荡器指标,用于判断行情走势. |
注释(说明指标目的) |
| 2 | COG:-1 *(REF(C,10)*(REF(C,10)+1))/(REF(C,10))+C; |
COG(中心重力)指标的计算式 |
| 3 | DO:MA(C- MA(C,16),3); |
DO(去势振荡器)指标的计算式 |
| 4 | 0,DOTLINE; |
在零轴上绘制一条点线(辅助判断正负区间) |
2. 公式逐行解析
2.1 COG(中心重力)
COG = -1 * ( REF(C,10) * (REF(C,10)+1) ) / REF(C,10) + C
REF(C,10):收盘价 10 根K线前 的值- 化简:
[ \begin{aligned} \frac{REF(C,10)(REF(C,10)+1)}{REF(C,10)} &= REF(C,10) + 1 \ -1 (REF(C,10) + 1) &= -(REF(C,10) + 1) \ \text{于是 } COG &= C – REF(C,10) – 1 \end{aligned} ]
本质:当前收盘价 减去 10周期前的收盘价,再减去常数 1(仅是为了把零点稍微向下平移,避免出现 0‑值的情形)。
换句话说,它是一个 10 期的价格动量,数值 > 0 表示近期价格相对 10 天前上涨,< 0 表示下跌。
2.2 DO(去势振荡器)
DO = MA( C - MA(C,16) , 3 )
MA(C,16):收盘价的 16 周期简单移动平均(中短期均价)。C - MA(C,16):价格相对其 16 期均线的 偏离(差值),正值为价格高于均线,负值为低于均线。MA(...,3):对上述差值再做 3 周期简单移动平均(平滑),得到 DO。
本质:对 价格与均线之间的偏离 进行平滑,形成一种 去势(detrended)振荡器。
当 DO > 0 时,价格短线高于其中期均价(偏多);DO < 0 则偏空。
2.3 零点线
0,DOTLINE;
- 在指标窗口的 0 位置画一条 点线,帮助直接判断 COG、DO 是正还是负。
3. 参数化(可选)
如果你想自行调节周期,可把代码改成 输入参数 形式:
// 参数 N1、N2、N3 分别为 COG、DO‑MA、DO‑SMA 的周期
N1:=10; N2:=16; N3:=3;
COG: C - REF(C,N1) - 1;
DO: MA(C - MA(C,N2), N3);
0, DOTLINE;
N1:COG 使用的回看周期(默认 10)N2:DO 中先求的均线周期(默认 16)N3:DO 再次平滑的周期(默认 3)
4. 如何在通达信中加载使用
注意:下面的操作路径基于 通达信官方客户端(2024‑2025 常用版),不同版本细节略有差别,但大体相同。
-
打开公式管理器
- 在主菜单栏点击 “公式” → “公式管理器”(或快捷键
Ctrl+F)。
- 在主菜单栏点击 “公式” → “公式管理器”(或快捷键
-
新建技术指标
- 在左侧树形目录中选择 “技术指标”,点击 “新建”。
- 弹出 “新建指标” 对话框,填写 指标名称(如
COG_DO),选择 所属类别(可自行新建如 “自定义指标”),点 确定。
-
粘贴源码
- 在代码编辑框里粘贴 完整源码(包括注释行),或者使用上面参数化版本。
- 若使用参数化版,需要在 “参数” 标签页里把
N1、N2、N3设为 变量(默认 10、16、3),这样在图表上可以手动调节。
-
保存并编译
- 点击 “保存”(或
Ctrl+S),系统会自动检查语法。 - 若出现错误,光标会定位到错误行,修正后重新保存。
- 点击 “保存”(或
-
在图表中调用
- 打开任意一只股票(或期货、指数)的 日线/分钟线 图表。
- 右键点击图表 → “指标” → “选择指标”(或直接在键盘上按
TAB调出指标选择框)。 - 在列表中找到刚才创建的 COG_DO(或
COG、DO两条线),选中后 确定。
-
显示效果
- 指标窗口会弹出 两条曲线(COG 与 DO),并有一条 点线 在 0 轴。
- 你可以把 COG 与 DO 分别拖到 主图(与 K 线同窗)或 副图(默认)显示,依据个人喜好。
5. 指标的解读与交易思路
| 关键信号 | 解释 | 典型用法 |
|---|---|---|
| COG > 0 | 10 日均线之上(上涨动量) | 可视为 多头 参考 |
| COG < 0 | 10 日均线之下(下跌动量) | 可视为 空头 参考 |
| DO > 0 | 价格短线高于 16 日均线,且经 3 日平滑,偏多 | 买入 机会(尤其当 DO 从负转正时) |
| DO < 0 | 价格短线低于 16 日均线,偏空 | 卖出 机会(尤其当 DO 从正转负时) |
| COG 与 DO 同时为正 | 两指标同时指向多头 | 强势买入 信号,可适当加仓 |
| COG 与 DO 同时为负 | 两指标同时指向空头 | 强势卖出 信号,可考虑减仓或空仓 |
| DO 交叉 0 轴 | 快速变化的分水岭 | 常作为 止损/止盈 触发点 |
| COG 交叉 0 轴 | 较慢的转折点 | 可用于 趋势确认(配合更高时间周期) |
实战提示
- 趋势过滤:仅在 大势向上(如日线 MA20 上行)时使用 COG、DO 的买入信号;在大势向下时只做空或观望。
- 仓位管理:COG、DO 同时为正时可以把仓位放大到 1.5~2 倍;两者背离时降至 0.5~0.7 倍。
- 止损技巧:DO 由正转负(即下穿 0 轴)时立即止损;COG 下穿 0 轴可作为 趋势止损。
- 配合其他指标:
- 与 成交量(VOL)配合,成交量放大时信号更可靠。
- 与 MACD、RSI 等确认趋势方向。
- 用 均线交叉(如 5 日上穿 20 日)作二次过滤。
6. 常见的自定义与优化思路
| 优化方向 | 具体做法 | 说明 |
|---|---|---|
| 改变周期 | 将 COG 的 10 改为 5、15、20 等;把 DO 的 16、3 改为 20、5 等 | 调整灵敏度,长周期更稳健,短周期更灵敏 |
| 加入均线过滤 | 在 COG、DO 信号前加 IF(MA(C,60)>MA(C,120), …) |
只在长期趋势看多时买入,避免逆势操作 |
| 加入波动率 | 用 ATR(14) 或 STD(C,20) 对 DO 做归一化 |
防止在波动极大时出现假突破 |
| 改用指数平滑 | 把 MA() 换成 EMA() |
对价格变化的反应更快,适合短线 |
| 加入买卖点文字 | 使用 DRAWTEXT 在图表上标注 “买”“卖” |
直观看到信号位置(但注意不要让图表太乱) |
| 多周期共振 | 同时在 日线 与 周线 上检测 COG、DO 同时为正 | 提高信号的可靠性 |
示例:如果你想把 COG 改成 5 日动量、DO 改成 20‑日均线差值并用 5‑日 EMA 平滑,可写成:
N1:=5; N2:=20; N3:=5;
COG:= C - REF(C,N1) - 1;
DO := EMA(C - EMA(C,N2), N3);
0,DOTLINE;
7. 风险提示与局限
- 滞后性:COG 与 DO 都基于 历史收盘价,在快速波动的行情里会出现一定的滞后。
- 震荡市噪音:在价格呈 区间震荡 时,COG、DO 会在 0 轴附近频繁交叉,产生大量假信号。
- 仅做参考:该指标本身 不包含止损/止盈 逻辑,使用时务必结合仓位管理和其他技术手段。
- 参数敏感:不同市场(A股、期货、期权)对
N1、N2、N3的最优值可能差异较大,建议先做 参数回测(通达信自带的 “公式回测” 功能)再上实盘。
8. 小结
- COG:≈ 10‑期价格动量(
C - REF(C,10) - 1),反映 中期趋势。 - DO:价格相对 16‑期均线的偏离并经 3‑期平滑,产生 短线去势振荡。
- 使用方法:在通达信里自行新建技术指标 → 粘贴源码 → 保存 → 在图表中调用 → 通过 COG、DO 与 0 轴的交叉/正负 判断多空 → 结合仓位、止损、其他指标进行交易决策。
一句话概括:
COG 帮你看清 大势(10 天趋势),DO 帮你捕捉 短线偏离(相对 16 天均价的波动),二者同向时最强,交叉 0 轴时即可能是进出点。结合成交量或其他趋势过滤,可在震荡与趋势行情中提升信号可靠性。