期的成交量。同时大盘也可视为一只个股来引用,例如,上证\表示为大盘本周期的收盘价,深市\同样表法大盘本周期的收盘价。
(3)、注意事项
在编公式中所运用的标点符号均是在英语状态下的符号。
在编制公式中,有要显示的句子和不显示的句子,要显示用\不要显示用\
一个源码中最多只能有16个可显示的句子,并且每句结束后要加分号\。 另外,开盘价、收盘价、最高价、最低价,在公式中可用该函数的第一个字母代替。因此在编公式时不要单独用这几个字母,请要注意。
16 引用其他公式、周期或股票的数据:
(注意:本点只作为参考,因大智慧未设有引用其它周期的数据功能) 可以在一个公式中引用其他公式、周期或股票的数据,具体做法如下。 1)引用指标公式/交易系统/ 条件选股公式
可以引用其他技术指标的指标线,写法是\公式名称.指标线名称\参数表),请注意,参数表中的参数个数应该与该公式的实际参数数量一致,若不写参数表,则表示使用缺省参数。例如:\(9,6,6)\,表示引用根据(9,6,6)参数计算出KDJ指标中的K指标线数值。
可以引用交易系统公式,写法为\公式名称.交易类型\参数表),交易类型包括ENTERLONG、EXITLONG、ENTERSHORT、EXITSHORT,分别表示引用多头买入、多头卖出、空头买入、空头卖出条件。例如:\,表示引用根据缺省参数计算的KDJ交易系统的多头买入条件。
可以引用
条件选股公式,写法为\公式名称\参数表),例如:
31
\,表示引用根据缺省参数计算的KDJ买入条件选股条件。
2)跨周期引用公式(大智慧不支持)
可以引用其他周期的数据,写法为\公式名称.指标线名称#周期\参数表),跨周期引用只能从较短周期引用较长周期,反方向的引用不允许。例如\,6,6),表示引用根据(9,6,6)参数计算周线周期的KDJ指标公式K指标线的数值。
其中周期包括MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH,分别表示1、5、15、30、60分钟线,以及日线、周线、月线。
3)引用任意股票的数据
可以引用其它股票的数据,写法为:\股票代码$数据名称\,其中数据名称包括OPEN、HIGH、LOW、CLOSE、VOL、AMOUNT,分别表示开盘价、最高价、最低价、收盘价、成交量、成交额。
--------------------------------------------------------------------------------
32
第四章:公式编制实例
一:公式编制
这里举一些最简单的公式例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。
二:收盘价线:
这是最简单的公式:CLOSE 均线的画法
计算N日内收盘价的算术平均值,它是最常用的指标之一,公式为:MA(X,N)表示X的N日平均。
例如: MA1: MA (CLOSE,5) , coloryellow ; 表示为: 参数名 画一条5日收盘价的均线 设置该线为黄色
三:涨幅:
涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价-昨日收盘价)/昨日收盘价*100%,
昨日收盘价的公式为:REF(CLOSE,1),因此涨幅的公式: (CLOSE-REF(CLOSE,1))/REF(CLOSE,1)
四:换手率:
换手率指当期的成交量占流通股本的比例。 公式:VOL/CAPITAL
VOL为当期成交量,CAPITAL为流通股本。
五:创新高
创新高指当日最高价是最近一段时间的最高价:
33
HIGH=HHV(HIGH,N)
其中的HIGH为当期最高价,HHV(X,N)是求N周期内X最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。
六:横盘整理:
横盘整理指最近一段时期价格在一定幅度之内摆动: (HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05
其中的LLV(X,N)是求N周期内X最低值。因此该公式表示10日收盘价振幅振幅在5%以内。
七:区间统计:
例如,要取得2002年2月1日到2002年12月30日间的最低价。思考一下,一段时间的最低价必然是该段时间内每个分析周期的最低价中最小的那个。所以我们要引用的数据是该段时间各分析周期的最低价,而不需要用到开盘价、收盘价或最高价;还要将不需要的数据,即区间外的数据设为0。语句为:
LL:=IF(YEAR=2002 AND MONTH>=2 AND MONTH<=12,LOW,0) 该语句用一个条件函数来判断时间是否处于规定区间,若是则返回最低价,否则返回0。
我们再用LLV函数,就可求得该段时间最低的最低价: LLV(LL,0)
八:技术指标公式
技术指标公式用于绘制技术指标线。以KDJ指标为例,右键点击KDJ,选择\编辑公式\后打开公式算法编辑器,显示出KDJ指标公式的内容。
参数名称:最小值,最大值,缺省值 N: 1 10O 9 M1: 2 40 3
34
M2: 2 40 3
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
该公式绘制K、D、J两条指标线。RSV行是一个中间语句,计算当期收盘价与N天内最低价之差除以N内最高价与最低价之差的比值,再乘以系数100。K线为RSV的M1天移动平均线,D线为线K的M2天移动平均线,J线为K线与J线的差值。
以下是对计算'5日均线上升角度'的实例讲解 aa:=ma(c,5);{这是5日均线}
bb:=ref(ma(c,5),1);{这是昨日5日均线}
cc:(aa-bb)/bb>n/100;{这是5日均线增长比率,比率越大,其上长的斜率就越大}
n是参数,n%是5日均线的增长比率,因此n定5以上可能其的斜率就越大,你可试试。)
(对于时间限制的问题,我们就以'庄家进出'公式来作分析了解。 Var1:=IF(YEAR>=2034 AND MONTH>=1,0,1);
{VAR1赋值:如果年份>=2034 AND 月份>=1,返回0,否则返回1} {点评:这个语句在配合其它语句使用的情况下可起到时间限制作用} VarC:=MA(SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE {VARC赋值:如果收盘价>昨收,返回成交量(手),否则返回(如果收盘价<昨收,返回0-成交量(手),否则返回0)的历史累和/25000的2日简单移动平均*VAR1} {点评:在这句用到了VAR1,当VAR1符合条件即:年份>=2034 和 月份>=1时,则VAR1=0,这样以后计算出来的结果全是0,这时该指标便毫无意义了,起到了时间限制的作用。} 35