核心逻辑
该指标通过计算120日内最高价/最低价到当前的天数,以及最近峰值/谷值的位置,来识别价格波动的"交换周期"。核心原理是:当价格经过一定天数后发生高低点转换(峰值或谷值),视为一个"交换点"。通过统计这些交换点出现的频率(除以5、6、9),判断当前价格处于什么阶段的顶部或底部。当两个不同周期的"距上次交换天数"之和等于2时,表明市场可能发生顶部或底部的转换。
买卖信号
**卖出信号(顶部信号):** - 无顶56:5周期和6周期的距上次交换天数之和=2,显示蓝色柱子(200-120位置) - 无顶69:6周期和9周期的距上次交换天数之和=2,显示绿色柱子(200-120位置) - 有未顶56:5周期和6周期的距上次交换天数之和=2,显示蓝色柱子(0-80位置) - 有未顶69:6周期和9周期的距上次交换天数之和=2,显示绿色柱子(0-80位置) **买入信号(底部信号):** - 无底56:5周期和6周期的距上次交换天数之和=2,显示蓝色柱子(200-120位置) - 无底69:6周期和9周期的距上次交换天数之和=2,显示黄色柱子(200-120位置) - 有未底56:5周期和6周期的距上次交换天数之和=2,显示蓝色柱子(0-80位置) - 有未底69:6周期和9周期的距上次交换天数之和=2,显示黄色柱子(0-80位置)
用法
1. **适用场景**:适用于中短期交易,可用于判断股价的顶部和底部转换点 2. **使用方法**: - 当出现"顶"系列信号时,可能表示价格上涨动能减弱,考虑卖出 - 当出现"底
公式源码
无总天数:=HHVBARS(H,120);
无交换次数5:=FLOOR(无总天数/5);{5}
无判断5:=IF(无交换次数5>0,无交换次数5,0);
无判定5:=IF(无判断5-REF(无判断5,1)>0,无判断5,0);
无距上次交换5:=BARSLAST(无判定5)+1;
无交换次数6:=FLOOR(无总天数/6);{6}
无判断6:=IF(无交换次数6>0,无交换次数6,0);
无判定6:=IF(无判断6-REF(无判断6,1)>0,无判断6,0);
无距上次交换6:=BARSLAST(无判定6)+1;
无交换次数9:=FLOOR(无总天数/9);{9}
无判断9:=IF(无交换次数9>0,无交换次数9,0);
无判定9:=IF(无判断9-REF(无判断9,1)>0,无判断9,0);
无距上次交换9:=BARSLAST(无判定9)+1;
无顶56:(无距上次交换5+无距上次交换6=2)*80,COLOR3399FF,NODRAW;
STICKLINE(无距上次交换5+无距上次交换6=2 ,200 ,120 ,2 ,0 ),COLOR3399FF;
无顶69:(无距上次交换6+无距上次交换9=2)*80,COLOR33FF00,NODRAW;
STICKLINE(无距上次交换6+无距上次交换9=2 ,200 ,120 ,2 ,0 ),COLOR33FF00;
无底总天数:=LLVBARS(L,120);
无底交换次数5:=FLOOR(无底总天数/5);{5}
无底判断5:=IF(无底交换次数5>0,无底交换次数5,0);
无底判定5:=IF(无底判断5-REF(无底判断5,1)>0,无底判断5,0);
无底距上次交换5:=BARSLAST(无底判定5)+1;
无底交换次数6:=FLOOR(无底总天数/6);{6}
无底判断6:=IF(无底交换次数6>0,无底交换次数6,0);
无底判定6:=IF(无底判断6-REF(无底判断6,1)>0,无底判断6,0);
无底距上次交换6:=BARSLAST(无判定6)+1;
无底交换次数9:=FLOOR(无底总天数/9);{9}
无底判断9:=IF(无底交换次数9>0,无底交换次数9,0);
无底判定9:=IF(无底判断9-REF(无底判断9,1)>0,无底判断9,0);
无底距上次交换9:=BARSLAST(无底判定9)+1;
无底56:(无底距上次交换5+无底距上次交换6=2)*80,COLOR3333FF,NODRAW;
STICKLINE(无底距上次交换5+无底距上次交换6=2 ,200 ,120 ,2 ,0 ),COLOR3333FF;
无底69:(无底距上次交换6+无底距上次交换9=2)*80,COLORFFFF00,NODRAW;
STICKLINE(无底距上次交换6+无底距上次交换9=2 ,200 ,120 ,2 ,0 ),COLORFFFF00;顶转点:=PEAKBARS(1,10,5);
顶总天数:=顶转点;
交换次数5:=FLOOR(顶总天数/5);{5}
判断5:=IF(交换次数5>0,交换次数5,0);
判定5:=IF(判断5-REF(判断5,1)>0,判断5,0);
距上次交换5:=BARSLAST(判定5)+1;
交换次数6:=FLOOR(顶总天数/6);{6}
判断6:=IF(交换次数6>0,交换次数6,0);
判定6:=IF(判断6-REF(判断6,1)>0,判断6,0);
距上次交换6:=BARSLAST(判定6)+1;
交换次数9:=FLOOR(顶总天数/9);{9}
判断9:=IF(交换次数9>0,交换次数9,0);
判定9:=IF(判断9-REF(判断9,1)>0,判断9,0);
距上次交换9:=BARSLAST(判定9)+1;
有未顶56:(距上次交换5+距上次交换6=2)*80,COLOR3399FF,NODRAW;
STICKLINE(距上次交换5+距上次交换6=2 ,0 ,80 ,2 ,0 ),COLOR3399FF;
有未顶69:(距上次交换6+距上次交换9=2)*80,COLOR33FF00,NODRAW;
STICKLINE(距上次交换6+距上次交换9=2 ,0 ,80 ,2 ,0 ),COLOR33FF00;底转点:=TROUGHBARS(1,10,5);
底总天数:=底转点;
交换次数55:=FLOOR(底总天数/5);{5}
判断55:=IF(交换次数55>0,交换次数55,0);
判定55:=IF(判断55-REF(判断55,1)>0,判断55,0);
距上次交换55:=BARSLAST(判定55)+1;
交换次数66:=FLOOR(底总天数/6);{6}
判断66:=IF(交换次数66>0,交换次数66,0);
判定66:=IF(判断66-REF(判断66,1)>0,判断66,0);
距上次交换66:=BARSLAST(判定66)+1;
交换次数99:=FLOOR(底总天数/99);{9}
判断99:=IF(交换次数99>0,交换次数99,0);
判定99:=IF(判断99-REF(判断99,1)>0,判断99,0);
距上次交换99:=BARSLAST(判定99)+1;
有未底56:(距上次交换55+距上次交换66=2)*80,COLOR3333FF,NODRAW;
STICKLINE(距上次交换55+距上次交换66=2 ,0 ,80 ,2 ,0 ),COLOR3333FF;
有未底69:(距上次交换66+距上次交换99=2)*80,COLORFFFF00,NODRAW;
STICKLINE(距上次交换66+距上次交换99=2 ,0 ,80 ,2 ,0 ),COLORFFFF00;