工欲善其事必先利其器,本系列教程将带你构建一个陶粉该有基本装备。 基于以下原因,写这个基础教程: 复盘系统计划包含以下常用公式或指标:个股RPS曲线、板块RPS曲线、基金+北向公式、上市一年以上公式、接近一年新高公式、RPS95选股公式、口袋支点公式、月线反转公式、均线火车轨公式,主图MA3公式。 其中,口袋支点公式没有统一标准,陶博士也从未公开过自己的版本,只能找替代公式。 ![]() 注意下图步骤5有个参数N,不要忘了设置。步骤7需要选'主图叠加'。 ![]() 代码: {均线} MA10:MA(CLOSE,10); MA20:MA(CLOSE,20); MA50:MA(CLOSE,50); MA120:MA(CLOSE,120); MA200:MA(CLOSE,200); MA250:MA(CLOSE,250);
{RPS 定义} Z50:=EXTDATA_USER(3,0);{50天的} RPS50:=Z50/10; Z120:=EXTDATA_USER(1,0);{120天的} RPS120:=Z120/10; Y:=EXTDATA_USER(2,0);{250天的} RPS250:=Y/10;
{月线反转6.5图标} FYX11:=IF(RPS50<=87,0,1);{RPS50大于87} FYX12:=IF(RPS120<=90,0,1);{RPS120大于90} FYX130:=RPS50>=90 OR RPS120>=90;{当天RPS50或RPS120大于90,在后面被FYX32引用} FYX131:=C>=HHV(C,70);{创70日最高收盘价} FYX13:=FYX130 AND FYX131;{创70日新高,且当天RPS50或RPS120大于90。在后面被FYX21、FYX22、FYX63、FYX72等引用}
FYX1:=FYX11 OR FYX12;
FYX21:=LLV(L,50)>LLV(L,200) AND FYX13;{50日内最低价大于200日内最低价}
FYX22:=LLV(L,30)>LLV(L,120) AND FYX13;{30日内最低价大于120日内最低价,且FYX13}
FYX23:=LLV(L,20)>LLV(L,50);{20日内最低价大于50日内最低价,顺鑫农业2018年4月2日的月线反转信号}
FYX2:=FYX21 OR FYX22 OR FYX23;{结构紧凑的重要条件}
NH80:=IF(H<HHV(H,80),0,1); FYX31:=COUNT(NH80,10);{10天内曾创80日新高} FYX32:=(C>=HHV(C,50) OR H>=HHV(H,50)) AND FYX130;{当天创50日最高收盘价或50日最高价,且RPS50或RPS120大于90} FYX3:=FYX31 OR FYX32;
FYX4:=C>MA(C,20) AND C>MA(C,200) AND MA(C,120)/MA(C,200)>0.9;{当天收盘价必须站上20天线和200天线} NN200:=IF(C>MA(C,200),1,0);{当天收盘价大于200天线} AA200:=COUNT(NN200,45); NN250:=IF(C>MA(C,250),1,0);{当天收盘价大于250天线}
AA250:=COUNT(NN250,45);
FYX51:=AA200>=2 AND AA200<45;{45天内,收盘价站上200天线的天数大于等于2,小于45}
LNN200:=IF(L<MA(C,200),1,0);
LAA200:=COUNT(LNN200,45);
FYX52:=LAA200>0 AND AA200>2;{45天内,至少有一天的最低价低于200天线;且至少站上200天线3天以上}
LNN250:=IF(L<MA(C,250),1,0);
LAA250:=COUNT(LNN250,45);
FYX53:=LAA250>0 AND AA250>2;{45天内,至少有一天的最低价低于250天线;且至少站上250天线3天以上}
FYX5:=FYX51 OR FYX52 OR FYX53;
FYX6011:=MA(C,120)>=REF(MA(C,120),10) OR MA(C,200)>=REF(MA(C,200),10);{120天线或200天线呈上升趋势}
FYX6012:=MA(C,120)>=REF(MA(C,120),15) OR MA(C,200)>=REF(MA(C,200),15);{120天线或200天线呈上升趋势}
FYX601:=FYX6011 OR FYX6012;
FYX6021:=MA(C,120)>=REF(MA(C,120),10) AND MA(C,200)>=REF(MA(C,200),10);{120天线和200天线线呈上升趋势}
FYX6022:=MA(C,120)>=REF(MA(C,120),15) AND MA(C,200)>=REF(MA(C,200),15);{120天线和200天线线呈上升趋势}
FYX602:=FYX6021 OR FYX6022;
FYX603:=MA(C,120)>MA(C,200) AND FYX601; {120日线、200日线呈多头排列}
FYX61:=HHV(H,30)/LLV(L,120)<1.50 AND FYX601;{30天内最高价与120日内最低价之比小于1.50,且120天线或200天线呈上升趋势,石英股份2022年的平台在120天左右}
FYX62:=HHV(H,30)/LLV(L,120)<1.55 AND FYX602;{30天内最高价与120日内最低价之比小于1.55,且120天线和200天线线呈上升趋势}
FYX63:=HHV(H,30)/LLV(L,120)<1.65 AND FYX603 AND FYX13;{30天内最高价与120日内最低价之比小于1.65,且长期均线呈多头排列,且满足FYX13}
FYX6:=FYX61 OR FYX62 OR FYX63;
FYX71:=HHV(H,5)/HHV(H,120)>0.85;{5天内最高价距离120日内的最高价不到15%}
FYX72:=HHV(H,5)/HHV(H,120)>0.8 AND FYX13;{5天内最高价距离120日内的最高价不到20%,且满足FYX13}
FYX73:=C/HHV(H,10)>0.9;{当天收盘价距离10日内的最高价不到10%}
FYX7:=(FYX71 OR FYX72) AND FYX73;
YXFZ:=FYX1 AND FYX2 AND FYX3 AND FYX4 AND FYX5 AND FYX6 AND FYX7;
DRAWICON(BARSSINCEN(YXFZ,15)=0,LOW,34);{月线反转信号画图标34:黄色笑脸}
{板块RPS三线红图标}; BK5:=EXTDATA_USER(6,0);{5天的RPS} RPSBK5:=BK5/10; BK01:=IF(RPSBK5<=90,0,1);{RPSBK5大于90};
BK10:=EXTDATA_USER(7,0);{10天的RPS} RPSBK10:=BK10/10; BK02:=IF(RPSBK10<=90,0,1);{RPSBK10大于90};
BK15:=EXTDATA_USER(8,0);{15天的RPS} RPSBK15:=BK15/10; BK03:=IF(RPSBK15<=90,0,1);{RPSBK15大于90};
BK20:=EXTDATA_USER(9,0);{20天的RPS} RPSBK20:=BK20/10; BK04:=IF(RPSBK20<=90,0,1);{RPSBK20大于90};
DRAWICON(BARSSINCEN((BK01 AND BK02 AND BK03),20)=0,LOW,15);{板块指数的三线翻红画图标15}; DRAWICON(BARSSINCEN((BK01 AND BK02 AND BK04),20)=0,LOW*0.98,15);{板块指数的三线翻红画图标15}; DRAWICON(BARSSINCEN((BK01 AND BK03 AND BK04),20)=0,LOW*0.96,15);{板块指数的三线翻红画图标15}; DRAWICON(BARSSINCEN((BK02 AND BK03 AND BK04),20)=0,LOW*0.94,15);{板块指数的三线翻红画图标15};
{齐大总管净利润断层公式} 高开缺口 := LOW>REF(HIGH,1) OR CLOSE/REF(CLOSE,1)>1.08; {高开缺口 := LOW>REF(HIGH,1);} 当前日期 := DATE-1000000; SV := -1; EV := IF(WEEKDAY=1,3,2); {DIFF := 70;} DIFF := IF(MONTH=3 AND DAY=1, 72, IF(MONTH=3 AND DAY=2, 73, 70));
DIUP := 70; DIDOWN := 75;
{业绩预告} 预告下限 := FINVALUE(285); 预告上限 := FINVALUE(286); 预告中值 := (预告上限+预告下限)/2; 预告日期 := FINVALUE(313); 预告日期差 := (当前日期-预告日期>SV) AND IF(RANGE((当前日期-预告日期),DIUP,DIDOWN),(当前日期-预告日期)-DIFF,(当前日期-预告日期))<EV; 预告断层 := (预告中值>0) AND 高开缺口 AND 预告日期差; {业绩快报} 快报净利润 := FINVALUE(287); 快报日期 := FINVALUE(315); 快报日期差 := (当前日期-快报日期>SV) AND IF(RANGE((当前日期-快报日期),DIUP,DIDOWN),(当前日期-快报日期)-DIFF,(当前日期-快报日期))<EV; 快报断层 := (快报净利润>0) AND 高开缺口 AND 快报日期差; {财报} 财报净利润 := FINVALUE(95); EPSRATE := FINVALUE(184); 财报日期 := FINVALUE(314); 财报日期差 := (当前日期-财报日期>SV) AND IF(RANGE((当前日期-财报日期),DIUP,DIDOWN),(当前日期-财报日期)-DIFF,(当前日期-财报日期))<EV; 财报断层 := 财报净利润 > 0 AND EPSRATE > 0 AND 高开缺口 AND 财报日期差; {最近日期断层} 最近日期断层 := 预告断层 OR 快报断层 OR 财报断层;
{指定日期1} 指定日期1 := 1; {指定日期1业绩预告} 指预告上限1 := FINONE(285,0,指定日期1); 指预告下限1 := FINONE(286,0,指定日期1); 指预告中值1 := (指预告上限1+指预告下限1)/2; 指预告日期1 := FINONE(313,0,指定日期1); 指预告日期差1 := (当前日期-指预告日期1>SV) AND IF(RANGE((当前日期-指预告日期1),DIUP,DIDOWN),(当前日期-指预告日期1)-DIFF,(当前日期-指预告日期1))<EV; 指预告断层1 := (指预告中值1>0) AND 高开缺口 AND 指预告日期差1; {指定日期1业绩快报} 指快报净利润1 := FINONE(287,0,指定日期1); 指快报日期1 := FINONE(315,0,指定日期1); 指快报日期差1 := (当前日期-指快报日期1>SV) AND IF(RANGE((当前日期-指快报日期1),DIUP,DIDOWN),(当前日期-指快报日期1)-DIFF,(当前日期-指快报日期1))<EV; 指快报断层1 := (指快报净利润1>0) AND 高开缺口 AND 指快报日期差1; {指定日期1财报} 指财报净利润1 := FINONE(95,0,指定日期1); 指EPSRATE1 := FINONE(184,0,指定日期1); 指财报日期1 := FINONE(314,0,指定日期1); 指财报日期差1 := (当前日期-指财报日期1>SV) AND IF(RANGE((当前日期-指财报日期1),DIUP,DIDOWN),(当前日期-指财报日期1)-DIFF,(当前日期-指财报日期1))<EV; 指财报断层1 := 指财报净利润1 > 0 AND 指EPSRATE1 > 0 AND 高开缺口 AND 指财报日期差1; {指定日期1断层} 指定日期1断层 := 指预告断层1 OR 指快报断层1 OR 指财报断层1;
{指定日期2} 指定日期2 := 2; {指定日期2业绩预告} 指预告上限2 := FINONE(285,0,指定日期2); 指预告下限2 := FINONE(286,0,指定日期2); 指预告中值2 := (指预告上限2+指预告下限2)/2; 指预告日期2 := FINONE(313,0,指定日期2); 指预告日期差2 := (当前日期-指预告日期2>SV) AND IF(RANGE((当前日期-指预告日期2),DIUP,DIDOWN),(当前日期-指预告日期2)-DIFF,(当前日期-指预告日期2))<EV; 指预告断层2 := (指预告中值2>0) AND 高开缺口 AND 指预告日期差2; {指定日期2业绩快报} 指快报净利润2 := FINONE(287,0,指定日期2); 指快报日期2 := FINONE(315,0,指定日期2); 指快报日期差2 := (当前日期-指快报日期2>SV) AND IF(RANGE((当前日期-指快报日期2),DIUP,DIDOWN),(当前日期-指快报日期2)-DIFF,(当前日期-指快报日期2))<EV; 指快报断层2 := (指快报净利润2>0) AND 高开缺口 AND 指快报日期差2; {指定日期2财报} 指财报净利润2 := FINONE(95,0,指定日期2); 指EPSRATE2 := FINONE(184,0,指定日期2); 指财报日期2 := FINONE(314,0,指定日期2); 指财报日期差2 := (当前日期-指财报日期2>SV) AND IF(RANGE((当前日期-指财报日期2),DIUP,DIDOWN),(当前日期-指财报日期2)-DIFF,(当前日期-指财报日期2))<EV; 指财报断层2 := 指财报净利润2 > 0 AND 指EPSRATE2 > 0 AND 高开缺口 AND 指财报日期差2; {指定日期2断层} 指定日期2断层 := 指预告断层2 OR 指快报断层2 OR 指财报断层2;
{指定日期3} 指定日期3 := 3; {指定日期3业绩预告} 指预告上限3 := FINONE(285,0,指定日期3); 指预告下限3 := FINONE(286,0,指定日期3); 指预告中值3 := (指预告上限3+指预告下限3)/2; 指预告日期3 := FINONE(313,0,指定日期3); 指预告日期差3 := (当前日期-指预告日期3>SV) AND IF(RANGE((当前日期-指预告日期3),DIUP,DIDOWN),(当前日期-指预告日期3)-DIFF,(当前日期-指预告日期3))<EV; 指预告断层3 := (指预告中值3>0) AND 高开缺口 AND 指预告日期差3; {指定日期3业绩快报} 指快报净利润3 := FINONE(287,0,指定日期3); 指快报日期3 := FINONE(315,0,指定日期3); 指快报日期差3 := (当前日期-指快报日期3>SV) AND IF(RANGE((当前日期-指快报日期3),DIUP,DIDOWN),(当前日期-指快报日期3)-DIFF,(当前日期-指快报日期3))<EV; 指快报断层3 := (指快报净利润3>0) AND 高开缺口 AND 指快报日期差3; {指定日期3财报} 指财报净利润3 := FINONE(95,0,指定日期3); 指EPSRATE3 := FINONE(184,0,指定日期3); 指财报日期3 := FINONE(314,0,指定日期3); 指财报日期差3 := (当前日期-指财报日期3>SV) AND IF(RANGE((当前日期-指财报日期3),DIUP,DIDOWN),(当前日期-指财报日期3)-DIFF,(当前日期-指财报日期3))<EV; 指财报断层3 := 指财报净利润3 > 0 AND 指EPSRATE3 > 0 AND 高开缺口 AND 指财报日期差3; {指定日期3断层} 指定日期3断层 := 指预告断层3 OR 指快报断层3 OR 指财报断层3;
{指定日期4} 指定日期4 := 4; {指定日期4业绩预告} 指预告上限4 := FINONE(285,0,指定日期4); 指预告下限4 := FINONE(286,0,指定日期4); 指预告中值4 := (指预告上限4+指预告下限4)/2; 指预告日期4 := FINONE(313,0,指定日期4); 指预告日期差4 := (当前日期-指预告日期4>SV) AND IF(RANGE((当前日期-指预告日期4),DIUP,DIDOWN),(当前日期-指预告日期4)-DIFF,(当前日期-指预告日期4))<EV; 指预告断层4 := (指预告中值4>0) AND 高开缺口 AND 指预告日期差4; {指定日期4业绩快报} 指快报净利润4 := FINONE(287,0,指定日期4); 指快报日期4 := FINONE(315,0,指定日期4); 指快报日期差4 := (当前日期-指快报日期4>SV) AND IF(RANGE((当前日期-指快报日期4),DIUP,DIDOWN),(当前日期-指快报日期4)-DIFF,(当前日期-指快报日期4))<EV; 指快报断层4 := (指快报净利润4>0) AND 高开缺口 AND 指快报日期差4; {指定日期4财报} 指财报净利润4 := FINONE(95,0,指定日期4); 指EPSRATE4 := FINONE(184,0,指定日期4); 指财报日期4 := FINONE(314,0,指定日期4); 指财报日期差4 := (当前日期-指财报日期4>SV) AND IF(RANGE((当前日期-指财报日期4),DIUP,DIDOWN),(当前日期-指财报日期4)-DIFF,(当前日期-指财报日期4))<EV; 指财报断层4 := 指财报净利润4 > 0 AND 指EPSRATE4 > 0 AND 高开缺口 AND 指财报日期差4; {指定日期4断层} 指定日期4断层 := 指预告断层4 OR 指快报断层4 OR 指财报断层4;
{公众号-齐大总管} 净利润断层 := 最近日期断层 OR 指定日期1断层 OR 指定日期2断层 OR 指定日期3断层 OR 指定日期4断层; DRAWICON(BARSSINCEN(净利润断层,3)=0,L,5);{画笑脸} {净利润断层公式结束};
{显示最大调整幅度 陶博士} B:=CONST(HHV(HIGH,200)); B2:=CONST(HHVBARS(H,200)+1); B3:=CONST(LLV(LOW,B2)); B4:=B3/B; B5:=B4*100-100; DRAWNUMBER(L=B3 AND CURRBARSCOUNT<B2,B3,B5); 调整幅度:B5,NODRAW; IF(B5<=-30,B5,DRAWNULL),NODRAW,COLORRED;
{顺向火车轨} HC120:=EXTDATA_USER(1,0);{120天的RPS} RPSHC120:=HC120/10; HC250:=EXTDATA_USER(2,0);{250天的RPS} RPSHC250:=HC250/10;
{RPS条件} SXHCG1:=RPSHC120+RPSHC250>185;{RPS120和RPS250之和大于185。这个185是可调参数,如180至185}
{收盘价条件} SXHCG20:=C>MA(C,20);{收盘站上20日线} SXHCG21:=COUNT(C>MA(C,250),30)>=25;{过去30天的收盘价高于250日线的天数至少有25天。这个25天是可调参数,如25至30} SXHCG22:=COUNT(C>MA(C,200),30)>=25;{过去30天的收盘价高于200日线的天数至少有25天。这个25天是可调参数,如25至30} SXHCG23:=COUNT(C>MA(C,20),10)>=9;{过去10天的收盘价高于20日线的天数至少有9天} SXHCG24:=COUNT(C>MA(C,10),4)>=3 AND COUNT(C>MA(C,20),4)>=3;{过去4天的收盘价高于10日线和20日线的天数都至少有3天} SXHCG2:=SXHCG20 AND SXHCG21 AND SXHCG22 AND (SXHCG23 OR SXHCG24);
{回撤幅度控制} 新高天数:=HHVBARS(H,20); 新低天数:=IF(新高天数=0,0,LLVBARS(L,新高天数)); 新高价:=REF(H,新高天数); 新低价:=REF(L,新低天数); 回撤幅度:=(新高价-新低价)/新高价; SXHCG31:=回撤幅度<=0.25 AND COUNT(回撤幅度>0.25,新高天数)=0; {过去20天内的最大回撤不超过25%} SXHCG32:=C/HHV(C,250)>0.8;{收盘价是一年最高价的0.8以上,这个0.8是可调参数,如0.75至0.85} SXHCG3:=SXHCG31 AND SXHCG32;
{10,20线均线顺向条件} SXHCG411:=EVERY(MA(C,20)>=REF(MA(C,20),1),5);{过去5天的20日线一直保持上升状态。这个5天是可调参数,如5至15} SXHCG412:=EVERY(MA(C,10)>=MA(C,20),5);{过去5天的10日线一直大于20日线。这个5天是可调参数,如5至15} SXHCG41:=SXHCG411 AND SXHCG412; SXHCG421:=MA(C,10)>=REF(MA(C,10),1);{10日线向上} SXHCG422:=MA(C,20)>=REF(MA(C,20),1);{20日线向上} SXHCG423:=MA(C,10)>=MA(C,20);{10日线在20日线上方} SXHCG42:=SXHCG421 AND SXHCG422 AND SXHCG423; SXHCG4:=SXHCG41 OR SXHCG42;
SXHCG:=SXHCG1 AND SXHCG2 AND SXHCG3 AND SXHCG4;
DRAWICON(BARSSINCEN(SXHCG,8)=0,LOW*0.96,13);{顺向火车轨信号画图标13。这个8天是可调参数,如8至15};
{口袋支点 公众号:隐士舍一} K120:= RPS120>=N; K250:= RPS250>=N; K50:= RPS50>=N; KD1:= K120 OR K250 OR K50; {三个RPS之一超过90}
FKD21:=AMO=HHV(AMO,10);{创10日的最高成交金额} FKD22:=C/REF(C,1)>1.099;{当日上涨超过9.9%} FKD23:=AMO/MA(AMO,10)>2;{成交金额是10天平均的一倍以上} KD20:=FKD21 OR FKD22 OR FKD23; {创10日的最高成交金额,或者当日上涨超过9.9%,或者成交金额是10天平均的一倍以上}
KD3:=C/REF(C,1)>=1.05;{当日上涨超过5%}
FKD250:=H>=HHV(H,250);{创250日的最高价} FKD41:=FKD250 OR LLV(L,15)>LLV(L,50);{15日内的最低价不是50日内的最低价,或者创250日的最高价} FKD42:=LLV(L,15)=LLV(L,50) AND LLV(L,15)>LLV(L,100) AND H/HHV(H,250)>0.88;{15日内的最低价等于50日内的最低价,但不是100天内的最低价,且接近一年新高} FKD43:=LLV(L,15)=LLV(L,50) AND LLV(L,15)>LLV(L,100) AND H/HHV(H,250)>0.75 AND H>=HHV(H,40) AND C/REF(C,1)>1.07; {15日内的最低价等于50日内的最低价,但不是100天内的最低价,且接近一年新高,且创40日的最高价,且当天涨幅大于7%} KD4:=FKD41 OR FKD42 OR FKD43;{结构紧凑的重要条件}
FKD511:=C/MA(C,90)>1;{收盘价站上90天线} FKD512:=MA(C,90)>=REF(MA(C,90),5);{90天线呈上升趋势} FKD513:=HIGH/HHV(HIGH,90)>=1;{创90日的最高价} FKD51:=FKD511 AND FKD512 AND FKD513; FKD521:=C/MA(C,100)>1;{收盘价站上100天线} FKD522:=MA(C,100)>=REF(MA(C,100),5);{100天线呈上升趋势} FKD523:=HIGH/HHV(HIGH,100)>=1;{创100日的最高价} FKD52:=FKD521 AND FKD522 AND FKD523 AND FKD512; FKD531:=C/MA(C,120)>1;{收盘价站上半年线} FKD532:=MA(C,120)>=REF(MA(C,120),2);{半年线呈上升趋势} FKD53:=FKD531 AND FKD532; KD5:=FKD51 OR FKD52 OR FKD53;
H120:=HHV(H,120); {120内的最高点} T1:=HHVBARS(H,120); {120内的最高点距今天的天数} L120:=LLV(L,T1+1); {120内的最高点至今,这个区间的最低点} FKD61:=LLV(L,40)/HHV(H,120)>0.5;{40日内最低价不低于120日内最高价的一半} FKD6:=FKD61 OR FKD250;{40日内最低价不低于120日内最高价的一半,或者创250日的最高价} KD6:=L120/H120>0.54 AND FKD6; {阶段最大下跌幅度不超过-46%}
TJ:=KD1 AND KD20 AND KD3 AND KD4 AND KD5 AND KD6; {6个条件都必须满足}; {每个口袋画上三角符号} DRAWICON(TJ,L*0.99,38);
2、主图指标选择MA3。 ![]() ![]() 当查看个股时,主图显示效果: ![]() ![]() 当查看板块指数时,主图显示效果: ![]() 3、副图指标。 有了主图,副图主要放哪些常用指标呢?这个比较个性化,没有标准答案,而且在使用的过程中,经常会根据需要切换。建议至少要包含RPS曲线和成交量这两个副图指标,其他的副图指标随意,以下提供一个参考。 其中:指数对比指标,输入:ZSDB,就可以调出来。 ![]() 到目前为止,你已经成功配置了RPS曲线,板块RPS曲线,基金+北向股票池,接近一年新高公式,月线反转,口袋支点,个股一线红,顺向火车轨,净利润断层,主图MA3公式,以及副图常用公式。 结语: 到目前为止,你已经获得了一个陶粉的标准战斗包。剩下的一些公式以及副图公式,可以作为选装包。比如本公众号公布的火车轨数量副图,站上50日均线比例副图,以及其他的基本面公式等,你可以自行参照相关文章选配,这些并不是必须的。 接下来,会根据朋友们的反馈,酌情再补充一点内容到这个系列,争取让大家一站式配齐吧。 这些公式是小生这几年学习陶博士方法一路整理收集的,几乎毫无保留的把所有干货都端了出来,外加一勺一勺的喂给大家,这种星级的保姆级服务全网可是为数不多的,不知客官们是否还满意。 ![]() 一元基础教程接近尾声,前排的观众朋友,值回票价了吗? ![]() |
|