加载中…
个人资料
凡人sypls
凡人sypls
  • 博客等级:
  • 博客积分:0
  • 博客访问:588,118
  • 关注人气:518
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

通达信公式教程(五)《快速改写选股指标与优化》

(2012-03-16 16:31:44)
标签:

杂谈

分类: 通达信使用知识
 

第六讲:均线(选股)的基本形态

  提示:K线的初步平均。(O+H+L+C*2)/5; 或  (H+L+C*2)/4;  

  一般认为:收盘价是最有说服力的和最有价值的,它是每天激烈争夺的最后妥协。但也有人认为:收盘价固然重要,其他价格也是争夺的产物。所以将全天的几种价格因素都考虑进去更能反映每天的真实情况。

  1、最简单的指标线

  (1)均价线 就是移动平均线MA,“MA”表示的就是计算平均值。

  MA1=MA(CLOSE,5);5日平均线=(今天收盘价+昨天收盘价+.....--5天前的收盘价)/5;

  MA2=MA(CLOSE,10);10日平均线=(今天收盘价+昨天收盘价+......+10天前的收盘价)/10;

  (2)均量线 均价线会了,照着葫芦画瓢,把收盘价CLOSE换成成交量VOL就行了!

  例:MA1:MA(VOL,5);

  MA2:MA(VOL,10);   

  2、再次平均 指将已有的均线(多条均线)相加后进行再平均。

  MA1=MA(CLOSE,5);

  MA2=MA(CLOSE,10);

  (MA1+MA2)/2;  

  3、N日均线向上 (本题反映均线波浪式延伸过程中某阶段的形态。)

  AA:=MA(C,N);

  BB:=REF(AA,1);

  AA>BB

  均线向下呢? AA< BB 就可以了。

  N日均线走平怎么表述?AA=BB  

  4、均线由下跌状态刚刚转为上升

  AA:=MA(C,N);

   COUNT(AA<REF(AA,1),6)=5   //用来确认前5日处于下跌状态

    AND AA>REF(AA,5);

  5、年线拐头向上

  A250:=MA(C,250);

  REF(A250,1)<REF(A250,2) AND A250>REF(A250,1);  

  6、两条均线交叉

  股软中专门设定了一条函数来描述两条线交叉:CROSS(X,Y),此函数通用。

  假如两条均线一条名叫X,另外一条叫Y  且(X<Y)

  CROSS(X,Y)表示X向上穿过了Y  通称:金叉

  CROSS(Y,X)表示Y向上穿过了X  通称:死叉

  特别提示:交叉有两种,一种是向上交叉,另一种是向下交叉。如果要求向上交叉时,X线必须比前一天高,所以需要加上 X>REF(X,1) 。完整的表达式为:CROSS(X,Y)AND  X>REF(X,1)

  加餐:

  上述交叉是不限制周期的,有时我们会感到交叉特别频繁,如何取得他们较长时间交叉一次的数据呢,系统提供了另一个函数: LONGCROSS(X,Y,N) 两条线维持N周期后交叉。如果N等于15,则X Y两条线超过15天后交叉有效,否则不输出。

  7、多次金叉(以常见的MACD指标为例)

  (1)二次金叉

  (COUNT(CROSS(DIF,DEA),20)=2 AND CROSS(DIF,DEA);

  (2)二次死叉

  COUNT(CROSS(DEA,DIF),20)=2 AND CROSS(DEA,DIF);

  (3)0轴上二次金叉

  COUNT(CROSS(DIF,DEA) AND DEA>0,20)=2 AND CROSS(DIF,DEA) AND

  DEA>0;

  (4)0轴上三次金叉

  COUNT(CROSS(DIF,DEA) AND DEA>0,20)=3 AND CROSS(DIF,DEA) AND

  DEA>0; 

  8、三线金叉

  A5:=MA(C,5);

  A10:=MA(C,10);

  A30:=MA(C,30);

  AA:=CROSS(A5,A10);

  BB:=CROSS(A5,A30);

  CC:=CROSS(A10,A30);

  COUNT(AA,3)=1 AND COUNT(BB,3)=1 AND COUNT(CC,3)=1;

  9、三线同时金叉

  A5:=MA(C,5);

  A10:=MA(C,10);

  A20:=MA(C,20);

  AA:=CROSS(C,A5);

  BB:=CROSS(C,A10);

  CC:=CROSS(C,A20);

  AA AND BB AND CC;  

  10、均线多头排列

  A1:=MA(C,N1);

  A2:=MA(C,N2);

  A3:=MA(C,N3);

  A4:=MA(C,N4);

  A1>A2 AND A2>A3 AND A3>A4;

  11、均线空头排列3天以上

  A1:=MA(C,N1);

  A2:=MA(C,N2);

  A3:=MA(C,N3);

  A4:=MA(C,N4);

  COUNT(A1< A2 AND A2< A3 AND A3< A4,3)>=3;

  12、向前N日至M日出现过均线死叉(P1< P2)

  AA:=MA(C,P1);

  BB:=MA(C,P2);

  CC:=REF(CROSS(BB,AA),N);

  COUNT(CC,M);  

  13、均线粘合

  MA1:=MA(C,5);

  MA2:=MA(C10);

  MA3:=MA(C,20);

  P1:=ABS(MA1-MA2)+ABS(MA2-MA3);

  P1/C<1/100 AND MA1>REF(MA1,1) AND MA2>REF(MA2,1); 

  14、均线粘合(另种表达式)

  MA1:=MA(C,5);

  MA2:=MA(C,10);

  MA3:=MA(C,30);

  A:=MAX(MAX(MA1,MA2),MA3);

  B:=MIN(MIN(MA1,MA2),MA3);

  COUNT(ABS(A-B)/B<0.01,3)=3;表示已粘合3天(含3天)以上

  15、多条均线粘合  如5、10、20、30、120、250日移动平均线粘合

  aa:=(ma(c,5)+ma(c,10)+ma(c,20)+ma(c,30)+ma(c,120)+ma(c,250))/6;

  up:=aa*n/100+aa;

  down:=aa-aa*n/100;

  count(BETWEEN(ma(c,5),up,down) and BETWEEN(ma(c,10),up,down) and BETWEEN(ma(c,20),up,down) and BETWEEN(ma(c,30),up,down)and BETWEEN(ma(c,120),up,down) and BETWEEN(ma(c,250),up,down),m)=m;

    n(2,1,500) m(10,1,100)调整参数n为粘合程度,n值越小粘合的程度越高,即均线距离越近;m为粘合周期。

  16、乖离均线

  BIAS1:(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100;

  当日股价与N日均线的乖离率=(当日股价-N日均价)/N日均价*100; 

  特别提示:乖离均线是由乖离率的“连成的均线。此线虽非普通均线,因常用,故单提出来。

  原理:以当日的均线价格为准,股价和均价之间的差距称为乖离程度,以乖离程度除以均价的百分比就是乖离率。

新兵老头ch

新兵有个想法,不知怎样用公式表达,望高手指教。

    各股涨跌同步,没有强弱的情况下,大盘的涨跌幅度对应分摊到各股,各股的涨跌幅度是多少?如何用公式表达。

我的意思是:大盘涨跌幅度,对应到各股是不同的。比如:大盘下跌1%,各股分别应下跌多少(假设各股之间没有强弱之分)才能对应。

老师答:

(INDEXC/REF(INDEXC,1)-1)/1400;

全A1400多支,每天开盘的约1400支,不考虑各股所占比重,均摊如上。注意,负数时为下降。

 

 

第七讲从源码中提取选股公式

  要点:从后往前找,删除没用条,去掉修饰符,个别加等号。

例一:找出买点

VAR1:=(((HHV(HIGH,36) CLOSE) (HHV(HIGH,36) LLV(LOW,36))) 100);

VAR2:=SMA(VAR1,5,1);

VAR3:=SMA(VAR2,8,1);

H1:EMA(CLOSE,8),LINETHICK1;

H2:EMA(H1,20),LINETHICK1;

VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 20));

