甘氏小/中/主趋势指标:用趋势线刻画三级趋势
一、甘氏的三元分析法
James Hyerczyk 在《形态-价格-时间:甘氏理论在交易系统里的运用》中指出,交易者太常偏重形态、价格或时间中的某一种。真正的成功来自三者齐头并进、均衡考量。本文据此把“小/中/主”三级趋势自动化,作为三元分析的可视化底座。
二、小型趋势的构建规则
小型趋势是最小粒度线段,严格按高低点比较连接。内移柱(inside bar)因高低点都包含在前一根内,不提供方向信息,必须跳过。
- 向上走势:下根柱最高>前根最高 且 最低>前根最低,连接两段最高得上升线段。
- 向下走势:下根柱最低<前根最低 且 最高<前根最高,连接两段最低得下降线段。
- 方向反转:上升中若出现更低最低且更高最高不成立→转向下,反之亦然。
- 内移柱不参与图形构建。
三、指标结构:CList 管理趋势线
每个趋势线段作为一个对象存入 CList,按规则追加或反转。OnInit 中创建容器,新柱到来时更新。
// GannMicroTrend.mq5 节选
int OnInit(void)
{
CreateCut(); // 创建趋势线对象容器
return(INIT_SUCCEEDED);
}
void CreateCut(void)
{
// 用 CList 保存每段趋势线节点,按规则追加/反转
m_list = new CList();
}
四、中/主趋势的聚合
小型趋势线段累积成中型趋势,中型再累积成主要趋势。实现上用不同颜色与线宽区分级别,使图表一眼可读出“处于哪级趋势”。中型与主要趋势本质是小型线段的二级、三级聚合。
五、在 EA 中调用
通过 iCustom 取缓冲或读取图形对象,判定当前处于哪级趋势再决定入场。例如只在主趋势向上时,允许小型趋势触发多头信号。
double trend = iCustom(_Symbol, PERIOD_CURRENT, "GannMicroTrend", 0, 0);
if(trend > 0) // 主趋势向上
{
// 允许小型趋势触发多头
}
六、常见误用
七、甘氏角度线原理
甘氏(Gann)用「角度」而非「百分比」描述趋势强度:45 度线代表多空均衡的基准速率,价格在其上运行属强势、在其下偏弱。角度线把时间和价格放在同一刻度,强调「时间等于价格」。
画角度线要先定一个显著拐点作原点,按固定比例(如 1 价格单位对应 1 时间单位)拉出不同角度的线。它本质是一种几何化的支撑阻力体系。
八、微/中/主三级趋势判定
甘氏把趋势分三级:微观(分时/小周期摆动)、中观(日线级别波段)、宏观(周线以上大方向)。实战要先看主级定方向,再看中级找入场,最后用微观择时,三层同向才出手。
int trendMajor = GannAngle(Period_W1) > 45 ? 1 : -1; int trendMid = GannAngle(Period_D1) > 45 ? 1 : -1; if(trendMajor==trendMid && trendMid==1) // 三级共振偏多 ConsiderBuy();
九、实战信号
常用信号:价格回踩主级角度线不破转强、微观出现底背离且中级转多。甘氏体系偏「几何直觉」,最好和动量/成交量确认配合,避免纯靠角度线在震荡市反复打脸。
参数上角度线的「时间价格比例」要和品种波动匹配,外汇和商品的比例不同,照搬同一套刻度会失真。
十、角度线的刻度校准
甘氏角度线对「时间价格比例」极其敏感:比例定错,45 度线就不再是均衡线,整套信号全偏。实务上要先统计品种的日常波动率,把比例调成「近期典型一根 K 线的价格变动约对应一个角度单位」。
不同品种比例不同,外汇和商品不能共用一套刻度;甚至同一品种在不同时期波动率变了,刻度也要重校。把比例当参数而非常量,角度线才可靠。
十一、甘氏与量能配合
纯角度线在震荡市会反复假突破,配成交量能过滤:突破角度线时若伴随明显放量,可信度更高;无量假突破直接忽略。量价是趋势确认的老搭档,甘氏体系也不例外。 实盘里宁可少做几单、等量价与角度线共振,也比抢在毛刺上反复止损强;甘氏体系的价值正在于逼你多一层确认。
另一个配合是和 TSI 之类动能指标共振:角度线转多且 TSI 上穿零轴,两层确认才出手,能砍掉大量毛刺信号。