找回密码
 立即注册

QQ登录

只需一步,快速开始

广告载入中...
查看: 15771|回复: 74

股票公式:大智慧通达信的公式技巧大全

   火.. [复制链接]
发表于 2008-4-3 20:05 | |阅读模式

马上注册,享用更多功能,让你轻松玩转本论坛。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 wen98 于 2013-3-17 20:34 编辑

公式技巧(0001)
0001--主图显示代码及板块
一、显示板块
例一:
DRAWTEXT(BARPOS=SYSPARAM(2),H,\'\\N所属板块:\'+BLKNAME),ALIGN4,COLORYELLOW;
例二:
DRAWTEXT(SYSPARAM(2)=BARPOS,C,\'所属板块:\'+BLKNAME),ALIGN4,COLORYELLOW;
例三:
DRAWTEXT(SYSPARAM(2)=BARSCOUNT(C),H,\'[所属版块]:\'+BLKNAME),ALIGN4,COLORYELLOW;
二、显示代码及板块
S:=STKLABEL;
DRAWTEXT(SYSPARAM(2)=BARPOS,C,S),ALIGN4,COLORYELLOW;
DRAWTEXT(BARPOS=SYSPARAM(2),H,\'\\N所属板块:\'+BLKNAME),ALIGN4,COLORYELLOW; {N与所属板块之间空六格,以显示代码}
0031--均线多头排列
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);
0032--均线空头排列
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);
0033--N日均线向下
AA:=MA(C,N);
BB:=REF(AA,1);
AA<BB
0034--N日均线向上
AA:=MA(C,N);
BB:=REF(AA,1);
AA>BB
0035--N日均线走平
AA:=MA(C,N);
BB:=REF(AA,1);
AA=BB
0036--向前N日至M日出现过均线死叉(P1<P2)
AA:=MA(C,P1);
BB:=MA(C,P2);
CC:=REF(CROSS(BB,AA),N);
COUNT(CC,M);
0037--今日成交量大于N日以来的均量
VOL>MA(VOL,N);
0038--低位密集
A1:=COST(85);
A2:=COST(15);
A3:=A1-A2;
A4:=(A1+A2)/2;
A5:=A3/A4*100<10;
B1:=HHV(H,120);
B2:=LLV(L,120);
B3:=B1-B2;
B4:=(A4-B2)<B3/2;
A5 AND B4;
0039--换手率
VOL/CAPITAL*100;
0040--N日盈亏
V1:=VOL/SUM(VOL,N);
V2:=DMA(CLOSE,V1);
V3: (CLOSE-V2)/V2*100;
0041--曲线叠加指标线的叠加,是为了方便观看和比较,没什么其他的意义。
一、对指标曲线的变化幅度放大此法,一线变形,另一线不变,但变形线的走势与原线完全相似。
举例:
C叠加V
BC:=HHV(C,N)-LLV(C,N); //N一般取常用主图上的K线数量
BV:=HHV(V,N);
BI:=BC/BV; //叠加比
B:=BI[DATACOUNT]; //最后一根K线的叠加比,保证叠加比前后统一成交量:
V,VOLSTICK;
F:=C/REF(C,1);
JC:=REF(C,1)*(1+A*F)*B/A; //A-放大倍数,将C的涨跌幅度F放大
JL:=LLV(JC,N); //平移量。请去掉JC句的=看JL的作用
收盘价:
C,LINETHICK0,COLORYELLOW; //只显示数值,不画线
PARTLINE(C>0,JC-JL[DATACOUNT]),COLORYELLOW; //收盘价趋势线,只画线,不显示数值通式:
曲线X叠加曲线Y
BX:=HHV(X,N)-LLV(X,N);
BY:=HHV(Y,N)-LLV(Y,N);
BI:=BX/BY;
B:=BI[DATACOUNT];
FX:=X/REF(X,1);
JX:=REF(X,1)*(1+A*FX)*B/A;
XL:=LLV(JX,N);
曲线Y:Y;
曲线X:X,LINETHICK0; //曲线X的值
PARTLINE(C,JX-XL[DATACOUNT]); //曲线X的线
二、百分比叠加把两曲线的波动幅度划成百分比进行叠加此法,两线都变形,但走势都与原线完全相似。
举例:
C叠加
VHV:=HHV(V,N);
DV:=HV[DATACOUNT];
BV:=100/DV;
V*BV,VOLSTICK;
HC:=HHV(C,N);
LC:=LLV(C,N);
BC:=100/(HC[DATACOUNT]-LC[DATACOUNT]);
(C-LC[DATACOUNT])*BC;
通式一:曲线X,曲线Y
XH:=HHV(X,N);
XL:=LLV(X,N);
XDH:=XH[DATACOUNT];
XDL:=XL[DATACOUNT];
BX:=100/(XDH-XDL);
(曲线XX-XDL)*BX;
YH:=HHV(Y,N); YL:=LLV(Y,N);
YDH:=YH[DATACOUNT];
YDL:=YL[DATACOUNT];
BY:=100/(YDH-YDL);
(曲线YY-YDL)*BY;
通式二:X曲线+Y曲线
N:=SYSPARAM(3)-SYSPARAM(2);
X:=.........; {.........为X曲线定义}
XH:=HHV(X,N);
XL:=LLV(X,N);
XDH:=XH[SYSPARAM(3)];
XDL:=XL[SYSPARAM(3)];
BX:=100/(XDH-XDL);
(曲线XX-XDL)*BX;
Y:=.........; {.........为Y曲线定义}
YH:=HHV(Y,N);
YL:=LLV(Y,N);
YDH:=YH[SYSPARAM(3)];
YDL:=YL[SYSPARAM(3)];
BY:=100/(YDH-YDL);
(曲线YY-YDL)*BY;
三、固定位置叠加此法应用不多,仅举例。
例一:主图成交量(V叠加C)
{M:960,1,2000}
R0:=M/1000;
R:=(L-R0*SYSPARAM(5))/V;
R1:=LLV(R,SYSPARAM(3)-SYSPARAM(2));
R2:=R1[SYSPARAM(3)];
R3:=LLV(L-R2*V,SYSPARAM(3)-SYSPARAM(2));
R4:=R3[SYSPARAM(3)];
R5:=(R2*V+R4)*0.995;
STICKLINE(C>=REF(C,1),R5,R0*SYSPARAM(5),6,1)COLORRED;
STICKLINE(C<REF(C,1),R5,R0*SYSPARAM(5),6,0)COLORCYAN;
PARTLINE(V>=0,R0*SYSPARAM(5))COLORWHITE;
PARTLINE(R5>0,MA(R5,5));
PARTLINE(R5>0,MA(R5,10));
PARTLINE(R5>0,MA(R5,20));
例二:INPUT:N(10,2,999);
M:=SYSPARAM(3)-SYSPARAM(2);
X:=C;
Y:=SUM(IF(CLOSE>REF(CLOSE,1),VOL/CAPITAL,IF(CLOSE<REF(CLOSE,1),-VOL/CAPITAL,0)),0);
XH:=HHV(X,M);
XL:=LLV(X,M);
XDH:=XH[SYSPARAM(3)];
XDL:=XL[SYSPARAM(3)];
BX:=100/(XDH-XDL);
收盘:
C,LINETHICK0,;
收盘↑
ARTLINE(X>REF(X,1),(X-XDL)*BX),COLORRED;
收盘↓
ARTLINE(X<REF(X,1),(X-XDL)*BX),COLORCYAN;
YH:=HHV(Y,M);
YL:=LLV(Y,M);
YDH:=YH[SYSPARAM(3)];
YDL:=YL[SYSPARAM(3)];
BY:=100/(YDH-YDL);
TY:=(Y-YDL)*BY;
OBV值:
Y*1000,LINETHICK0,COLOR007BFF;
OBV线↑
ARTLINE(Y>REF(Y,1),(Y-YDL)*BY),COLORYELLOW;
OBV线↓
ARTLINE(Y<REF(Y,1),(Y-YDL)*BY),COLOR009F00;
A1:=REF(TY,N)=HHV(TY,2*N+1);
B1:=FILTER(A1,N);
C1:=BACKSET(B1,N+1);
HD:=FILTER(C1,N);
A2:=REF(TY,N)=LLV(TY,2*N+1);
B2:=FILTER(A2,N);
C2:=BACKSET(B2,N+1);
LD:=FILTER(C2,N);
AA:=REF(TY,BARSLAST(HD));
BB:=REF(TY,BARSLAST(LD));
A1:=REF(Y,BARSLAST(HD))*1000;
B1:=REF(Y,BARSLAST(LD))*1000;
T1:=BARSLAST(HD)<BARSLAST(LD) AND NOT(HD);
T2:=BARSLAST(HD)>BARSLAST(LD) AND NOT(LD);
PARTLINE(T1,AA),COLORMAGENTA,LINETHICK2;
PARTLINE(T2,BB),COLORGREEN,LINETHICK2;
DRAWNUMBER(T1=0 AND REF(T1,1)>0,REF(AA,1)+0.1,A1,2);
DRAWNUMBER(T2=0 AND REF(T2,1)>0,REF(BB,1)+0.1,B1,2);
DRAWNUMBER(ISLASTBAR AND T1>0,REF(AA,1)+0.1,A1,2),COLORYELLOW;
DRAWNUMBER(ISLASTBAR AND T2>0,REF(BB,1)+0.1,B1,2),COLORMAGENTA;
0042--均线变色
MA05:MA(CLOSE,5);
MA30:MA(CLOSE,30);
IF(MA05<MA30,MA05,MA30),COLORGREEN;
IF(MA05<MA30,MA30,MA05),COLORRED;
IF(MA05>MA30,MA30,MA30),COLORBLUE;
DRAWICON(CROSS(MA05,MA30),L*0.98,4);
DRAWICON(CROSS(MA30,MA05),H*1.02,5);
 楼主| 发表于 2008-4-3 20:13 |
<div class="tpc_content" id="read_30301">公式技巧全集(0001~0235)(二)<br/>0055--底背离 <br/>  LLV(L,60)=L) AND NOT(LLV(DEA,60)=DEA); <br/><br/>  0056--顶背离  <br/>  HHV(H,60)=H) AND NOT(HHV(DEA,60)=DEA); <br/><br/>  0057--N次金叉、死叉  <br/>  0轴上二次金叉  <br/>  COUNT(CROSS(DIF,DEA) AND DEA>0,20)=2 AND CROSS(DIF,DEA) AND <br/>  DEA>0;<br/>  <br/>  0轴上三次金叉  <br/>  COUNT(CROSS(DIF,DEA) AND DEA>0,20)=3 AND CROSS(DIF,DEA) AND<br/>  DEA>0;<br/>  <br/>  0轴上四次金叉  <br/>  COUNT(CROSS(DIF,DEA) AND DEA>0,20)=4 AND CROSS(DIF,DEA) AND DEA>0;<br/>  <br/>  二次金叉  <br/>  EXPLAIN(COUNT(CROSS(DIF,DEA),20)=2 AND CROSS(DIF,DEA);<br/>  <br/>  二次死叉  <br/>  COUNT(CROSS(DEA,DIF),20)=2 AND CROSS(DEA,DIF); <br/><br/>  0058--5分钟副图显示15分钟K线  <br/>  建公式:0015<br/>  <br/>  C15:CLOSE; <br/>  O15:OPEN; <br/>  H15:HIGH; <br/>  L15OW; <br/>  <br/>  建公式:十五K线<br/>  <br/>  C15:="0015.C15#MIN15";<br/>  O15:="0015.O15#MIN15"; <br/>  H15:="0015.H15#MIN15";<br/>  L15:="0015.L15#MIN15";<br/>  <br/>  TI:=OPENMINUTES(TIME)=10 OR OPENMINUTES(TIME)=25 OR OPENMINUTES(TIME)=40 OR OPENMINUTES(TIME)=55 OR OPENMINUTES(TIME)=70 OR OPENMINUTES(TIME)=85 OR OPENMINUTES(TIME)=100 OR OPENMINUTES(TIME)=115 OR OPENMINUTES(TIME)=130 OR OPENMINUTES(TIME)=145 OR OPENMINUTES(TIME)=160 OR OPENMINUTES(TIME)=175 OR OPENMINUTES(TIME)=190 OR OPENMINUTES(TIME)=205 OR OPENMINUTES(TIME)=220 OR OPENMINUTES(TIME)=235;<br/>  <br/>  HH15:=IF(TI,H15,C15);<br/>  LL15:=IF(TI,L15,C15);<br/>  <br/>  STICKLINE(C15>O15,C15,O15,10,0),COLORRED;<br/>  STICKLINE(C15>O15 AND H15>C15,HH15,C15,0.1,0),COLORRED; <br/>  STICKLINE(C15>O15 AND O15>L15,O15,LL15,0.1,0),COLORRED; <br/>  STICKLINE(C15<=O15,C15,O15,10,0),COLORGREEN; <br/>  STICKLINE(C15<=O15 AND C15>L15,C15,LL15,0.1,0),COLORGREEN;<br/>  STICKLINE(C15<=O15 AND H15>O15,HH15,O15,0.1,0),COLORGREEN;<br/>  <br/>  注:以大陆股市为例,四小时,其他市场如超过四小时,可在中间语句“TI:=”中以15为系数顺序加足,如:OR 250 OR 265……等等。 <br/>   <br/><br/>  0059--移动成本<br/>  <br/>  不知道函数算法,计算误差在所难免。调整参数“%”可看到不同的移动成本。<br/>  <br/>  ///筹码%<br/>  INPUT:%(90,1,100);<br/>  A:=AMOUNT/V/100;<br/>  成本:FLOOR(COST(50-%/2)*100)/100,COLORYELLOW,LINETHICK0;<br/>  ~:CEILING(COST(50+%/2)*100)/100,COLORYELLOW,LINETHICK0;<br/>  集中度:INTPART((~-成本)/(~+成本)*1000)/10,COLORGREEN;<br/>  平均成本:ROUND(COST(50)*100)/100,LINETHICK0;<br/>  穿透力WINNER(C)-REF(WINNER(C),1))/V*CAPITAL,LINETHICK0;//计算误差大<br/>  //穿透力2WINNER(C)-WINNER(O))/V*CAPITAL,LINETHICK0;//这一写法还是误差大<br/>  获利比例:ROUND(WINNER(C)*1000)/10,LINETHICK0;<br/><br/>0059--移动成本<br/>  <br/>  不知道函数算法,计算误差在所难免。调整参数“%”可看到不同的移动成本。<br/>  <br/>  ///筹码%<br/>  INPUT:%(90,1,100);<br/>  A:=AMOUNT/V/100;<br/>  成本:FLOOR(COST(50-%/2)*100)/100,COLORYELLOW,LINETHICK0;<br/>  ~:CEILING(COST(50+%/2)*100)/100,COLORYELLOW,LINETHICK0;<br/>  集中度:INTPART((~-成本)/(~+成本)*1000)/10,COLORGREEN;<br/>  平均成本:ROUND(COST(50)*100)/100,LINETHICK0;<br/>  穿透力WINNER(C)-REF(WINNER(C),1))/V*CAPITAL,LINETHICK0;//计算误差大<br/>  //穿透力2WINNER(C)-WINNER(O))/V*CAPITAL,LINETHICK0;//这一写法还是误差大<br/>  获利比例:ROUND(WINNER(C)*1000)/10,LINETHICK0; <br/>   <br/>  0060--妙用SUMBARS()函数<br/>  <br/>  SUMBARS(X,N)<br/>  <br/>  函数的用法如下:<br/>  <br/>  向前累加到指定值到现在的周期数。<br/>  <br/>  用法:  <br/>  SUMBARS(X,A)  <br/>  将X向前累加直到大于等于A,返回这个区间的周期数<br/>  <br/>  例如:<br/>    SUMBARS(VOL,CAPITAL)<br/>  <br/>  1、设计一个指标,计算当日成交量是几天内的最高成交量? <br/>  2、设计一个指标,计算当日最高价是几天内的最高价?  <br/>  提示:直接用HHV()函数无法得到正确结果。<br/>  <br/>  例一:  <br/>  B:=HHV(H,0);<br/>  A:=IF(BARPOS=1,B[DATACOUNT]*1.2,H);<br/>  价:SUMBARS(REF(A,1)-A,0);<br/>  <br/>  U:=HHV(V,0);<br/>  S:=IF(BARPOS=1,U[DATACOUNT]*1.2,V);<br/>  量:SUMBARS(REF(S,1)-S,0); <br/>  <br/>  或: <br/>  VH:=HHV(VOL,0);<br/>  FV:=IF(BARPOS=1,VH[DATACOUNT]*1.2,VOL); //VH[DATACOUNT]是历史最高成交量<br/>  量创新高周期数:SUMBARS(REF(FV,1)-FV,0);<br/>  {这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?} <br/>  <br/>  另一种写法:<br/>  VH:=HHV(VOL,0);<br/>  FV:=VOL;<br/>  FV[1]:=VH[DATACOUNT]*1.2; //VH[DATACOUNT]是历史最高成交量<br/>  量创新高周期数:SUMBARS(REF(FV,1)-FV,0);<br/>  {这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?} <br/>  <br/>  代码已经成功了,原理是什么呢?<br/>  <br/>  假设某日成交量是3日内的最大成交量,则必有:  <br/>  REF(VOL,3)-VOL>=0<br/>  等价于:  <br/>  (REF(VOL,3)-REF(VOL,2))+(REF(VOL,2)-REF(VOL,1))+(REF(VOL,1)-VOL) >=0<br/>  <br/>  意思就是说,“昨成交量与今成交量之差”逐日累加,直到某日累加和大于等于0,则这之间的天数,就是所要求的日数。<br/>  <br/>  我们再来看看SUMBARS()函数的含义:  <br/>  SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数。<br/>  <br/>  显然上面的式子:  <br/>  (REF(VOL,3)-REF(VOL,2))+(REF(VOL,2)-REF(VOL,1))+(REF(VOL,1)-VOL)>=0<br/>  <br/>  可以写成:  <br/>  SUMBARS(REF(VOL,1)-VOL, 0);  <br/>  为何第1周期的成交量要替换成比所有成交量都大的数值?最后,再来思考一个问题,把题目中的求“最大”,改成求“最小”,即多少天内是最小的?<br/>  <br/>  例二:  <br/>  B:=HHV(H,0);<br/>  A:=IF(BARPOS=1,9999,H);<br/>  Z:SUMBARS(REF(A,1)-A,0);<br/>  DRAWNUMBER(BARPOS=SYSPARAM(1),1,Z,0)ALIGN4,COLORWHITE;<br/>  <br/>  U:=HHV(V,0);<br/>  S:=IF(BARPOS=1,999999999999,V)<br/>  Y:SUMBARS(REF(S,1)-S,0);<br/>  DRAWNUMBER(BARPOS=SYSPARAM(1),1,Y,0)ALIGN3,COLORYELLOW; <br/>  <br/>  例三:<br/>  <br/>  HH:=IF(BARSCOUNT(C)=1,9999,H);<br/>  ZH:SUMBARS(REF(HH,1)-HH,0);//价创了N周期新高  <br/>  VH:=IF(BARSCOUNT(C)=1,99999999,V);<br/>  HV:SUMBARS(REF(VH,1)-VH,0);//量创了N周期新高<br/>  <br/>  LL:=IF(BARSCOUNT(C)=1,0,L);<br/>  ZL:SUMBARS(LL-REF(LL,1),0);//价创了N周期新低<br/>  <br/>  VL:=IF(BARSCOUNT(C)=1,0,V);<br/>  LV:SUMBARS(VL-REF(VL,1),0);//量创了N周期新低<br/>  <br/>  附注:  <br/>  用99999999等具体数值,最好是尽可能大的数值(比如单精数的上限),否则仍有可能无法全部完成计算,比如上证指数的年线,成交量最大时,仍然超过了99999999。 <br/>  <br/>  倒数第6天的最高价格怎么表示? <br/>  <br/>  FH:=HIGH;<br/>  FH[DATACOUNT-5]; //倒数第6天的最高价格。 <br/>  <br/>  [DATACOUNT]<br/>  <br/>  返回K线的数量,即总共有多少根K线。 <br/>   <br/><br/>  0061--取得K线的序号 <br/>  <br/>  取得K线的序号,正序有下面几种方法:(从1数起)<br/>  <br/>  BARPOS; <br/>  SX:BARSCOUNT(CLOSE);  <br/>  SY:SUM(1,0);<br/>  DATACOUNT;{不随光标变动,只显示最后K线序号}<br/>  <br/>  逆序可用下列方法取得:(从1数起)  <br/>  (DATACOUNT-BARPOS)+1;   <br/>  (DATACOUNT-BARSCOUNT(CLOSE))+1;  <br/>  (DATACOUNT-SUM(1,0))+1;<br/>   <br/>  0062--变量宣告   <br/>  指定叙述:经过指定宣告后,飞狐才认识AA、BB、CC,否则会出现"未定义的标示符号"。所谓"定义",程序语言的用语,就叫做"变量宣告"。  <br/>  AA:OPEN;{宣告OPEN,指定给AA→输出的表达式}   <br/>  BB:HIGH,LINETHICK0;{宣告HIGH,指定给BB→输出的表达式→秀数值但不秀线图}   <br/>  CC:=CLOSE;{宣告CLOSE,指定给CC→不输出的表达式→不秀数值也不秀线图}   <br/>  DDAA+BB+CC)/3;{;分号,告诉程序要换行执行了}   <br/>  EE:=(AA+CC)/2; <br/>  PARTLINE(CLOSE>0,EE);{秀线图但不秀数值} <br/>  <br/>  注:{ }大括号内或在//后面,可用来输入公式批注。<br/>   <br/>  0063--跨周期引用数据   <br/>  (一)指针线公式的运算,大部份都是代入开、高、低、收、量等数据去运算的。  <br/>  (二)开、高、低、收、量又分成下面四种型式出现:  <br/>  开、高、低、收、量(基本的日K线数据)<br/>  开、高、低、收、量(周K线数据)<br/>  开、高、低、收、量(月K线数据)<br/>  开、高、低、收、量(年K线数据)<br/>  <br/>  (三)所以当指针线公式运算,要代入下面数据时:<br/>  <br/>  开、高、低、收、量(周K线数据)<br/>  开、高、低、收、量(月K线数据)<br/>  <br/>  #WEEK 和 #MONTH 就会派上用场。<br/>  <br/>  (四)举例:  <br/>  公式A.建立一个专门被用来引用(QUOTE)的公式区。  <br/>  公式名称:QU  <br/>  A1OPEN+HIGH+LOW+CLOSE)/4;  <br/>  说明:上面公式的运算,是代入开、高、低、收(当前周期K线数据)运算的。<br/>  <br/>  公式B.  <br/>  公式名称:AA  <br/>  AA:"QU.A1#WEEK";  <br/>  说明:将下面公式的运算,代入开、高、低、收(周K线数据)运算。<br/>  <br/>  (OPEN+HIGH+LOW+CLOSE) / 4<br/>  <br/>  公式C.<br/>  <br/>  公式名称:BB<br/>  <br/>  BB:"QU.A1#MONTH";<br/>  <br/>  说明:将下面公式的运算,代入开、高、低、收(月K线数据)运算。<br/>  <br/>  (OPEN+HIGH+LOW+CLOSE)/4<br/>  <br/>  附注:<br/>  <br/>  可供引用的周期类型有:<br/>  <br/>  MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH<br/>  <br/>  分别表示将1,5,15,30,60分钟K线数据,以及日,周,月K线数据,代入被引用的公式,进行运算。<br/>  <br/>  意义:<br/>  <br/>  可将大周期内跑的数据,引用到小周期内来跑。将小周期内跑的数据,引用到大周期内来跑,就会有问题,因为时间横坐标不一样了。 <br/>  <br/>  公式(1):先建立即将被引用的表达式<br/>  <br/>  将公式建立在:技术指针 ( ●主图叠加 ○主图 )<br/>  <br/>  公式名称:NH<br/>  <br/>  AA:=HIGH< REF(HIGH,1);{不输出的表达式,如果被引用还是会变成不输出的表达式}<br/>  BB:=BARSLAST(AA=1); <br/>  CC:REF(HIGH,BB); {输出的表达式,如果被引用还是会变成输出的表达式}<br/>  <br/>  说明: <br/>  <br/>  上面公式的运算,是以当周期时间数列数据运算的。<br/>  <br/>  公式(2):<br/>  <br/>  将公式建立在:技术指针 ( ●主图叠加 ○主图 )<br/>  <br/>  公式名称:NHH<br/>  <br/>  AA:"NH.AA#WEEK";{不输出的表达式}<br/>  BB:"NH.BB#WEEK";<br/>  CC:"NH.CC#WEEK";{输出的表达式}<br/>  DRAWNUMBER(ISLASTBAR,CC,CC,2); <br/>  <br/>  说明:上面公式的运算,是以周周期时间数列数据运算的。</div>
 楼主| 发表于 2008-4-3 20:14 |
<div class="tpc_content" id="read_30303">公式技巧全集(0001~0235)(三)<br/>0064--未来数据、未知数据 <br/>  <br/>  写公式,首先要对已知数据(过去式)、未知数据(未完成式、现在进行式)有通盘的认知。 <br/>  <br/>  可将"未来"分为两种情况:<br/>  <br/>  1、实时行情中:在一根K线。 <br/>  <br/>  以实时行情中的当前日K线为例。除了O之外,其它H、L、C全有未来之嫌。因为在收盘之前,拉高、打压是司空见惯的事,谁也不能保证H、L不会创出当天的新高和新低,更不用说C了。又如日线周期公式"C>REF(C,1);",前一分钟信号成立,后一分钟可能信号就不成立了。另外,如引用了周K和月K数据,因为当前周K和月K还在变动之中,所以也是未来资料。 <br/>  <br/>  2、盘后中:在多根K线。 <br/>  <br/>  因为在盘后,日K中的四大要素O、H、L、C就没有未来之可能了。在盘后,除了周五之外,引用的周K指针也是未来数据。除了在月末,引用的月K指针也是未来数据。 <br/>  <br/>  总而言之,指针公式就分这两种:<br/>  <br/>  线图信号的确定→全都用已知数据(过去式)来决定。<br/>  线图信号的确定→有用到未知数据(未完成式、现在进行式)来决定。<br/>  <br/>  ZIG函数 <br/>  <br/>  ZX:ZIG(CLOSE,8);<br/>  <br/>  最近这次峰点、谷点的确定,也常处在未完成式的状态中。<br/>  <br/>  打个比喻,线图信号的确定→有用到未知数据(未完成式、现在进行式),例如,在实时盘中一根日K线的收盘价变来变去,指针线图当然随之而起舞。<br/>  <br/>  ZIG函数只是把格局放大,N的日K组合而成的一根多日K线,这一根多日K线的收盘价变来变去,指针线图当然随之而起舞。<br/>   <br/>  0065--主图KD <br/>  <br/>  在主图上,坐标是以K线的价格为主。如何将在0与100中游走的KD指针附加上去,这是写作指针的基本逻辑观念的运用。<br/>  PARAM#1( N,9,2,100 ) <br/>  PARAM#2( M1,3,1,40 ) <br/>  PARAM#3( M2,3,1,40 ) <br/>  <br/>  RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100 LINETHICK0;{:=运算过程不显示值与图}<br/>  K:SMA(RSV,3,1),LINETHICK0,COLORWHITE;{LINETHICK0只显值不显图}<br/>  D:SMA(K,3,1),LINETHICK0,COLORYELLOW; <br/>  <br/>  HH:=SYSPARAM(4);{主图可见K线最高价}<br/>  LL:=SYSPARAM(5);{主图可见K线最低价}<br/>  <br/>  KK:=K/100*(HH-LL)+LL;<br/>  DD:=D/100*(HH-LL)+LL;<br/>  <br/>  PARTLINE(1=1,KK),COLORWHITE; {条件成立时,则显示图线形}<br/>  PARTLINE(C>0,DD),COLORYELLOW;<br/>  <br/>  C;{显示收盘价的值与图线形} <br/>  PARTLINE(C>=REF(C,1),C),COLORRED;{显示收盘价的图改成涨红跌绿联机图}<br/>  PARTLINE(C< REF(C,1),C),COLORGREEN;<br/> <br/><br/>  0066--描绘K线  <br/>  例一:普通 <br/>  将下列公式建立在:技术指针 ( ○主图叠加 ●主图 ) <br/>  公式名称:KL<br/>  <br/>  STICKLINE( ISUP , HIGH , LOW , 0.1 , 0 ) , COLORRED ;<br/>  STICKLINE( ISUP , CLOSE , OPEN , 8 , 1 ) , COLORRED ;<br/>  STICKLINE( ISDOWN , HIGH , LOW , 0.1 , 0 ) , COLORCYAN ;<br/>  STICKLINE( ISDOWN , CLOSE , OPEN , 8 , 0 ) , COLORCYAN ;<br/>  <br/>  STICKLINE( ISEQUAL AND C>REF( C , 1 ) , HIGH , LOW , 0.1 , 0 ) , COLORRED ;<br/>  STICKLINE( ISEQUAL AND C>REF( C , 1 ) , CLOSE , OPEN , 8 , 0 ) , COLORRED ;<br/>  STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , HIGH , LOW , 0.1 , 0 ) , COLORCYAN ;<br/>  STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , CLOSE , OPEN , 8 , 0 ) , COLORCYAN ; <br/>  <br/>  X:=BARSCOUNT( CLOSE ) ;<br/>  <br/>  {以下是描绘第一个交易日的K线,以补前面含盖的不足}<br/>  <br/>  STICKLINE( ISEQUAL AND X = 1 , HIGH, LOW, 0.1, 0 ) , COLORRED ;<br/>  STICKLINE( ISEQUAL AND X = 1 , CLOSE , OPEN , 8 , 0 ) , COLORRED ; <br/>  <br/>  说明:<br/>  <br/>  ISUP函数:相当于 IF( CLOSE>OPEN , 1 , 0 )。  <br/>  ISEQUAL函数:相当于 IF( CLOSE=OPEN , 1 , 0 )。  <br/>  ISDOWN函数:相当于 IF( CLOSE < OPEN , 1 , 0 )。  <br/>  STICKLINE函数,画出来的对象有重叠覆盖性:→后画的对象可覆盖先画的对象。<br/>  <br/>  例二:配色<br/>  <br/>  STICKLINE( ISUP , HIGH , LOW , 0.1 , 0 ),COLOR04FEFC ; <br/>  STICKLINE( ISUP , CLOSE , OPEN , 8 , 0 ),COLOR0466FC ;<br/>  STICKLINE( ISUP , CLOSE , OPEN , 3 , 0 ),COLOR04FEFC ; <br/>  STICKLINE( ISDOWN , HIGH , LOW , 0.1 , 0 ),COLORFCFE04 ; <br/>  STICKLINE( ISDOWN , CLOSE , OPEN , 8 , 0 ),COLORFC6604 ; <br/>  STICKLINE( ISDOWN , CLOSE , OPEN , 3 , 0 ),COLORFCFE04 ; <br/>  <br/>  STICKLINE( ISEQUAL AND C>REF( C , 1 ) , HIGH , LOW , 0.1 , 0 ),COLOR04FEFC ; <br/>  STICKLINE( ISEQUAL AND C>REF( C , 1 ) , CLOSE , OPEN , 8 , 0 ),COLOR0466FC ; <br/>  STICKLINE( ISEQUAL AND C>REF( C , 1 ) , CLOSE , OPEN , 3 , 0 ),COLOR04FEFC ; <br/>  STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , HIGH , LOW , 0.1 , 0 ),COLORFCFE04 ; <br/>  STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , CLOSE , OPEN , 8 , 0 ),COLORFC6604 ; <br/>  STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , CLOSE , OPEN , 3 , 0 ),COLORFCFE04 ; <br/>  <br/>  X:=BARSCOUNT( CLOSE ) ;<br/>  <br/>  {以下是描绘第一个交易日的K线,以补前面含盖的不足} <br/>  <br/>  STICKLINE( ISEQUAL AND X = 1 , HIGH, LOW, 0.1, 0 ),COLOR04FEFC ; <br/>  STICKLINE( ISEQUAL AND X = 1 , CLOSE , OPEN , 8 , 1 ),COLOR0466FC ;<br/>  STICKLINE( ISEQUAL AND X = 1 , CLOSE , OPEN , 3 , 1 ),COLOR04FEFC ;<br/>   <br/><br/>  0067--分时K线当天K线序号 <br/>  <br/>  范例:开盘第一根分时K线,指定一个值=1给它,其它为0。  <br/>  XA:REF(DATE,1)<>DATE, STICK; <br/>  <br/>  范例:每天的分时K线,指定它的当天K线序号给它  <br/>  XA:=REF(DATE,1)<>DATE, STICK;   <br/>  XB:BARSLAST(XA=1) + 1 ,STICK;<br/>  <br/>  应用:每天在分时K线,累计成交张数  <br/>  XA:=REF(DATE,1)<>DATE , STICK;   <br/>  XB:=BARSLAST(XA=1) + 1 ,STICK;  <br/>  SV:SUM( VOL , XB ) ; <br/>  <br/>  范例:标记今天分时K线的今天K线序号。过了午夜12点,就又要等早盘开盘后序号数字才会出现<br/>  <br/>  XA:=CURRENTDATE=DATE ;<br/>  XB:=REF(XA , 1)<>XA ;<br/>  <br/>  XC:HHVBARS(XB , 0) + XA ;<br/>  <br/>  应用:13均线今天当下最后数值向后延申,画平台线。 <br/>  <br/>  XA:=CURRENTDATE=DATE ; <br/>  XB:=REF(XA , 1)<>XA ;<br/>  <br/>  XC:=HHVBARS(XB , 0) + XA ; <br/>  <br/>  XD:=MA(C,13);<br/>  <br/>  XE:=REFX(XD , 300);<br/>  XF:IF(XC>=0 , XE , 0) ,LINETHICK0,COLOR99FFFF;<br/>  PARTLINE(XC>=1 , XF) ,COLOR99FFFF;<br/>   <br/><br/>  0068--系统参数函数 <br/>  <br/>  这组函数,应用在取得当前可视主图区内的一些数字信息,如下所示:  <br/>  1.当前十字光标所在位置,那根K线的序号;<br/>  2.当前可视主图区,最初那根K线的序号;<br/>  3.当前可视主图区,最后那根K线的序号;<br/>  4.当前可视主图区,最高价;<br/>  5.当前可视主图区,最低价。<br/>  <br/>  注:但须调出十字光标后,这组函数才能发生作用。否则回传的值是不确定的。 <br/>  SYSPARAM(1)<br/>  SYSPARAM(2)<br/>  SYSPARAM(3)<br/>  SYSPARAM(4)<br/>  SYSPARAM(5)<br/>  <br/>  函数:SYSPARAM(1) <br/>  说明: 回传当前 十字光标所在位置那根K线的序号 <br/>  <br/>  函数:SYSPARAM(2) <br/>  说明: 回传当前可视主图区 最初那根K线的序号 <br/>  <br/>  函数:SYSPARAM(3) <br/>  说明: 回传当前可视主图区 最后那根K线的序号 <br/>  <br/>  函数:SYSPARAM(4) <br/>  说明: 回传当前可视主图区 最高价 <br/>  <br/>  函数:SYSPARAM(5) <br/>  说明: 回传当前可视主图区 最低价 <br/>  <br/>  范例:<br/>  <br/>  将公式建立在:技术指针 ( ●主图叠加 ○主图 ) <br/>  <br/>  SS:=SYSPARAM( 1 ) ; <br/>  DD:=SUM( 1 , 0 ) ; <br/>  <br/>  CC:CLOSE * 1.07 , LINETHICK0 , COLORYELLOW ; <br/>  <br/>  PARTLINE( SS>=DD , CC ) , COLORYELLOW ; <br/>  <br/>  注:<br/>  <br/>  DD:SUM( 1 , 0 ) ; <br/>  SS:SYSPARAM( 1 ) ; <br/>  <br/>  上面两者,显然有明显的不同之处。 <br/>  <br/>  1.DD是一组变量型时间数列,代表K线的序号。 <br/>  <br/>  2.SS是隐含有N组常数型时间数列(N=这支股票的K线总数)。<br/>  <br/>  DD:SUM(1,0)<br/>  <br/>  以数学的二维空间F(X)=Y表示:Y=X<br/>  <br/>  SS:SYSPARAM(1)<br/>  <br/>  以数学的二维空间F(X)=Y表示,其中A属正整数:Y=A <br/>  <br/>  SUM(1,0)=SYSPARAM(1)意指,下面两条线交叉成立的那一点:<br/>  <br/>  Y=X<br/>  <br/>  Y=A <br/>  <br/>  范例:<br/>  <br/>  MA1:=MA(CLOSE,5);<br/>  MA2:=MA(CLOSE,13);<br/>  <br/>  XA:=CROSS(MA1,MA2) ; <br/>  <br/>  XB:IF(XA=1,SUM(1,0),0);{条件成立时回传它的K线序号}<br/><br/>0069--概率统计<br/>  <br/>  COUNT,计数。SUM,总数、和。<br/>  <br/>  当数组为逻辑运算判断的结果时,COUNT和SUM的返回值是一样的。一般习惯上,对于逻辑运算信号,用COUNT统计,返回其它数值的,用SUM统计。<br/>  <br/>  当COUNT统计一般数值时,数组大于等于1时,计入;小于1时,不计入。这两个函数,主要用于统计。<br/>  <br/>  用COUNT(CROSS(MA(C,5),MA(C,10)),0);就可以统计出全部的五天均线上穿十天均线的金叉数。<br/>  <br/>  用SUM(CROSS(MA(C,5),MA(C,10)),0);和以上得出的结果应该是一样的。<br/>  <br/>  股市的不随机规律,隐藏在统计概率之中。用这两个函数,可以统计很多概率性的规律。<br/>  <br/>  比如,以两天的收盘价相比,昨天是下跌的,今天的下跌的概率是多少?<br/>  <br/>  A:=C< REF(C,1);<br/>  B:=REF(A,1) AND C>REF(C,1);{昨天下跌,今天上涨}<br/>  D:=REF(A,1) AND C=REF(C,1);{昨天下跌,今天平盘}<br/>  E:=REF(A,1) AND C< REF(C,1);{昨天下跌,今天下跌}<br/>  F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0);<br/>  上升概率:100*COUNT(B,0)/F;<br/>  下跌概率:100*COUNT(E,0)/F;<br/>  平盘概率:100*COUNT(D,0)/F;<br/>  <br/>  从两市指数看,昨天下跌,今天下跌的概率始终大于50%。那么连跌两天之后,第三天收盘的各种概率是多少?<br/>  <br/>  A:=C< REF(C,1) AND REF(C,1)< REF(C,2);<br/>  B:=REF(A,1) AND C>REF(C,1);{前两天下跌,今天上涨}<br/>  D:=REF(A,1) AND C=REF(C,1);{前两天下跌,今天平盘}<br/>  E:=REF(A,1) AND C< REF(C,1);{前两天下跌,今天下跌}<br/>  F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0);<br/>  上升概率:100*COUNT(B,0)/F;<br/>  下跌概率:100*COUNT(E,0)/F;<br/>  平盘概率:100*COUNT(D,0)/F;<br/>  <br/>  从指数的输出看,概率更明显了。连跌三天之后呢?<br/>  <br/>  A:=C< REF(C,1) AND REF(C,1)< REF(C,2) AND REF(C,2)< REF(C,3);<br/>  B:=REF(A,1) AND C>REF(C,1);{前三天下跌,今天上涨}<br/>  D:=REF(A,1) AND C=REF(C,1);{前三天下跌,今天平盘}<br/>  E:=REF(A,1) AND C< REF(C,1);{前三天下跌,今天下跌}<br/>  F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0);<br/>  上升概率:100*COUNT(B,0)/F;<br/>  下跌概率:100*COUNT(E,0)/F;<br/>  平盘概率:100*COUNT(D,0)/F;<br/>  <br/>  规律就更明显了。<br/>  <br/>  不要小看这些数据。虽然没有有些“高手”做出的成功率达百分之九十左右的公式那么夸张,但很有意义的。要知道股市中的随机因素太多,平衡性很强,稍稍的统计偏向,足可作为有用的参考。<br/>  <br/>  这只是简单的例子,用这两个函数,可以做出很多的有用的统计数据。多数的交易系统的"胜率",可以由此统计出来。<br/>  <br/>  统计:  <br/>  A:=CROSS(C,MA(C,3));<br/>  B:=CROSS(MA(C,3),C);<br/>  D:B*(C-REF(C,BARSLAST(A)));<br/>  月:SUM(D,20);<br/>  季:SUM(D,60);<br/>  半:SUM(D,120);<br/>  年:SUM(D,250);<br/>  总和:SUM(D,0); <br/><br/><br/>  0070--五彩K线常用颜色<br/>  黑色 COLORBLACK 蓝色 COLORBLUE <br/>棕色 COLORBROWN 青色 COLORCYAN <br/>灰色 COLORGRAY 绿色 COLORGREEN <br/>晶红 COLORMAGENTA 红色 COLORRED <br/>白色 COLORWHITE 黄色 COLORYELLOW <br/>   <br/><br/>  0071--分析家公式设定注意事项<br/>  参数 最多四个参数,每个有最大和最小及缺省值,须有自己名称 <br/>注释 用大括号括起来放在被注释语句之后 <br/>公式名称 由字母或数字组成,在同类公式中必须唯一,最多九个字符 <br/>中间公式 使用":="来定义名字,不能与系统提供的函数同名 <br/>aram#1-4 对应于参数1-4,大小写敏感 <br/>坐标线位置 最多七个,用分号分隔 <br/>组合公式设置 小公式间用分号隔开 <br/>绘图参数使用 将其插入到指标公式的后面,用逗号分隔开 <br/>区分多条指标线 在指标公式前写上名称并加上一个冒号 <br/>指标线名字的使用 可以当函数名用 <br/>指标线绘制的极限 可同图显示16条指标线 <br/>五彩颜色参数使用 将其插入到指标公式的后面,用逗号分隔开 <br/>   <br/><br/>  0072--交易系统公式交易类型<br/>  ENTERLONG 多头买入 ENTERSHORT 空头买入 <br/>EXITLONG 多头卖出 EXITSHORT 空头卖出 <br/>   <br/><br/>  0073--可供引用的周期类型<br/>  MIN1 1分钟线 MIN60 60分钟线 <br/>MIN5 5分钟线 DAY 日线 <br/>MIN15 15分钟线 WEEK 周线 <br/>MIN30 30分钟线 MONTH 月线 <br/>   <br/><br/>  0074--引用表达式<br/>  引用指标公式 公式名称.指标线名称(参数表) <br/>引用交易系统公式 SYSTEM.公式名称.交易类型(参数表) <br/>引用条件选股公式 EXPLORER.公式名称(参数表) <br/>跨周期引用公式 各种类型公式名称#周期类型(参数表) <br/>引用任意股票的数据 股票代码$数据名称 <br/>引用扩展数据 EXTDATA(N) 分析家N=1-11 飞狐N=1-13 <br/>引用横向统计日线数据(1-N) ESTDATA(N) <br/>引用类函数第二个变量参数 类函数名称(第一参数,变量名或变量表达式) <br/>   <br/><br/>  0075--符号一览表<br/>  符号 名称 举例 符号 名称 举例 <br/>+ 加 X + Y && 并且 X>Y && Y>Z <br/>- 减 X - Y || 或者 X>Y || Y>Z <br/>* 乘 X * Y $ 修饰符号 000014$CLOSE <br/>/ 除 X / Y ( 括号 HIGH/(CLOSE+OPEN) <br/>< 小于 X < Y ) 反括号 HIGH/(CLOSE+OPEN) <br/>> 大于 X > Y , 逗号 MA(Close,3) <br/><= 小于等于 X <= Y : 输出 输出:CLOSE+OPEN <br/>>= 大于等于 X >= Y := 赋值 变量1:=HIGH <br/>= 等于 X = Y " 双引号 "000014$OPEN" <br/>{} 注释符号 {注释部分} . 点号 KDJ.K <br/>// 注释符号 //注释部分 ; 分号 A:=CLOSE; <br/>AND 并且 X>Y AND Y>Z # 变周期符号 TMP1:=CLOSE#WEEK <br/>OR 或者 X>Y OR Y>Z ## 变周期前一 VOL##DAY <br/><> 非 X <> Y ' 单引号 '大阳线' <br/>   <br/><br/>  0076--横向统计<br/>  <br/>  函数:ESTDATA(N) <br/>  描述:取得横向统计日线数据(1-N)<br/>  类别:扩展数据<br/>  参数:N<br/>  <br/>  说明:在[横向统计管理]中定义并计算数据(本函数仅在日线分析周期有效)。<br/>  <br/>  用基本公式做出的主图公式和副图公式,显示在个股或指数中,是纵向的,遍历当时显示的个股或指数中的每根K线。然后指标大小、变化、交叉情况等,都体现在某一个股或指数中。甲股和乙股,哪个KDJ中的K值大?用纵向变量(指标),原来就一点招数都没有。又比如,两市A股中,今天有几只个股的收盘价在10日均线之上,用纵向变量(指标)也没有办法,因为纵向变量(指标)只能在某一个股或指数中才可以比较。而多股间横向的比较和统计,是很有参考价值的。所以,相对于原来的纵向变量(指标),就有了横向变量这一说。<br/>  <br/>  横向指标用在公式中,也是遍历每根K线的,与一般的基本函数的遍历有点不同,因为它的数据来源不同,是对应于每根K线的日子以及哪个日子中对应板块中的个股数和选择条件等。<br/>  <br/>  横向统计涉及全场数据的计算,而且可以增加到数千项之多,运算量惊人,目前无法做到实时刷新(动态显示),只能手工刷新(建议盘后进行)。<br/>  <br/>  横向变量主要用于盘后。要动态刷新,目前没有即时刷新的设置,可能考虑到计算量较大吧。要是不怕麻烦,过几分钟就刷新一下(刷新一次,就相当于重新计算一遍),也可以看到"动态"涨跌值排名。<br/>  <br/>  横向变量在公式中的输出,与K线的日子有绝对的关系,与当时显示的个股或指数没有多大关系,在某个股中的输出和其他任一个股中的输出都一样。<br/>  <br/>  横向变量所用的统计方法,是对所选板块中的个股或指数,进行全盘的统计。最近所加的"最大值"、"最小值"是两个极值,是对排序头尾的取值。而要取横向排序中的第二名、第三名,单用横向变量目前还做不到。但不排除此功能以后会开发出来。<br/>  <br/>  排名名次要用扩展数据!横向变量目前做不到。<br/>  <br/>  如果做横向变量或扩展数据,在当时选择的计算周期如果是日线,则今天刷新,"原本排列"就保存在昨天。横向变量实际上即是横向的,从时间上又是纵向的。<br/>  <br/>  扩展数据是横向的,引用时从时间上又是纵向的。</div>
 楼主| 发表于 2008-4-3 20:16 |
<div class="tpc_content" id="read_30304">公式技巧全集(0001~0235)(四)<br/>0077--扩展数据<br/>  <br/>  函数:EXTDATA(N)<br/>  描述:取得日线扩展数据(1-13); 分析家N取1--11<br/>  类别:扩展数据<br/>  参数:N取1--13<br/>  <br/>  说明:在[扩展数据管理]中定义并计算数据(本函数仅在日线分析周期有效)。<br/>  <br/>  有些数据,非常重要,可是随着时间的推移,就再也找不到了。比如说某个股一天之中的总成交次数,又比如说某个股在上个月的1号,涨幅排名是第几?这些信息,要么以后就查不到了,要么在公式中也无法引用。而扩展数据库能解决这些问题。扩展数据库能够随日线保存这些数据,而且是计算好了的结果,所以引用时速度也很快。<br/>  <br/>  扩展数据有两个用处:1、保存计算值。2、保存计算值的排名结果。目前飞狐的扩展数据,可以最多做13个。太多了好象也没有多大意思,因为扩展数据计算历史数据有点慢,而且也较占空间。历史的数据量大,当然慢了。可是计算好之后,以后只要更新当天的,速度还是较快的。计算扩展数据,某个股,一个交易日,一次只能得到一个结果数据,而且所选之指标,也应该是唯一的。<br/>  <br/>  想保存所有分笔成交记录?扩展数据是做不到的。<br/>  <br/>  缺省数据:某一天,或者说个股停盘等原因,没有计算结果,系统就将缺省数据保存到扩展数据库中。<br/>  <br/>  在进行排序时,有两种排序方式,一种为0-N自然排序,一种为1-1000归一化排序,区别在于:自然排序按自然数来排列名次,排名在第几结果就是几,第一名,返回0;第二名,返回1;第N名,返回N-1。而归一化排序时将排序归一化到0-1000之间,第一位为0,最后一位为1000,采用公式"排名*1000/参加排名的股票数"来进行计算。归一化排序的好处是,不随股票数目的增加而对排序结果有较大的影响。<br/>  <br/>  怎么引用扩展数据?EXTDATA(N);N指引用第几组扩展数据,从1到13。比如把分笔成交次数的扩展数据建立在第一组中,引用时,就用EXTDATA(1);这个公式,在某个股中,就输出此股在当天的总成交次数。扩展数据,有横向的性质,特别是用排名时。同时又是纵向的,只要有数据,以前的日子里,也可以返回所得值。而且从理论上说,扩展数据库是可以永远保存的。由于计算量较大,目前扩展数据不支持即时刷新。不过可以手工刷新。<br/>   <br/><br/>  0078--峰点公式  <br/>  为了能找到合适的COND,用于举例子,先介绍一组概念:  <br/>  高点:在2N+1根K线中,中间这根K线的H,要大于等于左右N根K线的H。在N+1根K线中,有等高点出现,取最先出现的。<br/>  低点:在2N+1根K线中,中间这根K线的L,要小于等于左右N根K线的L。在N+1根K线中,有等低点出现,取最先出现的。<br/>  峰点:高点和低点,合称为峰点。<br/>  <br/>  这个定义,意合于技术分析的老祖宗道氏:"只要平均指数的最高点超过了前期的最高点,它就处于牛市时期;当最低点低于前期的最低点时,它处于熊市时期。"这里我们撇开向上、向下分形和分形峰状点等概念,以免把概念复杂化。<br/>  <br/>  也为了不让公式一来就过于复杂,我们先取N为2来做公式。简介到后面,可以看到,N是可以作为峰点公式的参数进行调整的。<br/>  <br/>  公式名称:FENG2<br/>  公式说明:供引用<br/>  公式内容:<br/>  <br/>  {峰点参数暂定为2}<br/>  A:=REF(H,2);{中间K线的最高价}<br/>  B:=A>=REF(H,4) AND A>=REF(H,3) AND A>=REF(H,1) AND A>=H;{中间K线的最高价大于等于两边共四根K线的最高价}<br/>  D:=BACKSET(B,3);{将当前位置和之前2个周期的数值设为1}<br/>  HD:FILTER(D,2);{找到高点后,过滤掉其后2周期内可能出现的等高点。输出高点}<br/>  A2:=REF(L,2);{中间K线的最低价}<br/>  B2:=A2<=REF(L,4) AND A2<=REF(L,3) AND A2<=REF(L,1) AND A2<=L;{中间K线的最低价小于等于两边共四根K线的最低价}<br/>  D2:=BACKSET(B2,3);{将当前位置和之前2个周期的数值设为1}<br/>  LD:FILTER(D2,2);{找到低点后,过滤掉其后2周期内可能出现的等低点。输出低点}<br/>  {后面有些例子,就从这个公式中引用信号。}<br/>  <br/>  用法: DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标。15种图标编码为1-15(1-3为小脸,4-5为上下箭头,6-7为红绿小旗,8-9为三角形,10-12为信号灯,13-15为O、X、四方形)。TYPE为字符串时可显示用户自制BMP图。<br/>  <br/>  示例:DRAWICON(CLOSE>OPEN,LOW,4)表示当收阳时在最低价位置画4号图标。<br/>  <br/>  DRAWICON(C>O, L, 'MyBMP')表示当收阳时在最低价位置画FmlDLL子目录下的自制图标MyBMP.BMP。<br/>  <br/>  1、COND条件,一般是指判断的结果,不是0就是1。如用其它数据,大于等于1的,条件满足;小于1,条件就不满足。<br/>  <br/>  2、TYPE图标,现在已经有12种,用下面的公式,在000829上可以全部显示出来。当TYPE取大于等于12的数时,都显示黄球。<br/>  <br/>  当TYPE取0时,显示的是笑脸(这个公式中没有做进去,自己可以试一下)。<br/>  <br/>  B:="FENG2.HD";<br/>  D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);<br/>  A:=D>REF(D,1);<br/>  DRAWICON(REF(A,1),1.05*H,1);<br/>  DRAWICON(REF(A,2),1.05*H,2);<br/>  DRAWICON(REF(A,3),1.05*H,3);<br/>  DRAWICON(REF(A,4),1.05*H,4);<br/>  DRAWICON(REF(A,5),1.05*H,5);<br/>  DRAWICON(REF(A,6),1.05*H,6);<br/>  DRAWICON(REF(A,7),1.05*H,7);<br/>  DRAWICON(REF(A,8),1.05*H,8);<br/>  DRAWICON(REF(A,9),1.05*H,9);<br/>  DRAWICON(REF(A,10),1.05*H,10);<br/>  DRAWICON(REF(A,11),1.05*H,11);<br/>  DRAWICON(REF(A,12),1.05*H,12);<br/>  DRAWICON(REF(A,13),1.05*H,13);<br/>  DRAWICON(REF(A,14),1.05*H,100);{主图叠加}<br/>  当红球和绿球连续显示时,立体感会强一些。<br/>  DRAWICON(C>=MA(C,30),MA(C,30),10);<br/>  DRAWICON(C< MA(C,30),MA(C,30),11);{主图叠加}<br/>  <br/>  3、PRICE是用于定位图标的位置的。一般用1.01*H,或者0.99*L等。现在可用ALIGN(0-5)指定对齐位置。<br/>  <br/>  用这个公式来试(主图叠加)<br/>  <br/>  B:="FENG2.HD";<br/>  D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);<br/>  A:=D>REF(D,1);<br/>  E:=REF(H,1);<br/>  DRAWICON(A,E,10),ALIGN0;<br/>  DRAWICON(A,E,11),ALIGN1;<br/>  DRAWICON(A,E,12),ALIGN2;<br/>  DRAWICON(A,E,3),ALIGN3;<br/>  DRAWICON(A,E,4),ALIGN4;<br/>  DRAWICON(A,E,5),ALIGN5;<br/>  <br/>  可以初步得出结论:<br/>  <br/>  ALIGN0:信号出现在PRICE的正中;<br/>  ALIGN1:信号出现在PRICE下边(十分靠近);<br/>  ALIGN2:信号出现在PRICE上边(十分靠近);<br/>  ALIGN3:信号出现在主图的中间;<br/>  ALIGN4:信号出现在主图的最上边;<br/>  ALIGN5:信号出现在主图的最下边;<br/>  <br/>  在高低点上作图标,可以使高低点更明确了。<br/>  <br/>  A:="FENG2.LD";<br/>  B:="FENG2.HD";<br/>  DRAWICON(A,L,11),ALIGN1;<br/>  DRAWICON(B,H,10),ALIGN2;{主图叠加}<br/>  <br/>  4、可以自由调用MyBMP.BMP图到显示位置,大大增强了输出的效果。你只要看到好看的图,可以随时抓拍过来,做成BMP文件,放到FmlDLL子目录下,就可以调用了。<br/>  <br/>  A:="FENG2.LD";<br/>  B:="FENG2.HD";<br/>  DRAWICON(A,L,'PIG'),ALIGN1;<br/>  DRAWICON(B,H,'PIG'),ALIGN2;{主图叠加。如果你没有PIG.BMP文件,则不可显示。}<br/>  DRAWICON(1,MA(C,5),'S28');<br/>  DRAWICON(1,MA(C,10),'S31');<br/>  DRAWICON(1,MA(C,20),'S14');<br/>  DRAWICON(1,MA(C,30),'S25');{主图叠加。如果你没有PIG.BMP文件,则不可显示。}<br/>  <br/>  举个例子:<br/>  <br/>  A:="FENG2.LD";<br/>  B:="FENG2.HD";<br/>  DRAWICON(A,L,11),ALIGN1;<br/>  DRAWICON(B,H,10),ALIGN2;<br/>  D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);<br/>  E:=D>REF(D,1);<br/>  F:=BACKSET(E,REF(BARSLAST(B),1)+2);<br/>  G:=F>REF(F,1);<br/>  DRAWLINE(G,H,E,H,1),pointdot,linethick1,coloryellow;{主图叠加}<br/>  <br/>  这根线有些趋势线的意思了。由于趋势线的主观性颇强,只有多设参数才能满足多数人的要求。<br/>  <br/>  DRAWLINE画出的线,应该比手工画出的线精确一些(DRAWLINE画线的灵敏度,要比手工画线低,所以说DRAWLINE画出的线精确,就未必对)。<br/>  <br/>  主要用于画斜线,水平线我们一般可以另想办法。因为在图中显示直线,并非DRAWLINE的"专利"。<br/>  <br/>  比如:<br/>  <br/>  A:="FENG2.LD";<br/>  B:="FENG2.HD";<br/>  D:=BACKSET(ISLASTPERIOD,BARSLAST(A)+1);<br/>  E:=D>REF(D,1);<br/>  F:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);<br/>  G:=F>REF(F,1);<br/>  前高:REF(H,BARSLAST(G));<br/>  前低:REF(L,BARSLAST(E));{主图叠加}<br/>  <br/>  说明:在图形上显示数字<br/>  用法: DRAWNUMBER(COND,PRICE,NUMBER,PRECISION),当COND条件满足时,在PRICE位置书写数字NUMBER(可以为常数或数组序列),PRECISION为小数显示位数(取值范围0-3)。可ALIGN0-5定义对齐方式。<br/>  示例:DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-REF(C,1))/REF(C,1)*100,2)表示当日涨幅大于8%时在最高价位置显示涨幅(相对开盘价的百分比)。<br/>  <br/>  这个函数的特色是,在NUMBER位置可以放变量。<br/>  <br/>  NUMBER,数字。DRAWNUMBER是DRAWTEXT的"兄弟",也可以用ALIGN(0-5)来定义水平位置,方法相同。<br/>  <br/>  A:="FENG2.LD";<br/>  B:="FENG2.HD";<br/>  DRAWICON(A,L,11),ALIGN1;<br/>  DRAWICON(B,H,10),ALIGN2;<br/>  D1:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);<br/>  E1:=D1>REF(D1,1);{离目前最近的一个高点}<br/>  D2:=BACKSET(E1,REF(BARSLAST(B),1)+2);<br/>  E2:=D2>REF(D2,1);{倒数第二个高点}<br/>  DRAWTEXT(E1,H*1.02,'高点价:'),COLORGREEN,ALIGN2;<br/>  DRAWNUMBER(E1,H*1.02,H,2),COLORGREEN,ALIGN1;<br/>  DRAWTEXT(E2,H*1.02,'高点价:'),COLORYELLOW,ALIGN2;<br/>  DRAWNUMBER(E2,H*1.02,H,2),COLORYELLOW,ALIGN1;{主图叠加}<br/>  <br/>  A:="FENG2.LD";<br/>  B:="FENG2.HD";<br/>  DRAWICON(A,L,11),ALIGN1;<br/>  DRAWICON(B,H,10),ALIGN2;<br/>  D1:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1);<br/>  E1:=D1>REF(D1,1);{离目前最近的一个高点}<br/>  D2:=BACKSET(E1,REF(BARSLAST(B),1)+2);<br/>  E2:=D2>REF(D2,1);{倒数第二个高点}<br/>  D3:=BACKSET(E2,REF(BARSLAST(B),1)+2);<br/>  E3:=D3>REF(D3,1);{倒数第三个高点}<br/>  DRAWTEXT(E1,H*1.01,'☆TEXT:'),COLORRED,ALIGN0;<br/>  DRAWTEXT(E2,H*1.01,'★TEXT:'),COLORGREEN,ALIGN1;<br/>  DRAWTEXT(E3,H*1.01,'▓TEXT:'),COLORYELLOW,ALIGN2;{主图叠加}<br/>  <br/>  描述:绘制折线段 <br/>  类别:绘图<br/>  说明:在图形上绘制折线段<br/>  用法: POLYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接。<br/>  示例:POLYLINE(HIGH>=HHV(HIGH,10),HIGH)表示在创10天新高点之间画折线。<br/>  POLY,多个的。<br/>  <br/>  支持POINTDOT、LINETHICK、COLOR、SHIFT这四个描述函数。<br/>  <br/>  A:="FENG2.LD";<br/>  B:="FENG2.HD";<br/>  DRAWICON(A,L,11),ALIGN1;<br/>  DRAWICON(B,H,10),ALIGN2;<br/>  POLYLINE(A,L),POINTDOT,COLORGREEN;<br/>  POLYLINE(B,H),LINETHICK2,COLORMAGENTA;{主图叠加}<br/>  <br/>  参数可调整的峰点公式:<br/>  <br/>  A:=REF(H,N)=HHV(H,2*N+1);{当前位置N天之前的最高价是最近2*N+1根K线中的最高价}<br/>  B:=FILTER(A,N); {当高点附近有等高的K线出现时,会影响后续高点的判断,所以要过滤}<br/>  D:=BACKSET(B,N+1);{将当前位置及前N周期的数值设为1,所以要用N+1}<br/>  HD:=FILTER(D,N); {当高点附近有等高的K线出现,取第一个,过滤掉后面N个周期之内出现的}<br/>  A2:=REF(L,N)=LLV(L,2*N+1);{求低点的过程与求高点的过程同理}<br/>  B2:=FILTER(A2,N); <br/>  D2:=BACKSET(B2,N+1);{参数N:1,3,999}<br/>  LD:=FILTER(D2,N);{主图叠加}<br/>  DRAWICON(HD,H,10),ALIGN2;{在高点附近显示红球}<br/>  DRAWICON(LD,L,11),ALIGN1;{在低点附近显示绿球}<br/>  <br/>  可以说,这个公式用了未来函数BACKSET,但是用在日K线中,盘后是没有未来数据的,因为引用的全是已经发生过的不可变的数据了。<br/>  <br/>  至于即时盘中的未来数据,那是说不到底的事,基本所有的公式,都有即时盘中未来数据。<br/>  <br/>  红球绿球作为峰点标志,在显示K线不多的情况下,还比较清楚。但当K线数较多时,因为球的大小是不变的,所以看起来比较乱。故可用以下公式:<br/>  <br/>  A:=REF(H,N)=HHV(H,2*N+1); B:=FILTER(A,N); D:=BACKSET(B,N+1); HD:=FILTER(D,N);<br/>  A2:=REF(L,N)=LLV(L,2*N+1);B2:=FILTER(A2,N); D2:=BACKSET(B2,N+1);LD:=FILTER(D2,N);<br/>  STICKLINE(REF(HD,1),REF(H,1),REF(H,1),18,0),COLORMAGENTA;<br/>  STICKLINE(REF(LD,1),REF(L,1),REF(L,1),18,0),COLORGREEN;<br/>  <br/>  函数:HHVBARS(X,N) <br/>  描述:上一高点位置 <br/>  类别:引用<br/>  参数:X为数组,N为计算周期<br/>  返回:返回数组<br/>  说明:求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计 <br/>  示例:HHVBARS(HIGH,0)求得历史新高到当前的周期数<br/>  <br/>  HHV、HHVBARS这两个函数一起用,可以找到当前N天中的最高点。<br/>  <br/>  A:=BACKSET(ISLASTPERIOD,HHVBARS(H,N)+1);<br/>  B:=COUNT(A,N)=1;{取得前N个周期内的最高点位置}<br/>  REF(H,BARSLAST(B));<br/>  DRAWICON(B,H,1),ALIGN2;{主图叠加。N:30,1,9999}<br/>  <br/>  函数:LLVBARS(X,N) <br/>  描述:上一低点位置<br/>  类别:引用<br/>  参数: 无 <br/>  返回: 无 <br/>  说明:求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计 <br/>  示例:LLVBARS(HIGH,10)求得10日最低点到当前的周期数<br/>  <br/>  当前N天之内的最高点和最低点就一目了然了:<br/>  <br/>  A:=BACKSET(ISLASTPERIOD,HHVBARS(H,N)+1);<br/>  B:=COUNT(A,N)=1;{取得前N个周期内的最高点位置}<br/>  REF(H,BARSLAST(B));<br/>  DRAWICON(B,H,1),ALIGN2;<br/>  A2:=BACKSET(ISLASTPERIOD,LLVBARS(L,N)+1);<br/>  B2:=COUNT(A2,N)=1;{取得前N个周期内的最低点位置}<br/>  REF(L,BARSLAST(B2));<br/>  DRAWICON(B2,L,2),ALIGN1;{主图叠加。N:30,1,9999} <br/>  <br/>  这个公式求前期高低点,在600036等次新股上试调整参数就露马脚了,并不完善。问题出在HHVBARS起算点等原因上。<br/>  <br/>  下面这个公式可以说是完美解决方案:<br/>  <br/>  HH:HHV(H,N),LINETHICK2;<br/>  LLLV(L,N),LINETHICK2;{主图叠加,参数N:30,1,9999}<br/>  <br/>  <br/>  当N个周期之内,有两个最高价,即有等高的情况出现,HHVBARS会返回哪个最高价到当前的周期数呢?<br/>  <br/>  用副图公式观察一下,N取10:<br/>  <br/>  HHVBARS(H,N);<br/>  <br/>  我们可以得出结论,返回的是前一个最高价到当前的周期数。同样,当在N个周期之内,有两个等低的最低价出现时,LLVBARS会返回前一个最低价到当前的周期数。<br/><br/>0079--窄幅整理  <br/>  (HHV(C,20)-LLV(C,20)/C<0.08;<br/>   <br/>  0080--N天前到M天前之间的最高价  <br/>  REF(HHV(H,20),40);<br/>   <br/>  </div>
 楼主| 发表于 2008-4-3 20:17 |
0081--某时间段最高价  <br/>  HH:=IF(YEAR=1998 AND MONTH>=8 AND MONTH<=12,H,0);<br/>  HHV(HH,0);{此例求1998年8月1日到1998年12月31日间的最高价}<br/>  <br/>  0082--二十日内是否有过涨停  <br/>  TT:=C/REF(C,1)>1.095;<br/>  COUNT(TT,20)>0;<br/>   <br/>  0083--放量创新高  <br/>  AA:=MA(V,5);<br/>  BB:=REF(AA,2);<br/>  CC:=HHV(C,30);<br/>  AA/BB>2 AND C=CC;<br/>   <br/>  0084--突破长期平台整理  <br/>  V1:=MA(V,5);<br/>  V2:=V/REF(V1,1);<br/>  PZ1:=MA(C,150);<br/>  PZ2:=HHV(H,150);<br/>  PZ3:=LLV(L,150);<br/>  PZ4:=(PZ2-PZ1)/PZ1;<br/>  PZ5:=(PZ1-PZ3)/PZ1;<br/>  PZ:=REF(PZ4,1)<0.15 AND REF(PZ5,1)<0.15;<br/>  TP1:=HHV(H,150);<br/>  TP:=H=TP1;<br/>  V2>=2 AND PZ AND TP<br/>   <br/><br/>  0085--尾盘大单拉升或打压  <br/>  AA:=TIME>=145500;<br/>  BB:=SUM(V,0)/240;//当天均量<br/>  CC:=SUM(V,10)/10;//10分钟内的成交均量<br/>  DD:=REF(C,10);<br/>  AA AND CC/BB>3 AND C/DD>1.02;<br/>   <br/><br/>  0086--MACD柱状体变宽语法   <br/>  Moving Average Convergence/Divergence , MACD , 移动平均收敛/发散指针<br/>  <br/>  Param(LONG , 26 ,20 100) <br/>  Param(SHORT , 12 , 5 ,40) <br/>  Param(M , 9 , 2 , 60) <br/>  <br/>  DIFF:EMA( CLOSE , SHORT ) - EMA( CLOSE , LONG) ,LINETHICK0,COLOR99FFFF;<br/>  DEA:EMA( DIFF , M ) ,LINETHICK0,COLORFF9966;<br/>  MACD: 2 * ( DIFF - DEA ) ,LINETHICK0,COLOR9966FF;<br/>  <br/>  STICKLINE(MACD>0,0,MACD,6,1) ,COLOR9966FF;<br/>  STICKLINE(MACD<=0,0,MACD,6,1) ,COLORCCFF66;<br/>  <br/>  PARTLINE(C>0,DIFF) ,COLOR99FFFF;<br/>  PARTLINE(C>0,DEA) ,COLORFF9966;<br/>  <br/>  英译:<br/>  <br/>  DIFF=Difference = 差异=差离值<br/>  DEA=Difference Exponential Average= 差异的指数平滑移动平均=差离值平均值<br/>  MACD=Moving Average Convergence/Divergence = 移动平均收敛/发散 <br/>  <br/>  利用快速和慢速两条指数平滑移动平均线,计算两者之间的差离值DIFF <br/>  <br/>  再利用差离值DIFF,来计算差离值平均值DEA<br/>  <br/>  本公式MACD柱状,即可明显体现出了DIFF与DEA两者的收敛交会与发散分离的情况,<br/>  用以研判买进或卖出的时机 <br/>   <br/><br/>  0087--傅立叶变换   <br/>  用法:FFT(X , N)  <br/>  傅立叶变换,对数列X进行傅立叶变换,或变换处理后反变换   <br/>  示例:  <br/>  当N=0时,对数列X进行傅立叶变换;<br/>  当N=1时,对数列X进行傅立叶变换后,再反变换回来,与原X一致;<br/>  当N>1时,对数列X进行傅立叶变换后,舍去周期小于N的成分后再反变换回来;<br/>  <br/>  傅立叶变换是最常用的积分变换。原理和对数变换等差不多,广泛应用于工程技术领域。可傅立叶变换的算法,涉及高等数学的微积分知识,非三言两语说得清楚。<br/>  <br/>  傅立叶变换的应用方面:把FFT(CLOSE,30),在主图中上移、下移之后,可以构成非常光滑的信道。<br/>  <br/>  AA:FFT(CLOSE,30);<br/>  XX:AA*1.05;<br/>  YY:AA*0.95; <br/>   <br/><br/>  0088--周期切换   <br/>  函数: DATATYPE <br/>  别名: DATAPERIOD,、数据周期类型 <br/>  用法:<br/>  DATATYPE<br/>  回传值竹范围为0-11<br/>  分别表示分笔成交、1分钟、5分钟、15分钟、30分钟、60分钟、<br/>  日、周、月、年、多日、多分钟<br/>  <br/>  范例:切换到日线时跑最高价、切换到周线时跑最低价。考虑到什么周期秀什么线的问题 <br/>  <br/>  XH:=IF( DATATYPE=6 , 1 , 0 ) ; <br/>  XL:=IF( DATATYPE=7 , 1 , 0 ) ; <br/>  <br/>  AA:=MA(C , XH)/MA(C , XH) ; <br/>  BB:=MA(C , XL)/MA(C , XL) ;<br/>  <br/>  HH:=HIGH ;<br/>  LL:=LOW ; <br/>  <br/>  日线最高价:AA*HH , COLORGREEN ;<br/>  周线最低价:BB*LL , COLORYELLOW ; <br/>  <br/>  范例:切换到指数类STKTYPE=0 跑10均线,切换到个股类STKTYPE=5 跑30均线。<br/>  <br/>  XA:=IF( STKTYPE=0 , 1 , 0 ) ;<br/>  XB:=IF( STKTYPE=5 , 1 , 0 ) ;<br/>  <br/>  AA:=IF( XA=1 , MA(C,10) , 0 ) ;<br/>  BB:=IF( XB=1 , MA(C,30) , 0 ) ;<br/>  <br/>  指针线:AA+BB ;<br/>  <br/>  范例:标记当天分时K线的当天K线序号。过了午夜12点,就又要等早盘开盘后序号数字才会出现<br/>  <br/>  XA:=CURRENTDATE=DATE ;<br/>  XB:=REF(XA , 1)<>XA ;<br/>  <br/>  XC:HHVBARS(XB , 0) + XA ;<br/>  <br/>  应用:13均线当天当下最后数值向后延申,画平台线。 <br/>  <br/>  XA:=CURRENTDATE=DATE ; <br/>  XB:=REF(XA , 1)<>XA ;<br/>  <br/>  XC:=HHVBARS(XB , 0) + XA ; <br/>  <br/>  XD:=MA(C,13);<br/>  <br/>  XE:=REFX(XD , 300);<br/>  XF:IF(XC>=0 , XE , 0) ,LINETHICK0,COLOR99FFFF;<br/>  PARTLINE(XC>=1 , XF) ,COLOR99FFFF;<br/>   <br/><br/>  0089--公历农历  <br/>  范例:公历日期   <br/>  YY:=YEAR*10000;<br/>  MM:=MONTH*100;<br/>  DD:=DAY ;<br/>  <br/>  公历日期:YY+MM+DD ,LINETHICK0; <br/>  <br/>  范例:农历日期   <br/>  LY:=LYEAR*10000;<br/>  LM:=LMONTH*100;<br/>  LD:=LDAY;<br/>  <br/>  农历日期Y+LM+LD ,LINETHICK0; <br/>  <br/>  范例:两个日期相差天数→横坐标切换→自然日坐标和交易日坐标效果不一样<br/>  <br/>  两日期相差天数A: DATEDIFF(1020929,1021003),LINETHICK0;<br/>  两日期相差天数B: DATEDIFF(LSOLARTERMDATE(1), DATE),LINETHICK0;<br/>  <br/>  范例:9点:30分:59秒以前的分时K线,指定一个值=1给它,其它为=0 <br/>  <br/>  N:=30; <br/>  XA:IF((HOUR=8) OR (HOUR=9 AND MINUTE>=0 AND MINUTE<=N) , 1 , 0 ) , STICK ;<br/>  <br/>  上面和下面的语法,其意义相同:<br/>  <br/>  范例:9点:30分:59秒 以前的分时K线 ,指定一个值=1给它,其它为=0 <br/>  <br/>  N:=30; <br/>  XAHOUR=8) OR (HOUR=9 AND MINUTE>=0 AND MINUTE<=N) , STICK ; <br/>  <br/>  范例:开盘第一根分时K线,指定一个值=1给它,其它为0<br/>  <br/>  XA:REF(DATE,1)<>DATE , STICK; <br/>  <br/>  范例:每天的分时K线,指定它的当天K线序号给它<br/>  <br/>  XA:=REF(DATE,1)<>DATE , STICK; <br/>  <br/>  XB:BARSLAST(XA=1) + 1 ,STICK;
 楼主| 发表于 2008-4-3 20:18 |
<div class="tpc_content" id="read_30307">公式技巧全集(0001~0235)(五)<br/>0090--添加自己的特色指针子选单 <br/>  <br/>  方法如下: <br/>  <br/>  在C:\CHIEFOX\SYSTEM\下建立SPECINDI.INI文件,例如其内容如下:<br/>  <br/>  [特色指针]<br/>  追涨体系=0,RSI;0,KDJ;<br/>  条件选股=0,BIAS;3,K110;2,BIAS<br/>  <br/>  打开记事本,输入上面文字后,存盘时记得扩展名由TXT→改为INI <br/>  <br/>  批注:  <br/>  各指针间以分号相隔。  <br/>  指针名称逗号前的数字表示公式类型:  <br/>  0:技术指针,1:条件选股 2:交易系统 3:五彩K线<br/>  <br/>  再启动看看:  <br/>  功能选单:特色→特色指针,将会出现子选单"追涨体系"、"条件选股"。 <br/>   <br/><br/>  0091--5日均线转折价  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  <br/>  公式名称:KKK27 <br/>  参数PARAM( N,5,2,300 ) <br/>  <br/>  MMA:MA( CLOSE , N ) ; <br/>  RMA:=REF( MMA , 1 ) ; <br/>  <br/>  MMB:=MA( CLOSE , N-1 ) ; <br/>  RMB:=REF( MMB , 1 ) ; <br/>  <br/>  均线今转折 RMA * N ) - ( RMB * ( N-1) ) , LINETHICK5 , POINTDOT ; <br/>  <br/>  均线明转折 MMA * N ) - ( MMB * ( N-1 ) ) , LINETHICK5 , POINTDOT ; <br/>  <br/>  说明: <br/>  1. REF( X , N ) 函数:将线图 X 向右平移 N 周期。 <br/>  <br/>  2. X , SHIFT N 函数:将线图 X 向右平移 N 周期。(这两者之间的差别验证看看就知道了) <br/>  <br/>  3.<br/>  <br/>  收盘站在转折价之上→均线将走正斜率。 <br/>  收盘等于转折价→均线将走零斜率。 <br/>  收盘落入转折价之下→均线将走负斜率。 <br/>  <br/>  5日均线<br/>  <br/>  使CROSS(CLOSE , MA( CLOSE , 5 ) )成立转折价 <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  <br/>  公式名称:KKK40 <br/>  参数PARAM( N,5,2,300 ) <br/>  <br/>  MMA:MA (CLOSE , N ) ; <br/>  <br/>  TT:=MA( C , N-1 ) ; <br/>  DD:=REF( TT , 1 ) ; <br/>  <br/>  PARTLINE( CLOSE>0, DD ) , CROSSDOT , COLOR6A9BFF ; <br/>  PARTLINE( CLOSE>0 , TT ) , CROSSDOT , COLORFFAB60 ; <br/>  <br/>  EXPLAINEX( CLOSE>0 , '均线今转折 ' , DD , 2 , 0 ) , COLOR6A9BFF; <br/>  EXPLAINEX( CLOSE>0 , '均线明转折 ' , TT , 2 , 0 ) , COLORFFAB60 ; <br/>  <br/>  说明:<br/>  <br/>  BB=MA( C , 4 ) <br/>  RB=REF( BB , 1 ) <br/>  <br/>  令  <br/>  今转折价为 CC   <br/>  CC=(4*RB) / 5 + (CC) / 5   <br/>  5*CC=4*RB + CC ;   <br/>  4*CC=4*RB   <br/>  CC=RB <br/>  <br/>  同理可证:  <br/>  令   <br/>  明转折价为MM   <br/>  MM=BB   <br/>  5日均线   <br/>  使CROSS(CLOSE , MA( CLOSE , 5 ) )成立 转折价(含周均线)   <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) 先建立即将被引用的表达式 <br/>  <br/>  公式名称:KKK45 <br/>  参数PARAM( N,5,2,300 )   <br/>  MMA:MA (CLOSE , N ) ;   <br/>  TT:MA( C , N-1 ) ; <br/>  DD:REF( TT , 1 ) ; <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  <br/>  公式名称:KKK45.1 <br/>  参数PARAM( N,5,2,300 ) <br/>  <br/>  MMA:"KKK45.MMA"(N) ; <br/>  MMW:"KKK45.MMA#WEEK"(N) ; <br/>  <br/>  TT:="KKK45.TT"(N) ; <br/>  DD:="KKK45.DD"(N) ; <br/>  <br/>  WT:="KKK45.TT#WEEK"(N) ; <br/>  WD:="KKK45.DD#WEEK"(N) ; <br/>  <br/>  PARTLINE( CLOSE>0, DD ) , CROSSDOT , COLOR6A9BFF ; <br/>  PARTLINE( CLOSE>0 , TT ) , CROSSDOT , COLORFFAB60 ; <br/>  <br/>  PARTLINE( CLOSE>0, WD ) , CROSSDOT , COLOR88FB66 ; <br/>  PARTLINE( CLOSE>0, WT ) , CROSSDOT , COLORB982FD; <br/>  <br/>  EXPLAINEX( CLOSE>0 , '均线今转折 ' , DD , 2 , 0 ) , COLOR6A9BFF; <br/>  EXPLAINEX( CLOSE>0 , '均线明转折 ' , TT , 2 , 0 ) , COLORFFAB60 ; <br/>  <br/>  EXPLAINEX( CLOSE>0 , '\N均线今周转折 ' , WD , 2 , 0 ) , COLOR88FB66 ; <br/>  EXPLAINEX( CLOSE>0 , '均线下周转折 ' , WT , 2 , 0 ) , COLORB982FD ; <br/>  <br/>   <br/>  0092--平均真实波幅 ATR BANDS<br/>  <br/>  METASTOCK FORMULAS <br/>  ATR BANDS <br/>  <br/>  STDHA := MOV(C,20,E)+2*ATR(20) ; <br/>  STDLA := MOV(C,20,E)-2*ATR(20) ; <br/>  STDHA; <br/>  STDLA <br/>  <br/>  真实波幅TRUE RANGE是以下三者最大的一项: <br/>  <br/>  (A). 当天最高价至最低价的幅度。 <br/>  (B). 当天最高价至昨天收盘价的幅度。 <br/>  (C). 当天最低价与昨天收盘价的幅度。 <br/>  <br/>  公式名称:KKK43 <br/>  将公式建立在:技术指针 ( ○主图 ●主图叠加 ) <br/>  <br/>  RC:=REF( C , 1 ) , LINETHICK0 ; <br/>  <br/>  XA:=IF( RC>H , RC , 0 ) ; <br/>  XB:=IF( H>=RC AND RC>L , H , 0 ) ; <br/>  XC:=IF( RC<=L , H , 0 ) ; <br/>  <br/>  XD:=XA+XB+XC ;   <br/>  YA:=IF( RC>H , L , 0 ) ; <br/>  YB:=IF( H>=RC AND RC>L , L , 0 ) ; <br/>  YC:=IF( RC<=L , RC , 0 ) ;   <br/>  YD:=YA+YB+YC ;   <br/>  ATR:=SMA( (XD - YD) , 20 , 1 ) ;   <br/>  STDHA:EMA( C , 20 ) + 2*ATR ; <br/>  STDLA:EMA( C , 20 ) - 2*ATR ; <br/>   <br/><br/>  0093--SYSPARAM(1)函数的说明<br/>  <br/>  SYSPARAM(1)函数:主要应用在,线图会随十字游标的移动而变化。 <br/>  <br/>  公式名称:KKK12 <br/>  将公式建立在:技术指针 ( ○主图 ●主图叠加 ) <br/>  <br/>  SS:=SYSPARAM( 1 ) ; <br/>  DD:=SUM( 1 , 0 ) ; <br/>  <br/>  CC:CLOSE * 1.07 , LINETHICK0 , COLORYELLOW ; <br/>  <br/>  PARTLINE( SS>=DD , CC ) , COLORYELLOW ; <br/>  <br/>  注:<br/>  <br/>  DD:SUM( 1 , 0 ) ; <br/>  SS:SYSPARAM( 1 ) ; <br/>  <br/>  上面两者,显然有明显的不同之处。 <br/>  <br/>  1. DD是一条变量型时间数列→代表K线的序号下标。 <br/>  <br/>  2. SS是一组包含N 条的常数型时间数列( N=这支股票的K线总数)。<br/>   <br/><br/>  0094--真实波幅AND平均真实波幅。<br/>  <br/>  真实波幅TRUE RANGE是以下三者最大的一项: <br/>  <br/>  (A). 当天最高价至最低价的幅度。 <br/>  (B). 当天最高价至昨天收盘价的幅度。 <br/>  (C). 当天最低价与昨天收盘价的幅度。 <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK36 <br/>  <br/>  收盘价:CLOSE , POINTDOT , LINETHICK6 ; <br/>  <br/>  RC:REF( C , 1 ) , LINETHICK0 ; <br/>  <br/>  XA:=IF( RC>H , RC , 0 ) ; <br/>  XB:=IF( H>=RC AND RC>L , H , 0 ) ; <br/>  XC:=IF( RC<=L , H , 0 ) ; <br/>  <br/>  XD:XA+XB+XC ; <br/>  <br/>  YA:=IF( RC>H , L , 0 ) ; <br/>  YB:=IF( H>=RC AND RC>L , L , 0 ) ; <br/>  YC:=IF( RC<=L , RC , 0 ) ; <br/>  <br/>  YD:YA+YB+YC ; <br/>  <br/>  ATR:SMA( ( XD - YD ) , 14 , 1 ) , LINETHICK0 ; <br/>  <br/>  真实波幅TRUE RANGE是以下三者最大的一项: <br/>  <br/>  (A). 当天最高价至最低价的幅度。 <br/>  (B). 当天最高价至昨天收盘价的幅度。 <br/>  (C). 当天最低价与昨天收盘价的幅度。 <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK36 <br/>  <br/>  收盘价:CLOSE , POINTDOT , LINETHICK6 ; <br/>  <br/>  RC:REF( C , 1 ) , LINETHICK0 ; <br/>  <br/>  XA:=IF( RC>=H , RC , 0 ) ; <br/>  XB:=IF( RC< H , H , 0 ) ; <br/>  <br/>  XD:XA+XB ; <br/>  <br/>  YA:=IF( RC>L , L , 0 ) ; <br/>  YB:=IF( RC<=L , RC , 0 ) ; <br/>  <br/>  YD:YA+YB ; <br/>  <br/>  TR:SMA( ABS( XD - YD ) , 14 , 1 ) , LINETHICK0 ;<br/><br/>0095--条件成立当日低点向后划水平线直到水平线跌破。<br/>  <br/>  条件A,例如CROSS( K , 80 ), <br/>  <br/>  在 条件A 成立的当天取当根K棒的“最低价X”作为“水平直线”的起点,然后一直随着未来的K棒自动向右延伸,“直到”有一天的“收盘价小于”当初条件成立时的那个“最低价X”时,这一条“水平直线”便到了终点。 <br/>  <br/>  将下面公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK29 <br/>  <br/>  参数PARAM( N,9,1,100 ) <br/>  参数PARAM( M1,3,2,40 ) <br/>  参数PARAM( M2,3,2,40 ) <br/>  <br/>  RSV:=( CLOSE-LLV(LOW,N) ) / ( HHV(HIGH,N)-LLV(LOW,N) ) * 100 ; <br/>  K:=SMA( RSV , M1 , 1 ) , COLORRED ; <br/>  D:=SMA( K , M2 , 1 ) , COLORYELLOW ; <br/>  <br/>  AA:=CROSS( K , 80 ) ; <br/>  <br/>  BB:=BARSLAST( AA=1 ) ; <br/>  DD:=REF( LOW , BB ) ; <br/>  <br/>  EE:=CROSS( DD , CLOSE ) ; <br/>  <br/>  FF:=SUM( EE , BB ) ; <br/>  GG:=( REF( FF , 1 )=0 AND FF=1 ) ; <br/>  <br/>  HH:=( REF(DD,1)=DD ) ; <br/>  PARTLINE( HH=1 , DD ) ; <br/>  <br/>  DRAWLINE( AA=1 , DD , GG=1 , DD , 0 ) , COLORC080FF ; <br/>   <br/><br/>  </div>
 楼主| 发表于 2008-4-3 20:18 |