VAR5:=((CLOSE (LLV(CLOSE,60) (0.3 LLV(CLOSE,60)))) AND VAR4);

VAR6:=IF((CLOSE 1000),VAR4,VAR5);

M1:EMA(CLOSE,60);

M2:EMA(CLOSE,89);

M3:EMA(CLOSE,233),LINETHICK1;

M4:EMA(CLOSE,583),LINETHICK1;

STICKLINE((H1 H2),H1,H2,1,0.8);

STICKLINE((H1 H2),H1,H2,1,0.8);

DRAWTEXT((CROSS(H1,H2) AND (CLOSE EMA(CLOSE,60))),(LOW 0.92),''买'');

DRAWTEXT(VAR6,(HIGH 1.08),''卖'');

分解说明:

VAR1:=(((HHV(HIGH,36) CLOSE) (HHV(HIGH,36) LLV(LOW,36))) 100);

VAR2:=SMA(VAR1,5,1);

VAR3:=SMA(VAR2,8,1);

H1:EMA(CLOSE,8),LINETHICK1;

H2:EMA(H1,20),LINETHICK1;

VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 20));

VAR5:=((CLOSE (LLV(CLOSE,60) (0.3 LLV(CLOSE,60)))) AND VAR4);

VAR6:=IF((CLOSE 1000),VAR4,VAR5);

M1:EMA(CLOSE,60);

M2:EMA(CLOSE,89);

M3:EMA(CLOSE,233),LINETHICK1;

M4:EMA(CLOSE,583),LINETHICK1;

STICKLINE((H1 H2),H1,H2,1,0.8);

STICKLINE((H1 H2),H1,H2,1,0.8);

第一步{从后往前找}找到下面这行“的输出语句。然后看这条语句的基本条件。

  DRAWTEXT((CROSS(H1,H2) AND (CLOSE EMA(CLOSE,60))),(LOW 0.92),''买'');

查看结果:输出文字 交叉 条件,条件 直 接 输 出语句 输出位置 文字

DRAWTEXT(VAR6,(HIGH 1.08),''卖'');

知道“基本条件为 H1,H2,那么与此没有任何关系的语句从后往前删除。删的办法有两种:一是直接删掉;二是先用{}括上,待没问题时再一次性删除。加蓝色的为找到的不输出语句。

第二步{删除没用条}后,剩下的有用语句:

H1:EMA(CLOSE,8),LINETHICK1; {加蓝的为修饰类函数,原则一律删除。}

H2:EMA(H1,20),LINETHICK1;

DRAWTEXT((CROSS(H1,H2) AND (CLOSE EMA(CLOSE,60))),(LOW 0.92),''买'');

第三步{去掉修饰符} 分别去掉:指标线粗细、显示文字、文字位置函数和文字

H1:EMA(CLOSE,8);

H2:EMA(H1,20);

CROSS(H1,H2) AND CLOSE EMA(CLOSE,60);

第四步{个别加等号} 条件选股只能输出一条语句,上面这三行为全部输出,所以,作为“条件的前两行还必须在冒号后面加上等号,表达不输出。结果:

H1:=EMA(CLOSE,8);

H2:=EMA(H1,20);

CROSS(H1,H2) AND CLOSE EMA(CLOSE,60);

 

例二、找出笑脸和买入信号

以本人发过的《跟庄建仓》为例。

A01:=DYNAINFO(7);

A03:=BARSCOUNT(CLOSE);

A04:=(SMA((CLOSE HHV(HIGH,120)),3,1) 100);

A05:=IF((A03 20),A04,0);

A06:=IF((LOW A01),0,IF((HIGH A01),1,(((A01 LOW) 0.009) ((HIGH LOW) 0.009))));

A07:=DMA(A06,(VOL CAPITAL)) 60;

A09:=IF((((A07 0) AND (A07 REF(A07,1))) AND (A05 <= 88)),A07,0);

Var1:=3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1);

Var2:=EMA(Var1,8);

Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);

趋势:=EMA(Var3,3)-10;

FILLRGN(趋势>80,趋势,80);

DRAWICON(CROSS(趋势,0),0,1);

FILLRGN((A09 AND (趋势<20 OR 趋势>REF(趋势,1)AND 趋势<50)),0,A09),colorFFFF00;

机构建仓区:0,LINETHICK0,colorFFFF00;

Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100;

STICKLINE(趋势<=13,0,20,5,0),colorcc9900;

DRAWTEXT(FILTER(趋势<=13,15),30,''准备现金''),colorcc9900;

STICKLINE(趋势<=13 AND Var4>13,0,50,5,0),color0099ff;

Var5:=FILTER((趋势<=13 AND Var4>13),10);

DRAWTEXT(Var5,60,''买入''),color0099ff;

