ARTICLE · 1159467
航海指南针指标:12步换向定进出场(源码)
航海指南针源码:高低点交替定节奏,12步换向给出进出场参考。
做趋势最怕什么?最怕「涨了三天你就追,结果第四天开始阴跌」。
问题不在于看错方向,而在于没有一把统一的尺子来判断——现在的上涨是刚开始,还是已经走到尾巴了。
这条指标干的事情很朴素:它不预测,只数步子。
数步子是什么意思
把价格的走势拆成一个个「步」。
连续两天收高,说明上涨还在延续;一旦有一天没跟上,就记一步「上涨结束」,然后开始观察反方向。
下跌那边是镜像的:连续两天收低算延续,一旦收住,就记一步「下跌结束」。
就这么一步一步数下去。
为什么是 12 步换向
数到一定步数,说明这一个方向的动能已经释放得比较充分了。
指标里设定的这个阈值是 12 步。
逻辑很直白:一个方向连续走出 12 个步,前面的动能基本用完了,这时候就要开始留意反方向的机会。
这不是玄学,是把「节奏」这件事量化了。
买点是怎么出来的
信号分两条腿走路。
一条是「下跌步蓄满之后,再出现上涨的第一步」——这是买入信号。它的含义是:跌势已经走到尾段,现在出现了新的向上动能。
另一条正好相反:上涨步蓄满之后转下跌,就是卖出信号。
用一句话概括:**在对方力竭的地方出手,而不是在对方最强的地方追。**
两条辅助线
除了信号本身,图上还画了两条线。
一条叫生命线。它不是普通的均线,而是对当天的均价做加权——离现在越近的日期,权重越大,最远的那天权重最小。
这样的好处是反应更快。普通均线要等好几天才能拐头,它一两天就能反映出来。
另一条是生命线的 5 日平滑线。两条线交叉的地方,就是这个节奏的二次确认点。
关于止损
这套方法有个配套的止损思路:进入持股区间之后,取一段区间内的最低价作为浮动参考。
说白了就是——只要没跌破这个位置,就认为节奏还没坏,继续持有;跌破了,说明判断错了,认错离场。
加上图上金叉画底、死叉画顶的图标标注,转势点在哪里,一眼能看到。
温馨提示
1、指标:www.logic88.cn
2、本指标仅作为知识分享,不构成任何建议。


