加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]大智慧公式编程详细教程(12)

(2018-05-27 11:14:57)
标签:

转载

分类: 大智慧函数学习

大智慧引用函数SUM的运用

函数:SUM(X,N) 参数: X为数组,N为计算周期
说明:统计N周期中X的总和,N=0则从第一个有效值开始。
示例:SUM(VOL,0) 表示统计从上市第一天以来的成交量总和。
SUM和COUNT这两个函数不同之处在于COUNT,计数。SUM,总数、和。请注意这两个函数的区别。
当数组为逻辑运算判断的结果时,SUM和COUNT的返回值是一样的。一般习惯上,对于逻辑运算信号,用COUNT统计,返回其它数值的,用SUM统计。当COUNT统计一般数值时,数组大于等于1时,计入;小于1时,不计入。这两个函数,主要用于统计。
用COUNT(CROSS(MA(C,5),MA(C,10)),0);就可以统计出全部的五天均线上穿十天均线的金叉数。
用SUM(CROSS(MA(C,5),MA(C,10)),0);和以上得出的结果应该是一样的。
请看下面的指标如何运用SUM函数的。
{多空曲 n:1 100 13 m:1 100 34}
obv:=sum(if(close>ref(close,1),vol,if(close<ref(close,1),0-vol,0)),0);
ah:=(sum(h,2)*(sum(1+winner(h),2))*sum(obv,2))/2;
al:=(sum(l,2)*(sum(1+winner(l),2))*sum(obv,2))/2;
a=(sum(o,2)*(sum(1+winner(o),2))*sum(obv,2))/2;
ac:=(sum(c,2)*(sum(1+winner(c),2))*sum(obv,2))/2;
stickline(ac>=ao,ah,al,0.1,0),colorred;{在ah与al之间画宽度为0.1的实心红柱线}
stickline(ac>=ao,ao,ac,4,0),colorred;{在ao与ac之间画宽度为4的实心红柱线}
stickline(ac<ao,ah,al,0.1,0),colorffcc66;{在ah与al之间画宽度为0.1的实心青柱线}
stickline(ac<ao,ao,ac,4,0),colorffcc66;{在ao与ac之间画宽度为4的实心青柱线}
两日参考:polyline(c>0,ma(ac,2)),colorff00ff;
ka1:=(hhv(ah,m)-llv(al,m))/m;
ka2:=sum(ac,n)/n;
m1:ka2-ka1*n,colorwhite;
m2:ka2+ka1*n,colorwhite;
多空分界:(m1+m2)/2,coloryellow;
指标解析:
{多空曲 n:1 100 13 m:1 100 34}
obv:=求和(条件函数(收盘价>向前引用(收盘价,1),成交量,条件函数(收盘价<向前引用(收盘价,1),0-成交量,0)),0);
ah:=(求和(最高价,2)*(求和(1+获利盘比例(最高价),2))*求和(obv,2))/2;
al:=(求和(最低价,2)*(求和(1+获利盘比例(最低价),2))*求和(obv,2))/2;
a=(求和(开盘价,2)*(求和(1+获利盘比例(开盘价),2))*求和(obv,2))/2;
ac:=(求和(收盘价,2)*(求和(1+获利盘比例(收盘价),2))*求和(obv,2))/2;
画柱线(ac>=ao,ah,al,0.1,0),colorred;
画柱线(ac>=ao,ao,ac,4,0),colorred;
画柱线(ac<ao,ah,al,0.1,0),colorffcc66;
画柱线(ac<ao,ao,ac,4,0),colorffcc66;
两日参考:画折线(收盘价>0,简单移动平均(ac,2)),colorff00ff;
ka1:=(最高值(ah,m)-最低值(al,m))/m;
ka2:=求和(ac,n)/n;
m1:ka2-ka1*n,colorwhite;
m2:ka2+ka1*n,colorwhite;
多空分界:(m1+m2)/2,coloryellow;
下面是几个运用sum函数的指标例句:
(1)、阶段缩量
   sum(vol,n1)/capital<=n2;
注:n1为要统计的阶段时间,n2为缩量比例,可在参数设定范围内设定参数范围。
(2)、阶段放量
   sum(vol,n1)/capital>=n2;
注:n1为要统计的阶段时间,n2为y放量比例,可在参数设定范围内设定参数范围。
(3)、放量上攻
   a:=(c-ref(c,1))/ref(c,1)>=(n/100);
   sum(vol,n1)/capital>=(n2/100) and count(vol>ref(vol,1),n3 )=n3 and count(a,n3)=n3;