STICKLINE(趋势>=90 AND Var4,0,30,5,0),colorgray;

Var6:=FILTER(趋势>=90,10);

DRAWTEXT(Var6,40,''清仓''),colorgray;

Var7:=LLV(LOW,30);

Var8:=HHV(HIGH,30);

Var9:=EMA((CLOSE-Var7)/(Var8-Var7)*4,4)*25;

STICKLINE(Var9>90,100,105,10,2),COLORRED;

STICKLINE(CROSS(Var4,-40),10,55,6,0),COLORRED;

Var10:=(Var9-LLV(Var9,4))/(HHV(Var9,4)-LLV(Var9,4))*100;

DRAWTEXT(IF(CROSS(Var9,Var10) AND Var9>87,95,0),88,''险''),Color00FF00,ALIGN1;

DRAWICON(CROSS(90,Var9),95,9);

Var11:=SMA(ABS(L-REF(L,1)),3,1)/SMA(MAX(L-REF(L,1),0),3,1)*100;

Var12:=HHV(Var11,30)*8;

火焰山:EMA(IF(LOW<=Var7 AND 趋势<40,(Var11+Var12),0),3)/618,COLORRED,linethick2;

STICKLINE(火焰山>0,0 ,火焰山*1.2,8,0 ),COLORRED;

Var13:=(MA(C,1)+MA(C,3)+MA(C,5)+MA(C,7)+MA(C,9))/5;

Var14:=(MA(C,2)+MA(C,4)+MA(C,6)+MA(C,8)+MA(C,10))/5;

趋势线: 趋势,colorff0000;

Var16:=MAX(EMA(Var13,2)-EMA(Var14,5),0)*200;

Var17:=EMA(Var16,5);

波浪峰:Var17,stick,colorff00ff;

STICKLINE(Var17<REF(Var17,1),0,Var17,1,0),color00ff00;

Var18:=MA(趋势线,8);

if(CROSS(Var2,Var18) AND Var2<15,50,0),COLORRED;

DRAWTEXT(CROSS(趋势线,Var2)AND 趋势线>REF(趋势线,1)AND 趋势线<50,50,''追涨''),COLORFF0000;

分析:这个公式输出语句非常多,但多数都是用于趋势判断的。所以不用管它。仍按我们既定的思路进行。

第一步{从后往前找},先删除发出信号关键语句之后的(红色为输出语句,它以下的语句已经删去,蓝色为等待下步删除的)

A01:=DYNAINFO(7);

A03:=BARSCOUNT(CLOSE);

A04:=(SMA((CLOSE HHV(HIGH,120)),3,1) 100);

A05:=IF((A03 20),A04,0);

A06:=IF((LOW A01),0,IF((HIGH A01),1,(((A01 LOW) 0.009) ((HIGH LOW) 0.009))));

A07:=DMA(A06,(VOL CAPITAL)) 60;

A09:=IF((((A07 0) AND (A07 REF(A07,1))) AND (A05 <= 88)),A07,0);

Var1:=3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1);

Var2:=EMA(Var1,8);

Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);

趋势:=EMA(Var3,3)-10;

FILLRGN(趋势>80,趋势,80);

DRAWICON(CROSS(趋势,0),0,1);

FILLRGN((A09 AND (趋势<20 OR 趋势>REF(趋势,1)AND 趋势<50)),0,A09),colorFFFF00;

机构建仓区:0,LINETHICK0,colorFFFF00;

Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100;

STICKLINE(趋势<=13,0,20,5,0),colorcc9900;

DRAWTEXT(FILTER(趋势<=13,15),30,''准备现金''),colorcc9900;

STICKLINE(趋势<=13 AND Var4>13,0,50,5,0),color0099ff;

Var5:=FILTER((趋势<=13 AND Var4>13),10);

DRAWTEXT(Var5,60,''买入''),color0099ff;

第二步{删除没用条}后

Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);

趋势:=EMA(Var3,3)-10;

DRAWICON(CROSS(趋势,0),0,1);

Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100;

Var5:=FILTER((趋势<=13 AND Var4>13),10);

DRAWTEXT(Var5,60,''买入''),color0099ff;

第三步{去掉修饰符后}:

趋势:=EMA(Var3,3)-10;

CROSS(趋势,0);

Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100;

Var5:=FILTER((趋势<=13 AND Var4>13),10);

Var5;

第四步{个别加等号}本公式中的“条件语句都是不输出的,所以此项省略,但因是要笑脸和买入两个信号,所以还必须把它们连结起来:

Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1);

趋势:=EMA(Var3,3)-10;

Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100;

Var5:=FILTER((趋势<=13 AND Var4>13),10);

CROSS(趋势,0)or Var5;

江南茶外汇  请问老师?

我的软件是银河双子星我在写习题:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。时做了如下操作:

1,MA1:=MA(CLOSE,10);MA2:=MA(CLOSE,20);CROSS(MA1,MA2);

2,C:=CLOSE/REF(CLOSE,1)>3/100;

3,V:=VOL/REF(VOL,1)>2;

4,CROSS(MA1,MA2)ANDCLOSE/REF(CLOSE,1)>3/100AND(VOL/VOL,1)>2;

但我完成测试时电脑不给通过 上面提示说"行2:缺少;"

请问我是哪里错了?谢谢!

老师答:以这个题目讲解一下。

1、收盘价等专用函数如(C,O,H,L,V,AND,OR)是不能作为引导语句的。

2、后面输出和前面交待的条件多处重复。

整理后的:

MA1:=MA(CLOSE,10);

MA2:=MA(CLOSE,20);

CROSS(MA1,MA2)ANDCLOSE/REF(CLOSE,1)>3/100 AND VOL/(VOL,1)>2;

或者:

MA1:=MA(CLOSE,10);

MA2:=MA(CLOSE,20);

AA:=CROSS(MA1,MA2);

BB:=CLOSE/REF(CLOSE,1)>3/100;

VV:=VOL/REF(VOL,1)>2;

AA AND BB AND VV;

编写公式如同做数学题,要有一个反复领会和实践的过程,不能指望一蹴而就。

没事时打开公式编辑器,从简单的入手,编几个,看看图形,慢慢就会,熟能生巧。

 

第八讲 函数的综合运用

第一部分:引用已有公式中的数据

基本引用例一

       "macd.  diff",   "macd.dea";