指标源码
{航海指南针:用「价格高低点交替」刻画多空节奏,交替满12步即换向,给出进出场参考}
JRH:=HHV(C,2);
JRL:=LLV(C,2);
MA3:=MA(CLOSE,3);
YTSL:=(3*CLOSE+LOW+OPEN+HIGH)/6;
{── 上涨侧:连续两日收高视为延续,否则记录为一个「上涨步」并转入观察 ──}
QS_UP01:=(CLOSE>REF(CLOSE,1) AND CLOSE>REF(CLOSE,2));
QS_UP02:=(REF(QS_UP01,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_UP03:=(REF(QS_UP02,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_UP04:=(REF(QS_UP03,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_UP05:=(REF(QS_UP04,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_UP06:=(REF(QS_UP05,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_UP07:=(REF(QS_UP06,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_UP08:=(REF(QS_UP07,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_UP09:=(REF(QS_UP08,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_UP10:=(REF(QS_UP09,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_UP11:=(REF(QS_UP10,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_UP12:=(REF(QS_UP11,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
{── 下跌侧:与上涨侧镜像,连续两日收低才延续,否则记录为「下跌步」 ──}
QS_DN01:=(CLOSE<REF(CLOSE,1) AND CLOSE<REF(CLOSE,2));
QS_DN02:=(REF(QS_DN01,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_DN03:=(REF(QS_DN02,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_DN04:=(REF(QS_DN03,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_DN05:=(REF(QS_DN04,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_DN06:=(REF(QS_DN05,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_DN07:=(REF(QS_DN06,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_DN08:=(REF(QS_DN07,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_DN09:=(REF(QS_DN08,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_DN10:=(REF(QS_DN09,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
QS_DN11:=(REF(QS_DN10,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2));
QS_DN12:=(REF(QS_DN11,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2));
{── 买卖合成:下跌步蓄满后再现上涨首步 → 买入信号;上涨步蓄满后转下跌 → 卖出信号 ──}
QS_BUYSIG:=((REF(QS_DN01 OR QS_DN02 OR QS_DN03 OR QS_DN04 OR QS_DN05 OR QS_DN06 OR QS_DN07 OR QS_DN08 OR QS_DN09 OR QS_DN10 OR QS_DN11 OR QS_DN12,1)) AND QS_UP01);
QS_SELLSIG:=((REF(QS_UP01 OR QS_UP02 OR QS_UP03 OR QS_UP04 OR QS_UP05 OR QS_UP06 OR QS_UP07 OR QS_UP08 OR QS_UP09 OR QS_UP10 OR QS_UP11 OR QS_UP12,1)) AND QS_DN01);
{── 持股区间:12 个上涨步的并集,成立时视为持有区间 ──}
红色持股:=QS_UP01 OR QS_UP02 OR QS_UP03 OR QS_UP04 OR QS_UP05 OR QS_UP06 OR QS_UP07 OR QS_UP08 OR QS_UP09 OR QS_UP10 OR QS_UP11 OR QS_UP12,COLOR0000FF,NODRAW;
{── 区间止损:持股期内取两日最低价作为浮动止损参考 ──}
离场:=IF(红色持股,JRL,DRAWNULL);
明离场价:=离场,COLORFF99FF,NODRAW;
今离场价:REF(离场,1)COLORGREEN,NODRAW;
{── 观望区间:12 个下跌步的并集,成立时视为空仓等待区间 ──}
青色观望:=QS_DN01 OR QS_DN02 OR QS_DN03 OR QS_DN04 OR QS_DN05 OR QS_DN06 OR QS_DN07 OR QS_DN08 OR QS_DN09 OR QS_DN10 OR QS_DN11 OR QS_DN12,COLORFFFF00,NODRAW;
进:=IF(青色观望,JRH,DRAWNULL);
明进场价:=进,COLOR33AACC,NODRAW;
今进场价:REF(明进场价,1),COLORRED,NODRAW;
短买:QS_BUYSIG,COLORLIRED,NODRAW;
STICKLINE(ISLASTBAR AND (红色持股 OR REF(红色持股,1)=1),今离场价,今离场价,30,1),COLOR0000FF;
STICKLINE(ISLASTBAR AND (青色观望 OR REF(青色观望,1)=1),今进场价,今进场价,30,1),COLOR00FF00;
{── 生命线:对当日均价做 20~1 的线性加权,重心更靠近期,反应比普通均线快 ──}
ZNA:=(3*CLOSE+OPEN+LOW+HIGH)/6;
生命线:(20*ZNA+19*REF(ZNA,1)+18*REF(ZNA,2)+17*REF(ZNA,3)+16*REF(ZNA,4)+15*REF(ZNA,5)
+14*REF(ZNA,6)+13*REF(ZNA,7)+12*REF(ZNA,8)+11*REF(ZNA,9)+10*REF(ZNA,10)+9*REF(ZNA,11)
+8*REF(ZNA,12)+7*REF(ZNA,13)+6*REF(ZNA,14)+5*REF(ZNA,15)+4*REF(ZNA,16)+3*REF(ZNA,17)
+2*REF(ZNA,18)+REF(ZNA,20))/210,COLORLIRED;
{── 辅助线:生命线的 5 日平滑,与生命线的交叉构成二次确认 ──}
辅助线:MA(生命线,5),COLORCYAN;
IF(生命线>REF(生命线,1),生命线,DRAWNULL),LINETHICK3,COLORRED;
IF(生命线<REF(生命线,1),生命线,DRAWNULL),LINETHICK3,COLORGREEN;
{── 图标标注:金叉画底、死叉画顶,便于一眼定位转势点 ──}
DRAWICON(CROSS(生命线,辅助线),L*0.95,7);
DRAWICON(CROSS(辅助线,生命线),H*1.05,8);
选股源码,原文一键复制