完整含义:每日股价涨幅均大于n%,n1日内累计换手率大于n2%,并且成交量连续在n3日内放大。
(4)、阶段强势股
   a:=sum(if(date-n=0,indexc,0),0);
   b:=sum(if(date-n1=0,indexc,0)0);
   e:=sum(if(date-n=0,c,0),0);
   f:=sum(if(date-n1=0,c,0),0);
   ((f-e)/e)>((b-a)/a);
注:该公式求的是n日-n1日之间涨幅高于大盘的股票。n、n1参数的表达格式为yymmdd,注意在2000年前的表达为年份的后两位,例如1999年为99,从2000年开始以100依次向后累加,例如2001年9月14日为1010914,indexc函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。
(5)、阶段弱势股
   a:=sum(if(date=n,indexc,0),0);
   b:=sum(if(date=n1,indexc,0)0);
   e:=sum(if(date=n,c,0),0);
   f:=sum(if(date=n1,c,0),0);
   ((f-e)/e)<((b-a)/a);
注:该公式求的是n日-n1日之间涨幅低于大盘的股票。n、n1参数的表达格式为yymmdd,注意在2000年前的表达为年份的后两位,例如1999年为99,从2000年开始以100依次向后累加,例如2001年9月14日为1010914,indexc函数表示同期大盘的收盘价,该函数对分笔成交分析周期无效。

大智慧K线函数简介及简单应用。

收盘价  close   这是取得该周期的收盘价;

最高价   high    这是取得该周期的最高价;

最低价   low    这是取得该周期的最低价;

开盘价   open    这是取得该周期的开盘价;

成交量   vol     这是取得该周期的成交量;

成交额  amount   这是取得该周期的成交额;

一根K线由四个价格组成即收盘价close、最高价high、最低价low、开盘价open。

上述几个函数可以编写以下几个简单的指标:

1、close>open   意思是当天的收盘价大于开盘价,反映在K线上就是当天收阳,用该指标选股所选出的股票在当天都收阳(>是数学上的大于符号)。

2、close<open   这个指标与上面的指标意思正好相反,反映在K线上就是当天收阴,用该指标选股所选出的股票都收阴(<是数学上的小于符号)。

3、close<5   意思是收盘价小于5元,用该指标选股所选出的都是低于5元以下的股票,如选低于3元的股票,把5改成3就行啦。如选高于5元的股票,把<符号改成>就OK啦!

K线的描述
阳线
close>open;{收盘价大于开盘价}
阴线
close<open;{收盘价小于开盘价}
高开
open>ref(close,1);{开盘价大于昨天的收盘价}
低开
open<ref(close,1);{开盘价小于昨天的收盘价}
跳空高开(high为最高价)
open>ref(high,1);{开盘价大于昨天的最高价}
跳空低开(low为最低价)
open<ref(low,1);{开盘价小于昨天的最低价}
以上K线的描述用到了另外一个函数REF,这是一个向前引用的函数,意思是引用若干周期前的数据。

用法:REF(X,A),引用A周期前的X值。 例如:REF(CLOSE,1),表示上一周期的收盘价,在日线上就是昨收。记住了吗,以后经常要用到的。

大智慧妙用绘图函数

绘图函数的功能是在主图或副图上设定条件输出图标、直线、文字、数字、指标线、指标柱等。运用恰当使编制出的主副图指标给以视觉上的美感。
1、函数:DRAWICON
用法:DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标。
说明:在图形上绘制小图标,其中TYPE可选3种图标,编码为1-3(1为红脸、2为绿脸、3为平脸)。
示例:DRAWICON(CLOSE>OPEN,LOW,1);表示当收阳时在最低价位置画1号图标,也就是红脸。
   DRAWICON(CLOSE<OPEN,high,2);表示当收阴时在最高价位置画2号图标,也就是绿脸。
指标示例:
{月均线主图}
ma1:ma(close,5),colorwhite,linethick2;{画一条5日收盘价的均线,设置该线为粗白色}
ma2:ma(close,10),colorff00ff,linethick2;{画一条10日收盘价的均线,设置该线为粗粉色}
ma3:ma(close,20),color00ff00,linethick2;{画一条20日收盘价的均线,设置该线为粗绿色}
a1:=cross(ma1,ma2);{5日均线上穿10日均线,金叉}
a2:=cross(ma2,ma1);{10日均线下穿5日均线,死叉}
DRAWICON(a1,low,1);{当a1条件满足时,在最低价位置上显示红脸,表示此处可作为买入点}
DRAWICON(a2,high,2);{当a2条件满足时,在最高价位置上显示绿脸,表示此处可作为卖出点}