基本格式: 指标名称 语句名称  (注意:必须用双引号引上)

加入参数例二

             "kdj.   k"     (9,3,3)     ;

  基本格式:指标名称 语句名称   参数 (指标名称和语句名称之间用隔点.隔开)加入参数例三

             周m:"macd.   diff   #WEEK";

引用周线:指标名称 语句名称 周函数 (注意:周函数前加#字号)

月K:"kdj.k#MONTH";

引用月线同上,只是换成月函数。

应用实例:主图 顶底背离

A1:=BARSLAST(ref(cross("macd.diff"(12,26,9),"macd.dea"(12,26,9)),1));

B1:=ref(c,A1+1)>c and ref("macd.diff"(12,26,9),A1+1)<"macd.diff"(12,26,9) and cross("macd.diff"(12,26,9),"macd.dea"(12,26,9));

MACD底背离:STICKLINE(FILTER(B1>0,5),0,0.75,3,0),COLOR00FF00;

DRAWTEXT(FILTER(B1>0,5),0.57,''MACD底背离''),COLOR00FF00;

A2:=BARSLAST(ref(cross("kdj.k"(9,3,3),"kdj.d"(9,3,3)),1));

B2:=ref(c,A2+1)>c and ref("kdj.k"(9,3,3),A2+1)<"kdj.k"(9,3,3) and cross("kdj.k"(9,3,3),"kdj.d"(9,3,3));

KDJ底背离:STICKLINE(FILTER(B2>0,5),0,1,3,0),COLORYELLOW;

DRAWTEXT(FILTER(B2>0,5),0.80,''KDJ底背离''),COLORYELLOW;

A3:=BARSLAST(ref(cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)),1));

B3:=ref(c,A3+1)>c and ref("RSI.RSI1"(6,12,24),A3+1)<"RSI.RSI1"(6,12,24) and cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24));

RSI底背离:STICKLINE(FILTER(B3>0,5),0,0.5,3,0),COLORFFCC66;

DRAWTEXT(FILTER(B3>0,5),0.25,''RSI底背离''),COLORFFCC66;

DRAWTEXT(FILTER(D1>0,5),1.47,''MACD顶背离''),COLOR0066FF;

C2:=BARSLAST(ref(cross("kdj.d"(9,3,3),"kdj.k"(9,3,3)),1));

D2:=ref(c,C2+1)"kdj.k"(9,3,3) and cross("kdj.d"(9,3,3),"kdj.k"(9,3,3));

KDJ顶背离:STICKLINE(FILTER(D2>0,5),2,1,3,0),COLORRED;

DRAWTEXT(FILTER(D2>0,5),1.2,''KDJ顶背离''),COLORRED;

C3:=BARSLAST(ref(cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)),1));

D3:=ref(c,C3+1)"RSI.RSI1"(6,12,24) and cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24));

RSI顶背离:STICKLINE(FILTER(D3>0,5),2,1.5,3,0),COLORFF00FF;

DRAWTEXT(FILTER(D3>0,5),1.75,''RSI顶背离''),COLORFF00FF;

 

第二部分 逐步增加函数

以均线为例,主图:

基本句型

MA5:MA(C,5);

MA10:MA(C,10);

MA30:MA(C,30);

MA60:MA(C,60);

增加颜色(注:在没有颜色输出符号时,系统会自动加上颜色)

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW;

将10日均线变成小圆圈线

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0,CIRCLEDOT;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW;

将60日均线加粗

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0,CIRCLEDOT;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW,LINETHICK3;

在5日均线金叉10日均线处显示符号

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0,CIRCLEDOT;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW,LINETHICK3;

金叉:=CROSS(MA5,MA10);

DRAWICON(金叉,L,1); 

DRAWTEXT(金叉,L,''金叉'');

STICKLINE(金叉,H,L,6,0); (注:这三种显示方式用其中一种就行)

30日均线向上时显示红色,否则为绿色

MA5:MA(C,5),COLORBLUE;

MA10:MA(C,10),COLORF00FF0,CIRCLEDOT;

MA30:MA(C,30),COLORFFFF00;

MA60:MA(C,60),COLORYELLOW,LINETHICK3;

金叉:=CROSS(MA5,MA10);

DRAWICON(金叉,L,1);

DRAWTEXT(金叉,L,''金叉'');

STICKLINE(金叉,H,L,6,0);

PARTLINE(MA30>=REF(MA30,1),MA30),COLORRED;

