(五)公式编写入门

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:38:11

第八讲 函数的综合运用

   第一部分:引用已有公式中的数据
基本引用例一
       "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
通达信用下面这两行:
IF(MA30>=REF(MA30,1),MA30,DRAWNULL),COLORRED;
IF(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连续几次撞顶(底),局部形成双重或多重底(顶)则是(进货)出货的信号。