花开成景花落成诗:(转) 编写指标公式技巧全集(二)_

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 22:37:10
(转) 编写指标公式技巧全集(二)
2008-05-25 21:05:21

函数:LLVBARS(X,N)
  描述:上一低点位置
  类别:引用
  参数: 无
  返回: 无
  说明:求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计
  示例:LLVBARS(HIGH,10)求得10日最低点到当前的周期数
  
  当前N天之内的最高点和最低点就一目了然了:
  
  A:=BACKSET(ISLASTPERIOD,HHVBARS(H,N)+1);
  B:=COUNT(A,N)=1;{取得前N个周期内的最高点位置}
  REF(H,BARSLAST(B));
  DRAWICON(B,H,1),ALIGN2;
  A2:=BACKSET(ISLASTPERIOD,LLVBARS(L,N)+1);
  B2:=COUNT(A2,N)=1;{取得前N个周期内的最低点位置}
  REF(L,BARSLAST(B2));
  DRAWICON(B2,L,2),ALIGN1;{主图叠加。N:30,1,9999}
  
  这个公式求前期高低点,在600036等次新股上试调整参数就露马脚了,并不完善。问题出在HHVBARS起算点等原因上。
  
  下面这个公式可以说是完美解决方案:
  
  HH:HHV(H,N),LINETHICK2;
  LL:LLV(L,N),LINETHICK2;{主图叠加,参数N:30,1,9999}
  
  
  当N个周期之内,有两个最高价,即有等高的情况出现,HHVBARS会返回哪个最高价到当前的周期数呢?
  
  用副图公式观察一下,N取10:
  
  HHVBARS(H,N);
  
  我们可以得出结论,返回的是前一个最高价到当前的周期数。同样,当在N个周期之内,有两个等低的最低价出现时,LLVBARS会返回前一个最低价到当前的周期数。