2、函数:DRAWLINE
用法:DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。 
说明:在图形上绘制直线段。
示例: DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1);表示在创20天新高与创20天新低之间画直线并且向右延长。如图:
DRAWLINE是唯一一个一句里面用到两个COND的绘图函数。因为它需要两个点来决定一直线。
COND1相当于指定K线位置(横坐标),PRICE1相当于是指定价位(纵坐标),这样一个点在平面上的位置就决定了。
DRAWLINE是从第一点画到第二点的,即有起点与终点的顺序关系:第一点出现的时间,要在第二点之前。否则线是画不出来的。
EXPAND,扩张、发展,这里是延伸的意思吧。取0,不延长;取1,延长。实际上是取大于等于1的数就延长,小于1就不延长。
指标示例:
{季均线主图}
ema1:ema(close,20),colorff00ff;{画一条20日收盘价的均线,设置该线为粉色}
ema2:ema(close,40),color00ff00;{画一条40日收盘价的均线,设置该线为绿色}
ema3:ema(close,60),colorwhite,CIRCLEDOT;{画一条60日收盘价的均线,设置该线为白色o线}
DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,HIGH>=HHV(HIGH,20),HIGH,1),colorwhite;{表示在创20天新高与创20天新低之间画直线并且向右延长。}
DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1),coloryellow;{表示在创20天新高与创20天新低之间画直线并且向右延长。}


3、函数:DRAWTEXT 说明:在图形上显示文字。
用法:DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT,可显示多行文本。
示例:DRAWTEXT(CLOSE/OPEN>1.08,LOW,"大涨啦");表示当日涨幅大于8%时在最低价位置显示"大涨啦"字样。在某些满足条件的地方直接显示文字或字符,比显示图标要更直观一些。注意,显示的文字要用英语状态下的单引号括起。
指标示例:
{长短结合主图}
sma1:sma(close,5,1),color00ff00;{画一条5日收盘价的均线,设置该线为绿色}
sma2:sma(close,10,1),coloryellow;{画一条10日收盘价的均线,设置该线为黄色}
sma3:sma(close,60,1),colorblue,linethick2;{画一条60日收盘价的均线,设置该线为蓝色粗线}
DRAWTEXT(CLOSE/OPEN>1.08,LOW,"大涨啦"),colorwhite;{表示当日涨幅大于8%时在最低价位置显示"大涨啦"字样。}


4、函数:POLYLINE 说明:在图形上绘制折线段。
用法:POLYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接。
示例:POLYLINE(HIGH>=HHV(HIGH,20),HIGH);表示在创20天新高点之间画折线。
指标示例:
{长短结合主图}
sma1:sma(close,5,1),color00ff00;{画一条5日收盘价的均线,设置该线为绿色}
sma2:sma(close,10,1),coloryellow;{画一条10日收盘价的均线,设置该线为黄色}
sma3:sma(close,60,1),colorblue,linethick2;{画一条60日收盘价的均线,设置该线为蓝色粗线}
POLYLINE(HIGH>=HHV(HIGH,20),HIGH),COLORWHITE;{表示在创20天新高点之间画折线(白色)。}


5、函数:STICKLINE 说明:在图形上绘制柱线。
用法: STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH可为0---100(10为标准间距),EMPTH不为0则画空心柱。
示例:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,0.8,1);表示画K线中阳线的空心柱体部分。
运用要点:
⑴PRICE1和PRICE2没有顺序关系,即何者在前何者在后都不影响语句的执行。
⑵WIDTH宽度,支持小数。用1和用0.1,会有很大的差别。取4时和主图的K线宽度差不多。
以下的副图公式,画出的K线,与主图中显示的K线差不多。
指标示例:
{副图K线}
STICKLINE(C>O OR (C=O AND C>REF(C,1)),O,C,4,1),colorred;{画出红K实体}
STICKLINE((C>O AND C<>H) OR (C=O AND C>REF(C,1)),C,H,0.1,0),colorred;{画出红K上影线}
STICKLINE((C>O AND L<>O) OR (C=O AND C>REF(C,1)),L,O,0.1,0),colorred;{画出红K下影线}
STICKLINE(C<O OR (C=O AND C<=REF(C,1)),C,O,4,0),colorffcc66;{画出青K实体}
STICKLINE(C<O OR (C=O AND C<=REF(C,1)),L,H,0.1,0),colorffcc66;{画出青K影线。因为青K是实心的,所以影线从中穿过}
ma5:MA(C,5),colorwhite;
ma10:ma(c,10),colorff00ff;

绘图函数结合示例介绍完了,相信你一定有所收获吧,举一反三自己动手编个指标。不要怕失败,失败是成功之母,试试把,你一定会有收获。

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

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

新浪公司 版权所有