PARTLINE(MA30

(注:最后两行为划分段线,大智慧没有此项功能,大智慧2和分析家 同花顺用下面这行)

PARTLINE(MA30,MA30>=REF(MA30,1),RGB(255,0,0),MA30

 

第九讲:常用函数示例

  系统中的函数非常多,其中的一些函数只有在特定的语句中才会用得到。本文介绍几个能经常用到函数,方便大家在以后编写时使用。 

  1、COUNT 统计总数

  原理:COUNT (X,N),统计N周期中满足条件X的周期数,若N=0则从第一个有效值开始。

  例如:COUNT(C

  以前曾列举过这个函数,今天单独拿出来,是想进一步说明它的应用原理。以上面这个例子,单独使用是没有任何意义的。如语句:金叉 AND COUNT(C

  那么怎么才能发挥它的作用呢?还必须在它的后面加上我们要求的条件。如:10周期内收阴的周期数大于7,完整的表达式:金叉AND COUNT(C7;  再举几个例子:

  成交量连续5天上升:COUNT(VOL>(VOL,1),5)=5;

  如果求5天内只能1天上升:COUNT(VOL>(VOL,1),5)=1;

  如果在5天内成交量大于5日均量有2天以上呢COUNT(VOL>MA(VOL,5),5)>=2;

  2、FILTER 信号过滤

  用法:FILTER(X,N),X满足条件后,将其后N周期内的数据置为0。此函数常应用于画图标、显示文字以及选股公式出现连续信号时。

  例如:当3日均线和5日均线金叉时在最低价位置标记“金叉

  MA3:=MA(CLOSE,3);

  MA5:=MA(CLOSE,5);

  AA:=CROSS(MA3,MA5);

  DRAWTEXT(AA,L,''金叉'');

  这样有时就会出现“金叉字重叠现象,杂乱难看。若过滤一下,舍去5天内重复出现的,则最后一句改为:

  DRAWTEXT(FILTER(AA,5),L,''金叉'');就不会出现信号过多的现象了。

  3、SUM 求和

  用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。

  例如:SUM(VOL,10),表示统计从10周期以来的成交量总和。这个好理解,就不多说了。

  4、HHV 最高值

  用法:HHV(X,N),求N周期内X的最高值,N=0则从第一个有效值开始。

  例如:HHV(HIGH,30),表示求30日最高价。那么10天内的最高收盘价呢?HHV(C,10)。

  另外还有一个与此相反的函数 最低值 LLV 原理与此相同。

  5、MAX 最大值

  用法:MAX(A,B)返回A和B中的较大值

  例如:MAX(C,0),表示取得收盘价和开盘价中较大的值。若求开盘价、收盘价和昨天收盘价中的最大值,则:MAX(MAX(C,0),REF(C,1));就是叠加一个最大值函数。

  另外,还有一个相反函数:MIN,最小值,原理与最大值相同。

  注:最大值与最高值是不能混用的。

  6、COST 成本分布

  用法:COST(20) 表示20%获利盘的价格是多少

  即有20%的持仓量在该价格以下,其余80%在该价格以上,为套牢盘。

  7、WINNER 获利盘比例 与成本分布相对应,都是计算获利情况的。

  WINNER(10) 表示10元价格的获利盘比例;

  WINNER(CLOSE) 表示以收盘价卖出的获利盘比例,如该值返回0.2,表示在当天的收盘价上卖出,只有20%的人是赚钱的。

  以上两个函数仅对日线分析周期比较有效。

  以上两个函数在有些股软或《未来函数检测器》中被认定为未来函数。

  据有人考证,该函数的在极个别的情况下确实出现过信号漂移现象。但一般情况下还是比较稳定的。

 

第十讲:系统常用指标原理解析

  例一、BIAS乖离率

  指标原理:BIAS是运用股价指数与移动平均值的比值关系,观测股价偏离移动平均线的程度,以此决定投资者的买卖行为。

  计算方法:(当日收盘价-当日MA均线值)/当日MA均线值*100

  BIAS1:(CLOSE,MA(CLOSE,L1))/MA(CLOSE,L1)*100;

  BIAS2:(CLOSE,MA(CLOSE,L2))/MA(CLOSE,L2)*100;

  BIAS3:(CLOSE,MA(CLOSE,L3))/MA(CLOSE,L3)*100;

  应用原则:偏离率与移动平均值一致时,偏率为0,偏离率为正值时,偏离率在移动平均线上方,说明股市呈上升趋势;偏离率为负值时,偏离率在移动平均线下方,说明股市有下跌趋势;Y值偏离移动移动平均线的界定范围大体在15%至-15%,即:当Y值在0-15%时,可适当卖出股票,股价有可能反跌,当Y值在0-15%时,可适当买入股票,股价有可能反弹。

  例二、MACD(柱线的编写实例)

  指标原理:MACD实质上是基于BIAS乖离率的变形应用。它是利用二条不同速度(一条变动的速率快--短期的移动平均线,另一条较慢--长期的移动平均线)的指数平滑移动平均线来计算,二者之间的差异状况(DIF)作为研判行情的基础,然后再求其DIF之9日平滑移动平均线,即MACD线,MACD实际就是运用快速与慢速移动平均线聚合与分离的征兆,来研判买进与卖出的时机和讯号。

  计算方法:EMA:指数平滑移动平均线

  N:周期  DIFF:乖离率 DEA:离差平均值

  移动平均线(12日EMA)=前一日EMA*/1-2/(N+1)+今日收盘价*2/(N+1)

  DIFF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);

  DEA:EMA(DIFF,M);

  MACD:2*(DIFF-DEA),COLORSTICK;

在最后一句话当中,2是实际一个常数参数,它在这里的作用在于放大效果。

  应用原则:

  1、DIF与DEA均为正值时,大势属多头市场;

  2、DIF与DEA均为负值时,大势属空头市场;

  3、DIF向上突破DEA时,可买入;

  4、DIF向下突破DEA时,应卖出;

  例三、RSI指标

  指标原理:该指标根据估价“择强汰弱的原理,以特定时期内股价的变动情况推测价格未来的变动方向,并根据股价涨跌幅度显示市场的强弱,通过比较一段时期内的平均收益涨数和平均收盘跌数来分析市场买卖盘的意向和实力,从而作出未来市场的走势的分析。

  计算方法:计算公式为:rsi=n日内收盘涨幅平均值/n日内收盘涨跌幅绝对值的平均值的平均值*100。

  编写要点:该指标由两条指标线组成,编写出其一,其他的依次类推;涨幅的表达用“今日收盘-前日收盘”,即“LC:=CLOSE-REF(CLOSE,1)”表示;ABS(X)表示求得绝对值;MAX(CLOSE-LC,0),表示如果本周期上涨即得上涨值,否则取0,很多时候我们利用MAX函数使变量和0进行比较,然后求得变量中的正值。

  LC:=REF(CLOSE,1);

  RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;

  RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100;

  RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100;

  应用原理: RSI取值超过50,表明市场进入强势。RSI低于50,表明市场处于弱势。

  短期的RSI在20以下的水平,由下往上交叉长期的RSI时,为买进讯号。短期的RSI在80以上的水平,由上往下交叉长期的RSI时,为卖出讯号。

  从RSI与股价的背离方面判断行情,RSI处于高位,并形成一峰比一峰低的两个峰,而此时,股价却对应的是一峰比一峰高,这叫顶背离。股价这一涨是最后的衰竭动作。这是比较强烈的卖出信号。RSI在低位形成两个依次上升的谷底,而股价还在下降,这是最后一跌或者说是接近最后一跌,是可以开始建仓的信号。

  连接RSI连续的两个底部,划出一条由左向右上方倾斜的切线,当RSI向下跌破这条切线时,是一个很好的卖出讯号。连接RSI连续的两个峰顶,划出一条由左向右下方倾斜的切线,当RSI向上突破这条切线时,是一个很好的买进讯号。

  例四、KDJ指标

  KDJ随机指标是欧美期货常用的一套技术分析工具。KD线的随机观念,远比移动平均线实用很多。因为移动平均线在习惯上其以收盘价来计算,无法表现出一段行情的真正波幅。

  编写要点:RSV的计算方法为收盘价和N1天内的最高和最低的差的比值,使用函数HHV、LLV可以轻松地得到最高和最低;

  RSV:=(CLOSE-LLV(LOW《N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100;

  K:SMA(RSV,N2,1);

  D:SMA(K,N3,1);

  J:3K-2D

  买卖原则:K值由右边向下交叉D值作卖,K值由右边向上交叉D值作买。

  D值<20%超卖,D值>80%超买;J>100%超买,J<100%超卖,KD值于50%左右徘徊或交叉时,无意义。

 

例五、OBV指标

  指标原理:有些人把每一天的成交量看作像海里的潮汐一样,形象地称OBV为能量潮。我们可以利用OBV验证当前股价走势的可靠性,并可以由OBV得到趋势可能反转的信号,对于准确预测未来是很有用的,比起单独使用成交量,OBV比成交量看得清楚。

计算方法:OBV构成的基本原理,是根据潮涨潮落的原理。每一天的成交量可以理解成潮水,但这股潮水是向上还是向下,是保持原来的方法,还是中途回落?这个问题就有当天的收盘价与昨天的收盘价的大小比较而决定。

  1、如果今收盘价≥昨收盘价,则这一潮水属于多方的潮水,

  2、如果今收盘价<昨收盘价,则这一潮水属于空方的潮水。

  SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE

  买卖原则:OBV不能单独使用,必须用股价曲线结合使用才能发挥作用。从OBV的取值大小不能得到任何结论。我们关心的只是近日的OBV曲线的相对走势,而OBV的取值的绝对数字对我们是没有用处的。OBV曲线的上升和下降对我们进一步确认当前股价的趋势有着很重要的作用。股价上升(或下降),而OBV也相应地上升(或下降),则我们可以更相信当前的上升(或下降)趋势。股价上升(或下降),但OBV并未相应的上升(或下降),则我们对目前的上升(或下降)趋势的认可程度就要打折扣。这就是背离现象。OBV已经提前告诉我们趋势的后劲不足,有反转的可能。在股价进入盘整区后,OBV曲线会率先显露出脱离盘整的信号,向上或向下突破。

  例六、BOLL指标

  指标原理:利用统计学原理,求出股价的标准差及其信赖区间,其上下限的范围不被固定,随股价的变动而表动。

  计算方法:先规定一个标准差,再求算出一个上下限波动区间,其波动的上下限随股价浮动。

  MID=N天的收盘价的均价;

  STD=N天的收盘价的标准差;

  UPPER=MID+离差系数*STD;

  LOWER=MIN-离差系数*STD;

  编写要点:STD(X,N)表示计算标准差。首先得到一段时间N天的MA,然后按照您要设定的参数赋与标准差之后加减即得到上下两根BOLL线,中间的通道为BOLL通道。

  MID:MA(CLOSE,N);

  UPPER:MID+P*STD(CLOSE,N);

  LOWER:MID-P*STD(CLOSE,N);

  买卖原则:

  1、当布林通道由宽变窄时,说明股价逐渐向中值回归,股市进入一个整理区间,投资者应以观望为主。

  2、当通道由窄变宽时,意味着行情开始发生变化,如果股价逼近或穿过上限值,表明超买力量增强,股市可能会短期下跌,此时应卖出股票,反之,当股价逼近或穿过下限值时,表明超卖力量增强,股市可能会短期反弹,此时应买进股票。

  3、柱体在布林通道中沿上限线运行,意味涨幅会持续。

  例七、威廉指标W&R

  指标原理:威廉指标是一种利用振荡点来反映市场超买超卖现象,预测循环周期内的高点和低点,从而提出有效的信号来分析市场短期行情走势,判断股市强弱分界的技术指标。

  AA:=(HHV(HIGH,N)-CLOSE);

  BB:=(HHV(HIGH,N)-LLV(LOW,N));

  W&R:100*AA/BB

  买卖原则:当W&R高于80%,即处于超卖状态,行情即将见底,应当考虑买入。W&R低于20%,即处于超买状态,行情即将见顶,应当考虑卖出。在W&R进入高位后,一般要回头,如果这时股价还继续下跌,这就产生背离,是进货的信号。在W&R进入低位后,一般要反转,如果这时股价还继续上升,这就产生背离,是卖出的信号。W&R连续几次撞顶(底),局部形成双重或多重底(顶)则是(进货)出货的信号。

 

附件一:       关于“未来函数问题的探讨

    很多人使用指标公式,不知有“未来函数,更有人一提到未来函数就谈虎色变,大骂未来函数之害,这都是不正确的。要弄懂未来函数的本质,必须知其然并知其所以然,下面从五个方面进行探讨。

     一、什么是“未来函数

     所谓“未来函数,是指可能引用未来数据的函数,即引用或利用当时还没有发生的数据对之前发出的判断进行修正的函数。具体地说,就是本周期结束后显示的指标值,包括线段和买卖提示信号,可能在以后发生新的数据后改变位置或消失。通俗地讲,含有不确定性判断的指标公式,就是含未来函数的指标公式。

       含有未来数据指标的基本特征是买卖信号不确定,常常是某日发出了买入或卖出信号(线段的转折点与此同理),第二天如果继续下跌或上涨,则该信号消失,并在明天新的位置标示出来。

       二、含有未来函数公式的种类

       (一)以之字转向为代表的ZIG类函数。我们最常见到和经常提到的多指此类。

       1、ZIG(K,N)之字转向。

       当价格变化量超过N%时转向。K表示 0:开盘价;1:最高价;2:最低价;3:收盘价

       例如:ZIG(3,5)表示收盘价的5%的ZIG转向 

       2、PEAK(K,N,M)向前数前M个ZIG转向波峰值。(以下用法略。点击软件中相应的函数时,下面有提示或用法)

       3、PEAKBARS(K,N,M)前M个ZIG转向波峰到当前距离。

       4、TROUGH(K,N,M)前M个ZIG转向波谷值。

       5、TROUGHBARS(K,N,M)前M个ZIG转向波谷到当前距离。

       6、FLATZIG、FLATZIGA、PEAKA、PEAKBARSA、TROUGHA、ZIGA等等都属于此类未来函数。

       (二)准未来函数。

       这部分函数存在引用未来数据的问题,但不如上述函数明显,有些目前争议较大。

       1、FFT(X,N)、傅立叶变换。对序列X进行傅立叶变换或变换处理后反变换。

       2、BACKSET(X,N)、向前赋值。若X非0,则将当前位置到N周期前的数值设为1。

       3、WINNER、LWINNER等获利盘比例类的和COST也有未来函数的性质,有时可使信号产生漂移。

       (三)、使用跨周期数据。

       这是一种最为隐弊的方法,它的危害性更大。例如在日线中引用本周周线或本月月线数据时,就会造成本周或本月股价上涨时则信号成功;如果股价下跌,则信号自动消失。用公式检测的办法测试不出来。我们经常见到的用KD月、周、日同时金叉进行选股,就属于此类,看起来成功率很高,实际是虚假的。

       (四)、指定买卖日期或买卖价格。

        一般多发生在交易系统里。比如指定最低价买入,最高价卖出,或指定涨跌幅度,这些在交易过程中是无法实现的,所以尽管测试成功率时非常高,其实没有任何实用价值。

       三、未来数据的检测方法

       知道了未来函数的特征和种类,具备了认识公式中有无未来数据的基础,具体应用中如何识别呢,有以下方法:

       1、公式中凡是用了ZIG之字转向类的函数和使用了跨周期数据(如上所述)均应视为使用了未来函数。

       2、看买卖信号是否确定。凡是已经出现的信号在新的一天或若干周期中存在漂移的,公式中存在未来函数。

       3、从指标图中鉴别。凡是买卖提示信号极为准确的(应看多张图),即没有失误的,肯定有未来函数。

       4、用股软鉴别。A、使用分析家软件的系统测试平台检测,是否含有未来数据系统会自动提醒。如果想亲自看看信号的稳定性和历史的变化过程,分析家的时空隧道可以令时光倒流让你回到从前,信号如何产生、如何消失一目了然。 B、使用飞狐软件的,更为简单,在左侧《管理面板》中用右键单击公式的名称,在出现的下拉菜单中点击“公式检测即可。

       此外还有一种方法是搞清公式的算法。对于源码公式,逐条分析后,是否含有未来数据的引用立刻便知。

       四、未来数据在实战中的运用

       1、未来数据对于阶段顶底转折点的判断是非常具有参考价值的。他可以给操作者一个可能转折的点位,这是一般指标所无法办到的。经过比较严格的限制优化后完全可以作为选股依据。

       2、含未来数据的公式信号会由于继续下跌或上涨而后移,因此当其信号出现后,要结合其他指标是否也发出信号,同时也要结合大盘形势。在熊市中含未来数据的卖出信号较准,买入信号不太准;而在牛市中买入信号较准,而卖出信号不太准,这较符合这么一个规律:在熊市中每次逢高抛出都是正确的,在牛市中每次逢低买入都是正确的。

       3、在跌势中含未来数据指标的买入信号肯定是经常向后移的,因此要慎用,不仅是含未来数据的指标,就是不含未来数据的买入信号虽然不变,但是也是发出了又下跌,再发出,再下跌,因此也要慎用,但是卖出信号在跌势中反倒是比较准的。

对于未来函数应当充分了解其意义后针对使用。对于不了解指标的运算方法和特性的,慎用为佳。尤其是含有未来数据的引用的的选股公式,不易直接使用。

       五,是是非非话“未来

       以下是根据网友的观点归纳整理而成,引用于此,供大家参考:

       1、买股票,买的本来就是股票的未来!都是对未来股价的一种预期、一种预测。不管你使用什么样的分析方法,只要你买入或卖出股票了,就本质上而言,你就已经使用未来数据了!

       2、未来函数不能直接用,并只作为谨慎参考,用时,要同时提醒自己,这是用未来函数表达的,可能会变异。

       3、ZIG是陷阱,也能使人绕开许多陷阱,关键是正确地组织和应用,熟悉指标的特征表达。

       4、严格的说动态中的公式都有未来数据,从这层意义上说,未来函数无处不在。因此不必一见到未来数据就头痛。

       5、使用未来数据不用花费任何精力就可以轻松获得表面上非常高的成功率。发出的买入信号在实际操作中毫无价值,是一种赤裸裸的欺骗行为,在实战中给投资者带来的惨痛损失和后果苦不堪言。

       6、未来数据的要害是什么?从本质上讲是美化历史而并不能从真正意义上揭示(启示)未来,它把历史上的一切功劳归为自己,而完美地回避了所有历史错误。它揭示的只是一种过去时的未来,而非现实意义上的未来。

       说明:本文中部分段落引用了网友的“成果,在此谨致谢意。同时欢迎大家对此问题深入探讨,让未来函数成为我们的工具,更好地为我们服务。

附件二:     高成功率公式背后的陷阱    

  这是转自“地狱美人的一篇文章,感觉很好,特提供给大家参考。

  说明:本人对其中的观点并不是完全赞同,如“(买价定在+高+低/3”)实际是无法操作的,这就是引用未来数据。一句,此所谓见仁见智的问题。个人认为,整个文章是非常棒的。

  如何判断公式的好坏呢?许多人主观第一感觉就是要看公式的成功率有多高,似乎成功率越高,公式的性能越好。有些人就是利用股民这种片面的看法,绞尽脑汁制作了一堆中看不中用的公式欺骗股民,往往采用如下几种骗术:

  骗术一:以提高成功率为最终目的,导致信号大量减少或信号过分集中,有迎合某个历史特殊情况的迹象。特点是在历史大底大量出击,其余时间段很少出击甚至是亏损出击,由于历史底部的出击数量权重极大,导致其余阶段即使为失败记录,总体仍能保持高成功率。这就失去了测试结果的统计意义,无任何实战价值!

  识别方法:看出击分布图。

  友情提示:当您再购买选股公式时,一定要向对方索取出击分布图,假如对方不愿提供,那就要小心了。

  许多网站只提供成功率测试图,却不敢把出击分布图贴出来,这样的网站99%是骗人网站,请敬而远之。更有些网站,每天都提供密码验证下载(采取错了就删或者称原件损坏要求重新下载等等伎俩作假),却不敢公布任何评测图,购买前一定要三思。

  骗术二:使用攻击涨停板的公式,这类公式,往往短线成功率特别高,出击分布也非常好,具有非常强的迷惑性,许多网站对于出售此类公式乐此不疲,更有某些知名的网站也加入这一行列,标价上千甚至上万元。

这类公式以追击涨停板股票为主,在股票涨停时才发出买入信号,而一旦发出买入信号,往往已经无法买入,即使排队买进了,但尾盘一旦涨停板被打开,买入信号随之消失,此时投资者只能自认倒霉,套在涨停板可不是件好事。

  识别方法:看出击案例,出击的股票是否涨停!

  攻击涨停板公式

x:=close/ref(close,1)>1.099 and close=high;

y:=vol<ma(vol,5);

and y;

  骗术三:使用未来数据的公式,所谓未来数据,就是靠后面的数据来对时间靠前的结果产生影响,也就是说选出的股票一旦下跌,之前发出的买入信号会自动消失,所以这类公式无论成功率、出击分布、还是实例,均完美得无懈可击,对于制作这类公式出售的人,只能用缺德来形容。

  识别方法:一看该网站是否保证无未来数据(当然有些网站为了达到目的有也会说没有),二看该网站的信誉、成立时间的长短,专骗人的网站由于信誉极差,经常每隔几个月就打一枪换一个地方。页面制作简单,不留电话,没有论坛等等。

骗术四:使用偷梁换柱的手法,把MACD指标、威廉指标、布林线、KDJ等等各种常用指标改头换面,采用各种华丽的外表去包装它,浪费系统资源根本就是中看不中用。使用指标不是追求它华丽的外表,而是实用的功能。

  以上仅是是些常见的骗术,当然还有更多的就不一一指出了,只希望广大网民在购买使用公式的之前,多去了解有关分析家的常识,多长一份心眼才能让骗子无空可专。本工作室也欢迎大家来信互相交流及咨询。

对于有志于自己编制公式指标的,希望下文能够对您有些帮助:

   为了能使自己从繁琐的选股工作中解脱出来,许多公式的编制者会编出一些自己秘密的好公式。但依然实战效果不佳,这可能是他们落入了误区,但离成功已经不远了。不幸的是绝大多数人都会被误区所吞没,变成了公式无用论者。在这里只想谈谈我所走过的几个误区,提醒朋友们小心。

  误区一:过分追求成功率或其它测试统计指标

一个公式的好坏,成功率当然是很重要的衡量指标,但也不是唯一指标。成功率过高往往引起信号量减少到很低的水平和信号过分集中,这就失去了测试结果的统计意义,有迎合某个历史特殊情况的迹象。实际上一个好的实用型公式并不一定要求很高的历史测试成功率,70%以上也就不错了。

  误区二:对公式中的参数调整过度或过于精雕细啄

一般在公式编制过程中都需要对其中的一些参数进行调整优化。但是任何一个参数在公式中一般都有它的实际意义和适宜的调整范围。如果对参数调整过分,就会导致公式失真,失去公式原本的含义。另外,即使是在合理范围内的调整也不宜过分精细。在很多情况下,调参可以把某个指标(如成功率)调到极大值,但往往会趋向于历史特例,无实际意义。不少分析软件都提供所谓参数优化平台,使用时应小心才是。

  误区三:公式由过多的子公式组合而成

公式往往由若干个子公式(或称为子条件)用条件“或条件组合而成。每增加一个子条件就会增加公式的自由度,而自由度越大越容易趋向于历史特例,公式的可伤心性随之迅速降低。一般公式的子条件应控制在五个以内。

  误区四:对分析软件的算法了解不足,受其误导

很多分析软件的分析平台是有缺陷的,必须弄清楚之后才能对其进行调整,并考虑其影响。例如《分析家》3.16版对买卖价格是按均价计算的,而均价的默认设置是“+高+低/3”。这看起来很合理,实际上引用了未来数据。因为公式中常用的数值,如收盘价、成交量等,都在收盘时才得知,用其所提示的买入信号指导盘中买入(买价定在+高+低/3”)实际是无法操作的,这就是引用未来数据。低开大阳线公式的测试成功率很高就是这种误导的结果。

   上述的这些错误在很多公式中都能见到,归纳起来可以总结为:对公式缺乏可行性的考虑。这里所说的可行性是指公式在未来的使用中能保持其良好特性的能力。这应当是实用型公式所要追求的重点!

   虽然公式指标不是万能的!但在技术水平比较一般的情况下,没有公式指标是万万不能的,当你到达超一流水平时,你可以说公式指标是无用的,但在你到达此目标之前,公式指标还是有用的!这就象一个学武之人,在没有到达最高境界之前,武术的一照一式,还是有用的,而且是你学武的正规入门之道,也是你走向武术高手的必经之路!等哪一天你到达了武林高手之列时,你才可以自豪地说:无招胜有招!才可以说:指标、公式是无用的!

青衫飞扬

请问.比如说.时间是8天内的MACD中的DIFF最高值减今天的值大与0.50发出信号是不是这么表达

a1:=HHV(DIFF,8)-DIFF >0.50; DRAWTEXT(FILTER(a1,5) ,LOW,''▲'') 图表被压缩了.不知道应该正确使用什么,我想叫买入信号在最下边(就是指标栏最下边一条线上,不影响原来的美观,可以随指标波动吗,就是说0544最低位置在-0.58/而2069却在-7.40了.谢谢.....

答:

DRAWTEXT(FILTER(a1,5) ,LOW,''▲'') 这一句有误。一般在主图上用最低价这个位置。副图波动较大。一般用交叉点,即交叉的线之一。如:DRAWTEXT(FILTER(a1,5) ,DIFF,''▲'')

《公式编写入门》全文完,我只是整理刊登在这里,谢谢大家的关注

KDJ,你真的懂了么

  (N日收盘价 N日内最低价÷ (N日内最高价 N日内最低价× 100 NRSV

  当日K值 2/31K值 1/3当日RSV;  当日D值 2/31D值 1/3当日K值;  当日J值 3当日K值 2当日D值。  若无前一日值与D值,则可分别用50来代替。  以9日为周期的KD线为例。首先须计算出最近9日的RSV值,即未成熟随机值,计算公式为:  9RSV=9日的收盘价-9日内的最低价)÷9日内的最高价-9日内的最低价)×100 (计算出来的数值为当日的RSV)  K=2/3×前一日K值+1/3×当日RSV  D=2/3×前一日D值+1/3×当日的K植  若无前一日K值与D值,则可以分别用50代替。

  J=3*当日K-2*当日D

 

  公式函数  RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;  K:SMA(RSV,M1,1);  D:SMA(K,M2,1);  J:3*K-2*D

0

阅读 评论 收藏 禁止转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有