0079--窄幅整理  
  (HHV(C,20)-LLV(C,20)/C<0.08;
  
  0080--N天前到M天前之间的最高价  
  REF(HHV(H,20),40);
  
  0081--某时间段最高价  
  HH:=IF(YEAR=1998 AND MONTH>=8 AND MONTH<=12,H,0);
  HHV(HH,0);{此例求1998年8月1日到1998年12月31日间的最高价}
  
  0082--二十日内是否有过涨停  
  TT:=C/REF(C,1)>1.095;
  COUNT(TT,20)>0;
  
  0083--放量创新高  
  AA:=MA(V,5);
  BB:=REF(AA,2);
  CC:=HHV(C,30);
  AA/BB>2 AND C=CC;
  
  0084--突破长期平台整理  
  V1:=MA(V,5);
  V2:=V/REF(V1,1);
  PZ1:=MA(C,150);
  PZ2:=HHV(H,150);
  PZ3:=LLV(L,150);
  PZ4:=(PZ2-PZ1)/PZ1;
  PZ5:=(PZ1-PZ3)/PZ1;
  PZ:=REF(PZ4,1)<0.15 AND REF(PZ5,1)<0.15;
  TP1:=HHV(H,150);
  TP:=H=TP1;
  V2>=2 AND PZ AND TP
  

  0085--尾盘大单拉升或打压  
  AA:=TIME>=145500;
  BB:=SUM(V,0)/240;//当天均量
  CC:=SUM(V,10)/10;//10分钟内的成交均量
  DD:=REF(C,10);
  AA AND CC/BB>3 AND C/DD>1.02;
  

  0086--MACD柱状体变宽语法   
  Moving Average Convergence/Divergence , MACD , 移动平均收敛/发散指针
  
  Param(LONG , 26 ,20 100)
  Param(SHORT , 12 , 5 ,40)
  Param(M , 9 , 2 , 60)
  
  DIFF:EMA( CLOSE , SHORT ) - EMA( CLOSE , LONG) ,LINETHICK0,COLOR99FFFF;
  DEA:EMA( DIFF , M ) ,LINETHICK0,COLORFF9966;
  MACD: 2 * ( DIFF - DEA ) ,LINETHICK0,COLOR9966FF;
  
  STICKLINE(MACD>0,0,MACD,6,1) ,COLOR9966FF;
  STICKLINE(MACD<=0,0,MACD,6,1) ,COLORCCFF66;
  
  PARTLINE(C>0,DIFF) ,COLOR99FFFF;
  PARTLINE(C>0,DEA) ,COLORFF9966;
  
  英译:
  
  DIFF=Difference = 差异=差离值
  DEA=Difference Exponential Average= 差异的指数平滑移动平均=差离值平均值
  MACD=Moving Average Convergence/Divergence = 移动平均收敛/发散
  
  利用快速和慢速两条指数平滑移动平均线,计算两者之间的差离值DIFF
  
  再利用差离值DIFF,来计算差离值平均值DEA
  
  本公式MACD柱状,即可明显体现出了DIFF与DEA两者的收敛交会与发散分离的情况,
  用以研判买进或卖出的时机
  

  0087--傅立叶变换   
  用法:FFT(X , N)  
  傅立叶变换,对数列X进行傅立叶变换,或变换处理后反变换   
  示例:  
  当N=0时,对数列X进行傅立叶变换;
  当N=1时,对数列X进行傅立叶变换后,再反变换回来,与原X一致;
  当N>1时,对数列X进行傅立叶变换后,舍去周期小于N的成分后再反变换回来;
  
  傅立叶变换是最常用的积分变换。原理和对数变换等差不多,广泛应用于工程技术领域。可傅立叶变换的算法,涉及高等数学的微积分知识,非三言两语说得清楚。
  
  傅立叶变换的应用方面:把FFT(CLOSE,30),在主图中上移、下移之后,可以构成非常光滑的信道。
  
  AA:FFT(CLOSE,30);
  XX:AA*1.05;
  YY:AA*0.95;
  

  0088--周期切换   
  函数: DATATYPE
  别名: DATAPERIOD,、数据周期类型
  用法:
  DATATYPE
  回传值竹范围为0-11
  分别表示分笔成交、1分钟、5分钟、15分钟、30分钟、60分钟、
  日、周、月、年、多日、多分钟
  
  范例:切换到日线时跑最高价、切换到周线时跑最低价。考虑到什么周期秀什么线的问题
  
  XH:=IF( DATATYPE=6 , 1 , 0 ) ;
  XL:=IF( DATATYPE=7 , 1 , 0 ) ;
  
  AA:=MA(C , XH)/MA(C , XH) ;
  BB:=MA(C , XL)/MA(C , XL) ;
  
  HH:=HIGH ;
  LL:=LOW ;
  
  日线最高价:AA*HH , COLORGREEN ;
  周线最低价:BB*LL , COLORYELLOW ;
  
  范例:切换到指数类STKTYPE=0 跑10均线,切换到个股类STKTYPE=5 跑30均线。
  
  XA:=IF( STKTYPE=0 , 1 , 0 ) ;
  XB:=IF( STKTYPE=5 , 1 , 0 ) ;
  
  AA:=IF( XA=1 , MA(C,10) , 0 ) ;
  BB:=IF( XB=1 , MA(C,30) , 0 ) ;
  
  指针线:AA+BB ;
  
  范例:标记当天分时K线的当天K线序号。过了午夜12点,就又要等早盘开盘后序号数字才会出现
  
  XA:=CURRENTDATE=DATE ;
  XB:=REF(XA , 1)<>XA ;
  
  XC:HHVBARS(XB , 0) + XA ;
  
  应用:13均线当天当下最后数值向后延申,画平台线。
  
  XA:=CURRENTDATE=DATE ;
  XB:=REF(XA , 1)<>XA ;
  
  XC:=HHVBARS(XB , 0) + XA ;
  
  XD:=MA(C,13);
  
  XE:=REFX(XD , 300);
  XF:IF(XC>=0 , XE , 0) ,LINETHICK0,COLOR99FFFF;
  PARTLINE(XC>=1 , XF) ,COLOR99FFFF;
  

  0089--公历农历  
  范例:公历日期   
  YY:=YEAR*10000;
  MM:=MONTH*100;
  DD:=DAY ;
  
  公历日期:YY+MM+DD ,LINETHICK0;
  
  范例:农历日期   
  LY:=LYEAR*10000;
  LM:=LMONTH*100;
  LD:=LDAY;
  
  农历日期:LY+LM+LD ,LINETHICK0;
  
  范例:两个日期相差天数→横坐标切换→自然日坐标和交易日坐标效果不一样
  
  两日期相差天数A: DATEDIFF(1020929,1021003),LINETHICK0;
  两日期相差天数B: DATEDIFF(LSOLARTERMDATE(1), DATE),LINETHICK0;
  
  范例:9点:30分:59秒以前的分时K线,指定一个值=1给它,其它为=0
  
  N:=30;
  XA:IF((HOUR=8) OR (HOUR=9 AND MINUTE>=0 AND MINUTE<=N) , 1 , 0 ) , STICK ;
  
  上面和下面的语法,其意义相同:
  
  范例:9点:30分:59秒 以前的分时K线 ,指定一个值=1给它,其它为=0
  
  N:=30;
  XA:(HOUR=8) OR (HOUR=9 AND MINUTE>=0 AND MINUTE<=N) , STICK ;
  
  范例:开盘第一根分时K线,指定一个值=1给它,其它为0
  
  XA:REF(DATE,1)<>DATE , STICK;
  
  范例:每天的分时K线,指定它的当天K线序号给它
  
  XA:=REF(DATE,1)<>DATE , STICK;
  
  XB:BARSLAST(XA=1) + 1 ,STICK;

0090--添加自己的特色指针子选单
  
  方法如下:
  
  在C:\CHIEFOX\SYSTEM\下建立SPECINDI.INI文件,例如其内容如下:
  
  [特色指针]
  追涨体系=0,RSI;0,KDJ;
  条件选股=0,BIAS;3,K110;2,BIAS
  
  打开记事本,输入上面文字后,存盘时记得扩展名由TXT→改为INI
  
  批注:  
  各指针间以分号相隔。  
  指针名称逗号前的数字表示公式类型:  
  0:技术指针,1:条件选股 2:交易系统 3:五彩K线
  
  再启动看看:  
  功能选单:特色→特色指针,将会出现子选单"追涨体系"、"条件选股"。
  

  0091--5日均线转折价  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  
  公式名称:KKK27
  参数PARAM( N,5,2,300 )
  
  MMA:MA( CLOSE , N ) ;
  RMA:=REF( MMA , 1 ) ;
  
  MMB:=MA( CLOSE , N-1 ) ;
  RMB:=REF( MMB , 1 ) ;
  
  均线今转折:( RMA * N ) - ( RMB * ( N-1) ) , LINETHICK5 , POINTDOT ;
  
  均线明转折:( MMA * N ) - ( MMB * ( N-1 ) ) , LINETHICK5 , POINTDOT ;
  
  说明:
  1. REF( X , N ) 函数:将线图 X 向右平移 N 周期。
  
  2. X , SHIFT N 函数:将线图 X 向右平移 N 周期。(这两者之间的差别验证看看就知道了)
  
  3.
  
  收盘站在转折价之上→均线将走正斜率。
  收盘等于转折价→均线将走零斜率。
  收盘落入转折价之下→均线将走负斜率。
  
  5日均线
  
  使CROSS(CLOSE , MA( CLOSE , 5 ) )成立转折价
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  
  公式名称:KKK40
  参数PARAM( N,5,2,300 )
  
  MMA:MA (CLOSE , N ) ;
  
  TT:=MA( C , N-1 ) ;
  DD:=REF( TT , 1 ) ;
  
  PARTLINE( CLOSE>0, DD ) , CROSSDOT , COLOR6A9BFF ;
  PARTLINE( CLOSE>0 , TT ) , CROSSDOT , COLORFFAB60 ;
  
  EXPLAINEX( CLOSE>0 , '均线今转折 ' , DD , 2 , 0 ) , COLOR6A9BFF;
  EXPLAINEX( CLOSE>0 , '均线明转折 ' , TT , 2 , 0 ) , COLORFFAB60 ;
  
  说明:
  
  BB=MA( C , 4 )
  RB=REF( BB , 1 )
  
  令  
  今转折价为 CC   
  CC=(4*RB) / 5 + (CC) / 5   
  5*CC=4*RB + CC ;   
  4*CC=4*RB   
  CC=RB
  
  同理可证:  
  令   
  明转折价为MM   
  MM=BB   
  5日均线   
  使CROSS(CLOSE , MA( CLOSE , 5 ) )成立 转折价(含周均线)   
  将公式建立在:技术指针( ○主图 ●主图叠加 ) 先建立即将被引用的表达式
  
  公式名称:KKK45
  参数PARAM( N,5,2,300 )   
  MMA:MA (CLOSE , N ) ;   
  TT:MA( C , N-1 ) ;
  DD:REF( TT , 1 ) ;
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  
  公式名称:KKK45.1
  参数PARAM( N,5,2,300 )
  
  MMA:"KKK45.MMA"(N) ;
  MMW:"KKK45.MMA#WEEK"(N) ;
  
  TT:="KKK45.TT"(N) ;
  DD:="KKK45.DD"(N) ;
  
  WT:="KKK45.TT#WEEK"(N) ;
  WD:="KKK45.DD#WEEK"(N) ;
  
  PARTLINE( CLOSE>0, DD ) , CROSSDOT , COLOR6A9BFF ;
  PARTLINE( CLOSE>0 , TT ) , CROSSDOT , COLORFFAB60 ;
  
  PARTLINE( CLOSE>0, WD ) , CROSSDOT , COLOR88FB66 ;
  PARTLINE( CLOSE>0, WT ) , CROSSDOT , COLORB982FD;
  
  EXPLAINEX( CLOSE>0 , '均线今转折 ' , DD , 2 , 0 ) , COLOR6A9BFF;
  EXPLAINEX( CLOSE>0 , '均线明转折 ' , TT , 2 , 0 ) , COLORFFAB60 ;
  
  EXPLAINEX( CLOSE>0 , '\N均线今周转折 ' , WD , 2 , 0 ) , COLOR88FB66 ;
  EXPLAINEX( CLOSE>0 , '均线下周转折 ' , WT , 2 , 0 ) , COLORB982FD ;
  
  
  0092--平均真实波幅 ATR BANDS
  
  METASTOCK FORMULAS
  ATR BANDS
  
  STDHA := MOV(C,20,E)+2*ATR(20) ;
  STDLA := MOV(C,20,E)-2*ATR(20) ;
  STDHA;
  STDLA
  
  真实波幅TRUE RANGE是以下三者最大的一项:
  
  (A). 当天最高价至最低价的幅度。
  (B). 当天最高价至昨天收盘价的幅度。
  (C). 当天最低价与昨天收盘价的幅度。
  
  公式名称:KKK43
  将公式建立在:技术指针 ( ○主图 ●主图叠加 )
  
  RC:=REF( C , 1 ) , LINETHICK0 ;
  
  XA:=IF( RC>H , RC , 0 ) ;
  XB:=IF( H>=RC AND RC>L , H , 0 ) ;
  XC:=IF( RC<=L , H , 0 ) ;
  
  XD:=XA+XB+XC ;   
  YA:=IF( RC>H , L , 0 ) ;
  YB:=IF( H>=RC AND RC>L , L , 0 ) ;
  YC:=IF( RC<=L , RC , 0 ) ;   
  YD:=YA+YB+YC ;   
  ATR:=SMA( (XD - YD) , 20 , 1 ) ;   
  STDHA:EMA( C , 20 ) + 2*ATR ;
  STDLA:EMA( C , 20 ) - 2*ATR ;
  

  0093--SYSPARAM(1)函数的说明
  
  SYSPARAM(1)函数:主要应用在,线图会随十字游标的移动而变化。
  
  公式名称:KKK12
  将公式建立在:技术指针 ( ○主图 ●主图叠加 )
  
  SS:=SYSPARAM( 1 ) ;
  DD:=SUM( 1 , 0 ) ;
  
  CC:CLOSE * 1.07 , LINETHICK0 , COLORYELLOW ;
  
  PARTLINE( SS>=DD , CC ) , COLORYELLOW ;
  
  注:
  
  DD:SUM( 1 , 0 ) ;
  SS:SYSPARAM( 1 ) ;
  
  上面两者,显然有明显的不同之处。
  
  1. DD是一条变量型时间数列→代表K线的序号下标。
  
  2. SS是一组包含N 条的常数型时间数列( N=这支股票的K线总数)。
  

  0094--真实波幅AND平均真实波幅。
  
  真实波幅TRUE RANGE是以下三者最大的一项:
  
  (A). 当天最高价至最低价的幅度。
  (B). 当天最高价至昨天收盘价的幅度。
  (C). 当天最低价与昨天收盘价的幅度。
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK36
  
  收盘价:CLOSE , POINTDOT , LINETHICK6 ;
  
  RC:REF( C , 1 ) , LINETHICK0 ;
  
  XA:=IF( RC>H , RC , 0 ) ;
  XB:=IF( H>=RC AND RC>L , H , 0 ) ;
  XC:=IF( RC<=L , H , 0 ) ;
  
  XD:XA+XB+XC ;
  
  YA:=IF( RC>H , L , 0 ) ;
  YB:=IF( H>=RC AND RC>L , L , 0 ) ;
  YC:=IF( RC<=L , RC , 0 ) ;
  
  YD:YA+YB+YC ;
  
  ATR:SMA( ( XD - YD ) , 14 , 1 ) , LINETHICK0 ;
  
  真实波幅TRUE RANGE是以下三者最大的一项:
  
  (A). 当天最高价至最低价的幅度。
  (B). 当天最高价至昨天收盘价的幅度。
  (C). 当天最低价与昨天收盘价的幅度。
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK36
  
  收盘价:CLOSE , POINTDOT , LINETHICK6 ;
  
  RC:REF( C , 1 ) , LINETHICK0 ;
  
  XA:=IF( RC>=H , RC , 0 ) ;
  XB:=IF( RC< H , H , 0 ) ;
  
  XD:XA+XB ;
  
  YA:=IF( RC>L , L , 0 ) ;
  YB:=IF( RC<=L , RC , 0 ) ;
  
  YD:YA+YB ;
  
  TR:SMA( ABS( XD - YD ) , 14 , 1 ) , LINETHICK0 ;

0095--条件成立当日低点向后划水平线直到水平线跌破。
  
  条件A,例如CROSS( K , 80 ),
  
  在 条件A 成立的当天取当根K棒的“最低价X”作为“水平直线”的起点,然后一直随着未来的K棒自动向右延伸,“直到”有一天的“收盘价小于”当初条件成立时的那个“最低价X”时,这一条“水平直线”便到了终点。
  
  将下面公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK29
  
  参数PARAM( N,9,1,100 )
  参数PARAM( M1,3,2,40 )
  参数PARAM( M2,3,2,40 )
  
  RSV:=( CLOSE-LLV(LOW,N) ) / ( HHV(HIGH,N)-LLV(LOW,N) ) * 100 ;
  K:=SMA( RSV , M1 , 1 ) , COLORRED ;
  D:=SMA( K , M2 , 1 ) , COLORYELLOW ;
  
  AA:=CROSS( K , 80 ) ;
  
  BB:=BARSLAST( AA=1 ) ;
  DD:=REF( LOW , BB ) ;
  
  EE:=CROSS( DD , CLOSE ) ;
  
  FF:=SUM( EE , BB ) ;
  GG:=( REF( FF , 1 )=0 AND FF=1 ) ;
  
  HH:=( REF(DD,1)=DD ) ;
  PARTLINE( HH=1 , DD ) ;
  
  DRAWLINE( AA=1 , DD , GG=1 , DD , 0 ) , COLORC080FF ;
  

  0096--分析周期切换→均线参数自动切换(1)
  
  日线 MA5,MA10,MA20,MA30,MA72
  周线 MA6,MA12,MA24,MA72
  其它周期参数,自行类推。
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK25.2 (完成品)
  
  XA:=IF( DATAPERIOD=6 , 5 , 0 ) ;
  XB:=IF( DATAPERIOD=6 , 10 , 0 ) ;
  XC:=IF( DATAPERIOD=6 , 20 , 0 ) ;
  XD:=IF( DATAPERIOD=6 , 30 , 0 ) ;
  XE:=IF( DATAPERIOD=6 , 72 , 0 ) ;
  
  TT:=SUM( 1 , 0 ) ;
  
  A1:=ISLASTBAR ;
  A2:=BACKSET( A1=1 , TT-4 ) ;
  A3:=BARSLAST( A2=1 ) ;
  
  X1:=A3 + 1 ;
  MA5:MA( C , XA ) * X1 ;
  
  B1:=ISLASTBAR ;
  B2:=BACKSET( B1=1 , TT-9 ) ;
  B3:=BARSLAST( B2=1 ) ;
  
  X2:=B3 + 1 ;
  MA10:MA( C , XB ) * X2 ;
  
  C1:=ISLASTBAR ;
  C2:=BACKSET( C1=1 , TT-19 ) ;
  C3:=BARSLAST( C2=1 ) ;
  
  X3:=C3 + 1 ;
  MA20:MA( C , XC ) * X3 ;
  
  D1:=ISLASTBAR ;
  D2:=BACKSET( D1=1 , TT-29 ) ;
  D3:=BARSLAST( D2=1 ) ;
  
  X4:=D3 + 1 ;
  MA30:MA( C , XD ) * X4 ;
  
  E1:=ISLASTBAR ;
  E2:=BACKSET( E1=1 , TT-71 ) ;
  E3:=BARSLAST( E2=1 ) ;
  
  X5:=E3 + 1 ;
  MA72:MA( C , XE ) * X5 ;
  
  YA:=IF( DATAPERIOD=7 , 6 , 0 ) ;
  YB:=IF( DATAPERIOD=7 , 12 , 0 ) ;
  YC:=IF( DATAPERIOD=7 , 24 , 0 ) ;
  YD:=IF( DATAPERIOD=7 , 72 , 0 ) ;
  
  A11:=ISLASTBAR ;
  A22:=BACKSET( A11=1 , TT-5 ) ;
  
  A33:=BARSLAST( A22=1 ) ;
  
  Y1:=A33 + 1 ;
  MB6:MA( C , YA ) * Y1 ;
  
  B11:=ISLASTBAR ;
  B22:=BACKSET( B11=1 , TT-11 ) ;
  
  B33:=BARSLAST( B22=1 ) ;
  
  Y2:=B33 + 1 ;
  MB12:MA( C , YB ) * Y2 ;
  
  C11:=ISLASTBAR ;
  C22:=BACKSET( C11=1 , TT-23 ) ;
  
  C33:=BARSLAST( C22=1 ) ;
  
  Y3:=C33 + 1 ;
  MB24:MA( C , YC ) * Y3 ;
  
  D11:=ISLASTBAR ;
  D22:=BACKSET( D11=1 , TT-71 ) ;
  
  D33:=BARSLAST( D22=1 ) ;
  
  Y4:=D33 + 1 ;
  MB72:MA( C , YD ) * Y4 ;
  
  说明:   
  只显示后面15(预设)天的线图(不使用VBS):
  
  将下列公式建立在:技术指针 ( ●主图 ○主图叠加 )
  公式名称:KKK17.1   
  参数PARAM( N、15、1、300 )   
  AA:=ISLASTBAR ;   
  BB:=BACKSET( AA=1 , N ) ;   
  Y:=BARSLAST( BB=1 ) ;   
  X:=Y + 1 ;   
  OO:OPEN * X ;   
  MM:MA( CLOSE , 5 ) * X ;
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK25 (半成品)   
  XA:=IF( DATAPERIOD=6 , 5 , 0 ) ;
  XB:=IF( DATAPERIOD=6 , 10 , 0 ) ;
  XC:=IF( DATAPERIOD=6 , 20 , 0 ) ;
  XD:=IF( DATAPERIOD=6 , 30 , 0 ) ;
  XE:=IF( DATAPERIOD=6 , 72 , 0 ) ;  
 
  MA5:MA( C , XA ) ;
  MA10:MA( C , XB ) ;
  MA20:MA( C , XC ) ;
  MA30:MA( C , XD ) ;
  MA72:MA( C , XE ) ;  
 
  YA:=IF( DATAPERIOD=7 , 6 , 0 ) ;
  YB:=IF( DATAPERIOD=7 , 12 , 0 ) ;
  YC:=IF( DATAPERIOD=7 , 24 , 0 ) ;
  YD:=IF( DATAPERIOD=7 , 72 , 0 ) ;
  
  MB6:MA( C , YA ) ;
  MB12:MA( C , YB ) ;
  MB24:MA( C , YC ) ;
  MB72:MA( C , YD ) ;
  
  注:  
  当前分析周期类型: DATAPERIOD ;   
  DATAPERIOD 函数 → 回传值的范围介于 0 -- 10 之间 。分别代表 当前分析周期类型。   
  0 → 分笔成交
  1 → 1 分钟线
  2 → 5 分钟线
  3 → 15分钟线
  4 → 30分钟线
  5 → 60分钟线
  6 → 日线
  7 → 周线
  8 → 月线
  9 → 年线
  10 → 多日线
  
  小技巧:
  
  在图形分析窗口可用 键盘精灵 切换分析周期。
  

  0097--分析周期切换→均线参数自动切换(2)
  
  日线 MA5,MA10,MA20,MA30,MA72
  周线 MA6,MA12,MA24,MA72
  其它周期参数,自行类推。
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK25.5 (完成品)
  
  XA:=( DATAPERIOD=6 )*5 ;
  XB:=( DATAPERIOD=6 )*10 ;
  XC:=( DATAPERIOD=6 )*20 ;
  XD:=( DATAPERIOD=6 )*30 ;
  XE:=( DATAPERIOD=6 )*72 ; {常数型 时间数列 ,将之代入 MA函数 会正确}
  
  MA5:MA( C , XA ) ;
  MA10:MA( C , XB ) ;
  MA20:MA( C , XC ) ;
  MA30:MA( C , XD ) ;
  MA72:MA( C , XE ) ;
  
  YA:=( DATAPERIOD=7 )*6 ;
  YB:=( DATAPERIOD=7 )*12 ;
  YC:=( DATAPERIOD=7 )*24 ;
  YD:=( DATAPERIOD=7 )*72 ;
  
  MB6:MA( C , YA ) ;
  MB12:MA( C , YB ) ;
  MB24:MA( C , YC ) ;
  MB72:MA( C , YD ) ;
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK25 (半成品)
  
  XA:=IF( DATAPERIOD=6 , 5 , 0 ) ;
  XB:=IF( DATAPERIOD=6 , 10 , 0 ) ;
  XC:=IF( DATAPERIOD=6 , 20 , 0 ) ;
  XD:=IF( DATAPERIOD=6 , 30 , 0 ) ;
  XE:=IF( DATAPERIOD=6 , 72 , 0 ) ;
  
  {有点变量型时间数列的味道,因为IF函数在做怪,将之代入MA函数会失真}
  
  MA5:MA( C , XA ) ;
  MA10:MA( C , XB ) ;
  MA20:MA( C , XC ) ;
  MA30:MA( C , XD ) ;
  MA72:MA( C , XE ) ;
  
  YA:=IF( DATAPERIOD=7 , 6 , 0 ) ;
  YB:=IF( DATAPERIOD=7 , 12 , 0 ) ;
  YC:=IF( DATAPERIOD=7 , 24 , 0 ) ;
  YD:=IF( DATAPERIOD=7 , 72 , 0 ) ;
  
  MB6:MA( C , YA ) ;
  MB12:MA( C , YB ) ;
  MB24:MA( C , YC ) ;
  MB72:MA( C , YD ) ;
  
  注:
  
  当前分析周期类型: DATAPERIOD ;   
  PP:( DATAPERIOD=6 ) ; { PP为常数型时间数列 }
  

  0098--调用某某公式内的时间数列线  
  公式名称:BB   
  SS:=HIGH< REF( HIGH , 1 ) ; {不输出的表达式,如果被引用还是会变成不输出的表达式}   
  RR:REF( HIGH , 6 ) ; {输出的表达式,如果被引用还是会变成输出的表达式}
  
  公式名称: BBQ   
  TT:"BB.SS" ; {不输出的表达式}   
  PP:"BB.RR" ; {输出的表达式}
  
  1. 调用公式BB内的SS时间数列。调用公式BB内的RR时间数列。
  2. 当SS线内存有预设参数时,例如有两个参数,可视情况写成PP:"BB.SS"(N,M) 。
  
  3. 例如 K:="KD.K"( 10 , 4 , 0 ) ; → 调用公式 KD 内的 K 时间数列 。
  3. 例如 D:="KD.D"( 10 , 4 , 4 ) ; → 调用公式 KD 内的 D 时间数列 。
  
  4. 例如 K:="KD.K" ; → 使用公式 KD 预设的参数 ,( 9 , 3 , 0 )。
  4. 例如 K:="KD.D" ; → 使用公式 KD 预设的参数 ,( 9 , 3 , 3 )。
  
  公式名称:KD
  
  参数PARAM( N,9,1,100 )
  参数PARAM( M1,3,2,40 )
  参数PARAM( M2,3,2,40 )
  
  RSV:=( CLOSE-LLV( LOW , N ) ) / ( HHV( HIGH , N )-LLV( LOW , N ) )*100 ;
  K:SMA( RSV , M1 , 1 ) ; {K数列内包含了两个参数因子:N,M1}
  D:SMA( K , M2 , 1 ) ; {D数列内包含了三个参数因子:N,M1,M2}
  
  (1) 多头: 周线9K>9D时选出日线9K>9D的股票
  (2) 空头: 周线9K<9D时选出日线9K<9D的股票
  
  公式A. 先建立即将被引用的表达式
  建立一个专门被用来引用(QUOTE)的公式区。
  
  将公式建立在:技术指针( ●主图 ○主图叠加 )
  公式名称:KDD
  
  参数PARAM( N,9,1,100 )
  参数PARAM( M1,3,2,40 )
  参数PARAM( M2,3,2,40 )
  
  RSV:=( CLOSE-LLV(LOW,N) ) / ( HHV(HIGH,N)-LLV(LOW,N) ) * 100 ;
  K:SMA( RSV , M1 , 1 ) , COLORRED ;
  D:SMA( K , M2 , 1 ) , COLORYELLOW ;
  
  公式B.
  
  将公式建立在:技术指针( ●主图 ○主图叠加 )
  公式名称:KDD1
  
  K:"KDD.K" ;
  D:"KDD.D" ;
  
  WK:"KDD.K#WEEK" ;
  WD:"KDD.D#WEEK" ;
  
  公式B.
  
  将公式建立在:条件选股
  公式名称:KDD2(多头)
  
  K:="KDD.K" ;
  D:="KDD.D" ;
  
  WK:="KDD.K#WEEK" ;
  WD:="KDD.D#WEEK" ;
  
  K>D AND WK>WD
  
  公式C.
  
  将公式建立在:条件选股
  公式名称:KDD3(空头)
  
  K:="KDD.K" ;
  D:="KDD.D" ;
  
  WK:="KDD.K#WEEK" ;
  WD:="KDD.D#WEEK" ;
  
  K< D AND WK< WD
  

  0099--三角函数AND角度线  
  ∠A 的对边长度 = A   
  ∠B 的对边长度 = B   
  ∠C 的对边长度 = C → 斜边   
  ù=3.14159   
  1 度 = ( ù / 180 ) 弧度   
  ∠B = 22.5 度 = ( 1 / 8 ) * ù 弧度
  ∠B = 45 度 = ( 1 / 4 ) * ù 弧度   
  SIN( B ) = B / C   
  COS( B ) = A / C   
  TAN( B ) = B / A → B = A * TAN( B )
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK30   
  AA:=SUM( 1 , 0 ) - 1 ;   
  BB22: AA * TAN( ( 1 / 8 ) * 3.14159 ) ;   
  BB45: AA * TAN( ( 1 / 4 ) * 3.14159 ) ;
  
  将公式建立在:技术指针( ○主图 ●主图叠加 )
  公式名称:KKK30.1   
  参数PARAM( N、45、0、80 )→预设为45度。   
  AA:=SUM( 1 , 0 ) - 1 ;   
  BB: AA* TAN( N * ( 3.14159 / 180 ) ) ;
  

  0100--个股和大盘联动K线  
  渗入“总报酬率”的观念,就可画出个股和大盘联动K线。   
  公式名称:KKK4
  将公式建立在:技术指针 ( ○主图 ●主图叠加 )
  
  参数PARAM( N,30,1,300 )
  参数PARAM( M,1,0,1 )   
  AA:=SUM( 1 , 0 ) ;   
  BB:=IF( AA=1 , 1 , 0 ) ;   
  TT:=ISLASTBAR ;   
  DD:=BACKSET( TT=1 , N + 1 ) ;   
  EE:=BACKSET( TT=1 , N ) , LINETHICK0 ;   
  FF:=IF( DD>EE , 1 , 0 ) ;   
  GG:=IF( M=1 , FF , BB ) ;   
  PP:=BARSLAST( GG=1 ) , LINETHICK0; ;   
  X:=REF( INDEXC , PP ) ;   
  Y:=REF( CLOSE , PP ) ;   
  OO:( INDEXO / X ) * Y , LINETHICK0 ;   
  HH:( INDEXH / X ) * Y , LINETHICK0 ;   
  LL:( INDEXL / X ) * Y , LINETHICK0 ;   
  CC:( INDEXC / X ) * Y , LINETHICK0 ;   
  CC%:( INDEXC / X ) - 1 , LINETHICK0 ; { 基准日至今,大盘总报酬率 }   
  DC%:( CLOSE / Y ) - 1 , LINETHICK0 ; { 基准日至今,个股总报酬率 }   
  STICKLINE( CC>OO , HH , LL , 0.1 , 0 ) , COLORRED ;   
  STICKLINE( CC>OO , CC , OO , 7 , 1 ) , COLORRED ;   
  STICKLINE( CC<=OO , HH , LL , 0.1 , 0 ) , COLORCYAN ;   
  STICKLINE( CC<=OO , CC , OO , 7 , 0 ) , COLORCYAN ;
  
  说明:
  
  1. 从后面算来(第N+1日) 为基准日。例如,N=10;   
  2. 求算从后面算来(N日)→个股和大盘指数的联动K线:   
  (每日大盘开盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价   
  (每日大盘最高盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价   
  (每日大盘最低盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价   
  (每日大盘收盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价
  
  3. 公式的用意是:
  
  以基准日为基准至今:大盘总报酬率多少,个股的总报酬率就多少。联动在一起。