0096--分析周期切换→均线参数自动切换(1)<br/>  <br/>  日线 MA5,MA10,MA20,MA30,MA72 <br/>  周线 MA6,MA12,MA24,MA72 <br/>  其它周期参数,自行类推。 <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK25.2 (完成品) <br/>  <br/>  XA:=IF( DATAPERIOD=6 , 5 , 0 ) ; <br/>  XB:=IF( DATAPERIOD=6 , 10 , 0 ) ; <br/>  XC:=IF( DATAPERIOD=6 , 20 , 0 ) ; <br/>  XD:=IF( DATAPERIOD=6 , 30 , 0 ) ; <br/>  XE:=IF( DATAPERIOD=6 , 72 , 0 ) ; <br/>  <br/>  TT:=SUM( 1 , 0 ) ; <br/>  <br/>  A1:=ISLASTBAR ; <br/>  A2:=BACKSET( A1=1 , TT-4 ) ; <br/>  A3:=BARSLAST( A2=1 ) ; <br/>  <br/>  X1:=A3 + 1 ; <br/>  MA5:MA( C , XA ) * X1 ; <br/>  <br/>  B1:=ISLASTBAR ; <br/>  B2:=BACKSET( B1=1 , TT-9 ) ; <br/>  B3:=BARSLAST( B2=1 ) ; <br/>  <br/>  X2:=B3 + 1 ; <br/>  MA10:MA( C , XB ) * X2 ; <br/>  <br/>  C1:=ISLASTBAR ; <br/>  C2:=BACKSET( C1=1 , TT-19 ) ; <br/>  C3:=BARSLAST( C2=1 ) ; <br/>  <br/>  X3:=C3 + 1 ; <br/>  MA20:MA( C , XC ) * X3 ; <br/>  <br/>  D1:=ISLASTBAR ; <br/>  D2:=BACKSET( D1=1 , TT-29 ) ; <br/>  D3:=BARSLAST( D2=1 ) ; <br/>  <br/>  X4:=D3 + 1 ; <br/>  MA30:MA( C , XD ) * X4 ; <br/>  <br/>  E1:=ISLASTBAR ; <br/>  E2:=BACKSET( E1=1 , TT-71 ) ; <br/>  E3:=BARSLAST( E2=1 ) ; <br/>  <br/>  X5:=E3 + 1 ; <br/>  MA72:MA( C , XE ) * X5 ; <br/>  <br/>  YA:=IF( DATAPERIOD=7 , 6 , 0 ) ; <br/>  YB:=IF( DATAPERIOD=7 , 12 , 0 ) ; <br/>  YC:=IF( DATAPERIOD=7 , 24 , 0 ) ; <br/>  YD:=IF( DATAPERIOD=7 , 72 , 0 ) ; <br/>  <br/>  A11:=ISLASTBAR ; <br/>  A22:=BACKSET( A11=1 , TT-5 ) ; <br/>  <br/>  A33:=BARSLAST( A22=1 ) ; <br/>  <br/>  Y1:=A33 + 1 ; <br/>  MB6:MA( C , YA ) * Y1 ; <br/>  <br/>  B11:=ISLASTBAR ; <br/>  B22:=BACKSET( B11=1 , TT-11 ) ; <br/>  <br/>  B33:=BARSLAST( B22=1 ) ; <br/>  <br/>  Y2:=B33 + 1 ; <br/>  MB12:MA( C , YB ) * Y2 ; <br/>  <br/>  C11:=ISLASTBAR ; <br/>  C22:=BACKSET( C11=1 , TT-23 ) ; <br/>  <br/>  C33:=BARSLAST( C22=1 ) ; <br/>  <br/>  Y3:=C33 + 1 ; <br/>  MB24:MA( C , YC ) * Y3 ; <br/>  <br/>  D11:=ISLASTBAR ; <br/>  D22:=BACKSET( D11=1 , TT-71 ) ; <br/>  <br/>  D33:=BARSLAST( D22=1 ) ; <br/>  <br/>  Y4:=D33 + 1 ; <br/>  MB72:MA( C , YD ) * Y4 ; <br/>  <br/>  说明:   <br/>  只显示后面15(预设)天的线图(不使用VBS): <br/>  <br/>  将下列公式建立在:技术指针 ( ●主图 ○主图叠加 ) <br/>  公式名称:KKK17.1   <br/>  参数PARAM( N、15、1、300 )   <br/>  AA:=ISLASTBAR ;   <br/>  BB:=BACKSET( AA=1 , N ) ;   <br/>  Y:=BARSLAST( BB=1 ) ;   <br/>  X:=Y + 1 ;   <br/>  OO:OPEN * X ;   <br/>  MM:MA( CLOSE , 5 ) * X ; <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK25 (半成品)   <br/>  XA:=IF( DATAPERIOD=6 , 5 , 0 ) ; <br/>  XB:=IF( DATAPERIOD=6 , 10 , 0 ) ; <br/>  XC:=IF( DATAPERIOD=6 , 20 , 0 ) ; <br/>  XD:=IF( DATAPERIOD=6 , 30 , 0 ) ; <br/>  XE:=IF( DATAPERIOD=6 , 72 , 0 ) ;  <br/> <br/>  MA5:MA( C , XA ) ; <br/>  MA10:MA( C , XB ) ; <br/>  MA20:MA( C , XC ) ; <br/>  MA30:MA( C , XD ) ; <br/>  MA72:MA( C , XE ) ;  <br/> <br/>  YA:=IF( DATAPERIOD=7 , 6 , 0 ) ; <br/>  YB:=IF( DATAPERIOD=7 , 12 , 0 ) ; <br/>  YC:=IF( DATAPERIOD=7 , 24 , 0 ) ; <br/>  YD:=IF( DATAPERIOD=7 , 72 , 0 ) ; <br/>  <br/>  MB6:MA( C , YA ) ; <br/>  MB12:MA( C , YB ) ; <br/>  MB24:MA( C , YC ) ; <br/>  MB72:MA( C , YD ) ; <br/>  <br/>  注:  <br/>  当前分析周期类型: DATAPERIOD ;   <br/>  DATAPERIOD 函数 → 回传值的范围介于 0 -- 10 之间 。分别代表 当前分析周期类型。   <br/>  0 → 分笔成交 <br/>  1 → 1 分钟线 <br/>  2 → 5 分钟线 <br/>  3 → 15分钟线 <br/>  4 → 30分钟线 <br/>  5 → 60分钟线 <br/>  6 → 日线 <br/>  7 → 周线 <br/>  8 → 月线 <br/>  9 → 年线 <br/>  10 → 多日线 <br/>  <br/>  小技巧:<br/>  <br/>  在图形分析窗口可用 键盘精灵 切换分析周期。<br/>   <br/><br/>  0097--分析周期切换→均线参数自动切换(2) <br/>  <br/>  日线 MA5,MA10,MA20,MA30,MA72 <br/>  周线 MA6,MA12,MA24,MA72 <br/>  其它周期参数,自行类推。 <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK25.5 (完成品) <br/>  <br/>  XA:=( DATAPERIOD=6 )*5 ; <br/>  XB:=( DATAPERIOD=6 )*10 ; <br/>  XC:=( DATAPERIOD=6 )*20 ; <br/>  XD:=( DATAPERIOD=6 )*30 ; <br/>  XE:=( DATAPERIOD=6 )*72 ; {常数型 时间数列 ,将之代入 MA函数 会正确} <br/>  <br/>  MA5:MA( C , XA ) ; <br/>  MA10:MA( C , XB ) ; <br/>  MA20:MA( C , XC ) ; <br/>  MA30:MA( C , XD ) ; <br/>  MA72:MA( C , XE ) ; <br/>  <br/>  YA:=( DATAPERIOD=7 )*6 ; <br/>  YB:=( DATAPERIOD=7 )*12 ; <br/>  YC:=( DATAPERIOD=7 )*24 ; <br/>  YD:=( DATAPERIOD=7 )*72 ; <br/>  <br/>  MB6:MA( C , YA ) ; <br/>  MB12:MA( C , YB ) ; <br/>  MB24:MA( C , YC ) ; <br/>  MB72:MA( C , YD ) ; <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK25 (半成品) <br/>  <br/>  XA:=IF( DATAPERIOD=6 , 5 , 0 ) ; <br/>  XB:=IF( DATAPERIOD=6 , 10 , 0 ) ; <br/>  XC:=IF( DATAPERIOD=6 , 20 , 0 ) ; <br/>  XD:=IF( DATAPERIOD=6 , 30 , 0 ) ; <br/>  XE:=IF( DATAPERIOD=6 , 72 , 0 ) ; <br/>  <br/>  {有点变量型时间数列的味道,因为IF函数在做怪,将之代入MA函数会失真} <br/>  <br/>  MA5:MA( C , XA ) ; <br/>  MA10:MA( C , XB ) ; <br/>  MA20:MA( C , XC ) ; <br/>  MA30:MA( C , XD ) ; <br/>  MA72:MA( C , XE ) ; <br/>  <br/>  YA:=IF( DATAPERIOD=7 , 6 , 0 ) ; <br/>  YB:=IF( DATAPERIOD=7 , 12 , 0 ) ; <br/>  YC:=IF( DATAPERIOD=7 , 24 , 0 ) ; <br/>  YD:=IF( DATAPERIOD=7 , 72 , 0 ) ; <br/>  <br/>  MB6:MA( C , YA ) ; <br/>  MB12:MA( C , YB ) ; <br/>  MB24:MA( C , YC ) ; <br/>  MB72:MA( C , YD ) ; <br/>  <br/>  注:<br/>  <br/>  当前分析周期类型: DATAPERIOD ;   <br/>  PP DATAPERIOD=6 ) ; { PP为常数型时间数列 } <br/>   <br/><br/>  0098--调用某某公式内的时间数列线  <br/>  公式名称:BB   <br/>  SS:=HIGH< REF( HIGH , 1 ) ; {不输出的表达式,如果被引用还是会变成不输出的表达式}   <br/>  RR:REF( HIGH , 6 ) ; {输出的表达式,如果被引用还是会变成输出的表达式} <br/>  <br/>  公式名称: BBQ   <br/>  TT:"BB.SS" ; {不输出的表达式}   <br/>  PP:"BB.RR" ; {输出的表达式} <br/>  <br/>  1. 调用公式BB内的SS时间数列。调用公式BB内的RR时间数列。 <br/>  2. 当SS线内存有预设参数时,例如有两个参数,可视情况写成PP:"BB.SS"(N,M) 。 <br/>  <br/>  3. 例如 K:="KD.K"( 10 , 4 , 0 ) ; → 调用公式 KD 内的 K 时间数列 。 <br/>  3. 例如 D:="KD.D"( 10 , 4 , 4 ) ; → 调用公式 KD 内的 D 时间数列 。 <br/>  <br/>  4. 例如 K:="KD.K" ; → 使用公式 KD 预设的参数 ,( 9 , 3 , 0 )。 <br/>  4. 例如 K:="KD.D" ; → 使用公式 KD 预设的参数 ,( 9 , 3 , 3 )。 <br/>  <br/>  公式名称:KD <br/>  <br/>  参数PARAM( N,9,1,100 ) <br/>  参数PARAM( M1,3,2,40 ) <br/>  参数PARAM( M2,3,2,40 ) <br/>  <br/>  RSV:=( CLOSE-LLV( LOW , N ) ) / ( HHV( HIGH , N )-LLV( LOW , N ) )*100 ; <br/>  K:SMA( RSV , M1 , 1 ) ; {K数列内包含了两个参数因子:N,M1} <br/>  D:SMA( K , M2 , 1 ) ; {D数列内包含了三个参数因子:N,M1,M2} <br/>  <br/>  (1) 多头: 周线9K>9D时选出日线9K>9D的股票 <br/>  (2) 空头: 周线9K<9D时选出日线9K<9D的股票 <br/>  <br/>  公式A. 先建立即将被引用的表达式 <br/>  建立一个专门被用来引用(QUOTE)的公式区。 <br/>  <br/>  将公式建立在:技术指针( ●主图 ○主图叠加 ) <br/>  公式名称:KDD <br/>  <br/>  参数PARAM( N,9,1,100 ) <br/>  参数PARAM( M1,3,2,40 ) <br/>  参数PARAM( M2,3,2,40 ) <br/>  <br/>  RSV:=( CLOSE-LLV(LOW,N) ) / ( HHV(HIGH,N)-LLV(LOW,N) ) * 100 ; <br/>  K:SMA( RSV , M1 , 1 ) , COLORRED ; <br/>  D:SMA( K , M2 , 1 ) , COLORYELLOW ; <br/>  <br/>  公式B. <br/>  <br/>  将公式建立在:技术指针( ●主图 ○主图叠加 ) <br/>  公式名称:KDD1 <br/>  <br/>  K:"KDD.K" ; <br/>  D:"KDD.D" ; <br/>  <br/>  WK:"KDD.K#WEEK" ; <br/>  WD:"KDD.D#WEEK" ; <br/>  <br/>  公式B. <br/>  <br/>  将公式建立在:条件选股 <br/>  公式名称:KDD2(多头) <br/>  <br/>  K:="KDD.K" ; <br/>  D:="KDD.D" ; <br/>  <br/>  WK:="KDD.K#WEEK" ; <br/>  WD:="KDD.D#WEEK" ; <br/>  <br/>  K>D AND WK>WD <br/>  <br/>  公式C. <br/>  <br/>  将公式建立在:条件选股 <br/>  公式名称:KDD3(空头) <br/>  <br/>  K:="KDD.K" ; <br/>  D:="KDD.D" ; <br/>  <br/>  WK:="KDD.K#WEEK" ; <br/>  WD:="KDD.D#WEEK" ; <br/>  <br/>  K< D AND WK< WD <br/>   <br/><br/>  0099--三角函数AND角度线  <br/>  ∠A 的对边长度 = A   <br/>  ∠B 的对边长度 = B   <br/>  ∠C 的对边长度 = C → 斜边   <br/>  ù=3.14159   <br/>  1 度 = ( ù / 180 ) 弧度   <br/>  ∠B = 22.5 度 = ( 1 / 8 ) * ù 弧度 <br/>  ∠B = 45 度 = ( 1 / 4 ) * ù 弧度   <br/>  SIN( B ) = B / C   <br/>  COS( B ) = A / C   <br/>  TAN( B ) = B / A → B = A * TAN( B ) <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK30   <br/>  AA:=SUM( 1 , 0 ) - 1 ;   <br/>  BB22: AA * TAN( ( 1 / 8 ) * 3.14159 ) ;   <br/>  BB45: AA * TAN( ( 1 / 4 ) * 3.14159 ) ; <br/>  <br/>  将公式建立在:技术指针( ○主图 ●主图叠加 ) <br/>  公式名称:KKK30.1   <br/>  参数PARAM( N、45、0、80 )→预设为45度。   <br/>  AA:=SUM( 1 , 0 ) - 1 ;   <br/>  BB: AA* TAN( N * ( 3.14159 / 180 ) ) ;<br/>   <br/><br/>  0100--个股和大盘联动K线  <br/>  渗入“总报酬率”的观念,就可画出个股和大盘联动K线。   <br/>  公式名称:KKK4 <br/>  将公式建立在:技术指针 ( ○主图 ●主图叠加 ) <br/>  <br/>  参数PARAM( N,30,1,300 ) <br/>  参数PARAM( M,1,0,1 )   <br/>  AA:=SUM( 1 , 0 ) ;   <br/>  BB:=IF( AA=1 , 1 , 0 ) ;   <br/>  TT:=ISLASTBAR ;   <br/>  DD:=BACKSET( TT=1 , N + 1 ) ;   <br/>  EE:=BACKSET( TT=1 , N ) , LINETHICK0 ;   <br/>  FF:=IF( DD>EE , 1 , 0 ) ;   <br/>  GG:=IF( M=1 , FF , BB ) ;   <br/>  PP:=BARSLAST( GG=1 ) , LINETHICK0; ;   <br/>  X:=REF( INDEXC , PP ) ;   <br/>  Y:=REF( CLOSE , PP ) ;   <br/>  OO INDEXO / X ) * Y , LINETHICK0 ;   <br/>  HH INDEXH / X ) * Y , LINETHICK0 ;   <br/>  LL INDEXL / X ) * Y , LINETHICK0 ;   <br/>  CC INDEXC / X ) * Y , LINETHICK0 ;   <br/>  CC% INDEXC / X ) - 1 , LINETHICK0 ; { 基准日至今,大盘总报酬率 }   <br/>  DC% CLOSE / Y ) - 1 , LINETHICK0 ; { 基准日至今,个股总报酬率 }   <br/>  STICKLINE( CC>OO , HH , LL , 0.1 , 0 ) , COLORRED ;   <br/>  STICKLINE( CC>OO , CC , OO , 7 , 1 ) , COLORRED ;   <br/>  STICKLINE( CC<=OO , HH , LL , 0.1 , 0 ) , COLORCYAN ;   <br/>  STICKLINE( CC<=OO , CC , OO , 7 , 0 ) , COLORCYAN ; <br/>  <br/>  说明:<br/>  <br/>  1. 从后面算来(第N+1日) 为基准日。例如,N=10;   <br/>  2. 求算从后面算来(N日)→个股和大盘指数的联动K线:   <br/>  (每日大盘开盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价   <br/>  (每日大盘最高盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价   <br/>  (每日大盘最低盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价   <br/>  (每日大盘收盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价 <br/>  <br/>  3. 公式的用意是: <br/>  <br/>  以基准日为基准至今:大盘总报酬率多少,个股的总报酬率就多少。联动在一起。
发表于 2009-12-26 13:23 |
老师学生笨呐,你不说明,看不明白这是啥公式
发表于 2009-12-27 00:51 |
老师这些公式太难理解了。
发表于 2009-12-27 00:55 |
老师学生笨呐,你不说明,看不明白这是啥公式。。。。。。。。。
发表于 2010-6-27 22:27 |
谢谢老师,努力学习!!!!!!!!!!!!!!!!!!!!11
发表于 2010-6-29 22:43 |
学习了 谢谢分享 慢慢学习
头像被屏蔽
发表于 2010-8-5 07:07 |
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2010-8-5 11:58 |
收藏起来慢慢研究!!!
发表于 2011-5-5 20:06 |
非常感谢老师的分享

Archiver|手机版|小黑屋|股海明灯官网 ( 京ICP备18020431号 )

GMT+8, 2024-6-1 03:11 , Processed in 0.101179 second(s), Total 11, Slave 10 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表