余文小说中文网
大智慧公式教程

第7节

本章字数:7769字·更新时间:2026-11-10

OL,IF(CLOSELLV(CLOSE,VarC),1,-1);VarE:=IF(VarB>LLV(VarB,VarC),1,-1);VarF:=VarD*VarE;Var10:=IF(VarF=-1,1,0);关注:IF(Var10 AND CLOSE=LLV(CLOSE,20) AND Var3<12,70,1),colorffcc66;{在图上0--70的坐标处显示青色脉冲信号}V1:=SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSELLV(CLOSE,V2),1,-1);V4:=IF(V1>LLV(V1,V2),1,-1);V5:=V3*V4;V6:=IF(V5=-1,1,0);V7:=COUNT(V6=1,8)>2;V8:=AMOUNT/VOL/100;V9:=(3*HIGH+LOW+OPEN+2*CLOSE)/7;VA:=SUM(AMOUNT,13)/V8/100;VB:=DMA(V9,VOL/VA);VC:=(CLOSE-VB)/VB*100<-15;VD:=(CLOSE-MIN(REF(CLOSE,5)*0.865,REF(CLOSE,21)*0.772))/CLOSE<0.05;长针:(VC AND VD AND V7)*60,coloryellow;{在图上0--60的坐标处显示黄色脉冲信号}============================================================大智慧逻辑函数

1、IF 条件函数 根据条件求不同的值。 用法:IF(X,A,B)若X不为0则返回A,否则返回B。 例如:IF(CLOSE>OPEN,HIGH,LOW),表示该周期收阳则返回最高值,否则返回最低值。

2、CROSS 交叉函数 CROSS(A,B) A:变量或常量,判断交叉的第一条线。 B:变量或常量,判断交叉的第二条线。 例如:CROSS(MA(CLOSE,5),MA(CLOSE,10)),5日均线与10日均线金叉;CROSS(CLOSE,12),价格由下向上突破12元。

上面这两个函数我们在前面已经讲过,在此就不做介绍了。讲一讲下面几个逻辑函数。

这几个逻辑函数比较好理解,用法简单,只是用的很少。

3、ISDOWN 当日下跌 该周期是否收阴。 用法:ISDOWN当收盘<开盘时,返回值为1,否则为0。

4、ISEQUAL 当日平盘 该周期是否平盘。 用法:ISEQUAL当收盘=开盘时,返回值为1,否则为0。

5、ISUP 该周期是否收阳。 用法:ISUP当收盘>开盘时,返回值为1,否则为0。请看指标:Var1:=EMA(CLOSE,3);Var2:=EMA(CLOSE,21);Var3:=BARSLAST(CROSS(Var2,Var1))>15;Var4:=VOL>MA(VOL,5)*2 AND VOL

6、NOT 求逻辑非 NOT(X) 求逻辑非,返回非X,即当X=0时返回1,否则返回0。 例如:NOT(ISUP),是否平盘或收阴。

请看指标:XX2:=(MA(CLOSE,80)-MA(CLOSE,13)/3);神奇线: MA((CLOSE-XX2)/XX2,1);买点1: IF(CROSS(神奇线,0) AND LOW/REF(HIGH,1)<1.012,0.5,0), STICK,COLORWHITE;稳赚: IF(COUNT(神奇线>REF(神奇线,1),3)=3 AND COUNT(神奇线<0,10)=10 AND REF(神奇线,3)=LLV(神奇线,10),0.5,0);买点2: IF(REF(神奇线,2)=LLV(神奇线,20) AND REF(神奇线,2)<0.071 AND REF(神奇线,2)REF(HIGH,2) AND LOW>REF(HIGH,1)) AND CLOSE>REF(CLOSE,1),0.5,0),COLORRED;{这段语句NOT(REF(LOW,1)>REF(HIGH,2)的意思,是否昨天最低价大于前天最高价,这几个条件都满足显示脉冲信号,否则不显示}DRAWTEXT( 买点1>0,0.2 ,'★神奇线'),COLORWHITE;DRAWTEXT( 买点2>0,0.4 , '★神奇线'),COLORRED;=================================================================大智慧统计函数

(1)、AVEDEV 平均绝对偏差 用法:AVEDEV(X,N) 含义:平均绝对偏差,求X的N日平均绝对偏差。请看指标:TYP:=(HIGH+LOW+CLOSE)/(3);{最高+最底+收盘价/3}趋势线:(TYP-MA(TYP,100))/((0.015)*(AVEDEV(TYP,100))),Color00FFFF;{(AVEDEV(TYP,100)求TYP的100日平均绝对偏差.}

(2)、DEVSQ 数据偏差平方和 用法:DEVSQ(X,N) 含义:数据偏差平方和,求X的N日数据偏差平方和。数据偏差平方和除以N,即为方差。比较一下这2句在图上的区别:a1:DEVSQ(C,5)/5;{0.025}a2:DEVSQ(C,5);{0.126}

(3)、FORCAST 线性回归预测值 用法:FORCAST(X,N)为X的N周期线性回归预测值。示例: FORCAST(CLOSE,10) 表示求10周期线性回归预测。用最小二乘法求出N周期内X的一元线性回归线上的当天的值。请看指标:平均价:=(HIGH+4*LOW+OPEN+CLOSE)/7;均价差:= EMA(平均价,13) - EMA(平均价,34);移动均价:= EMA(均价差,5);差:=(均价差-移动均价)*5;A:=IF(差>=1000 ,1000 ,IF(差<=平均价,平均价,差) );分水岭:=forcast(forcast(A,31),10),linethick3,COLORYELLOW;{求出31日内A的线性回归预测和10日线性回归预测}上涨:if(A>分水岭,A,分水岭),LINETHICK2,colorred;下跌:if(A<分水岭,A,分水岭),LINETHICK2,COLORGREEN;分水岭1:forcast(forcast(A,31),10),linethick2,COLORYELLOW;{求出31日内A的线性回归预测和10日线性回归预测}

(4)、SLOPE 线性回归斜率 用法:SLOPE(X,N)为X的N周期线性回归线的斜率。例如:SLOPE(CLOSE,10)表示求10周期线性回归线的斜率。请看指标:XLB:forcast(V,8)/EMA(forcast(V,36),7);{forcast(V,8)求8周期线性回归预测}XLL:if(slope(XLB,2)>0,slope(XLB,2)*XLB,0),linethick2;{slope(XLB,2)求2周期线性回归线的斜率}drawicon(XLL<0.8,0,11);drawicon(XLL>=0.8,0,10);{排序,用于抓住量比放大,正在快速上涨的股。}

(5)、STD 估算标准差 用法:STD(X,N)为X的N日估算标准差。例如:STD(CLOSE,10),求10周期收盘价的估算标准差。请看指标:var1:=ema((high+low+close)/3,3);重心: var1,colorwhite;varb:=amount/(100*vol);varc:=ma(varb,34);vard:=ma(close,26);通道: (vard+varc)/2, coloryellow;压力l: vard+2*std(close,49), colorred;{求49周期收盘价的估算标准差}支持l: (vard-2*std(close,26)),colorgreen;{求26周期收盘价的估算标准差}通道*1.062,colorff00ff;通道*0.938,colorff00ff;vare:=ma(winner(close),5)*100;顶: drawtext(vare>60 and high>压力l,high,'卖'), color00ff00;底: drawtext(vare<15 and cross(var1,通道),low,'买'),colorwhite;

(6)、STDP 总体标准差 用法:STDP(X,N)为X的N日总体标准差。例如:STDP(CLOSE,10),求10周期收盘价的总体标准差。请看指标:VAR1:=AMOUNT/VOL/100;VAR2:=(3*HIGH+LOW+OPEN+2*CLOSE)/7;VAR3:=SUM(AMOUNT,34)/VAR1/100;VAR4:=DMA(VAR2,VOL/VAR3);VAR5:=100*(C-VAR4)/VAR4;次强上轨:(MA(VAR5,20)+STDP(VAR5,20)),COLORRED;{STDP(VAR5,20)求20周期var5的总体标准差}次强下轨:(MA(VAR5,20)-STDP(VAR5,20)),COLORRED;{STDP(VAR5,20)求20周期var5的总体标准差}强弱线:(次强上轨+次强下轨)/2,POINTDOT,COLORYELLOW;强势区上轨:(MA(VAR5,20)+1.7*STDP(VAR5,20)),COLOR10FFFF;{STDP(VAR5,20)求20周期var5的总体标准差}强势区下轨:(MA(VAR5,20)-1.7*STDP(VAR5,20)),COLOR10FFFF;{STDP(VAR5,20)求20周期var5的总体标准差}标准线:VAR5,COLORWHITE;

下面这2个函数用的比较少,略做简单介绍:(7)、VAR 估算样本方差 用法:VAR(X,N)为X 的N日估算样本差。

(8)、VARP 总体样本方差 用法:VARP(X,N)为X的N日总体样本方差。======================================================================大智慧诊断指标的编写。

大智慧的诊断指标形同于飞狐、分析家的解盘指标,都是通过文字来提供当前盘面个股的趋势、均线、基本面、K线形态等技术指标的演化状态的,这对盘面分析很有帮助。

诊断指标是通过引用技术指标来完成文字诊断的。此外,还要用到文字诊断字符串输出函数,下面分别介绍所用到的函数:1、IFS 字符串IF函数 用法:IFS(A>B,'返回A','返回B');该函数返回一个字符串,上例表示:如果A大于B,则返回'返回A'串,否则返回'返回B'串;2、STR 数据到字符串转换函数 用法:STR(X,N);该函数返回一个字符串.上例子表示:范围精度为N的X的字符串;诊断指标分两部分组成,前一部分是指标公式,后一部分是文字诊断。

下面我们用实例来说明指标的编制:{基本面 参数 n1:1 999 50 n2:1 999 10 p1:1 999 20 p2:1 999 50 s1:1,99999,40000;s2:1,99999,10000}m1:=FINANCE(33);{每股收益}m2:=FINANCE(34);{每股净资产}m3:=CAPITAL/1000000;{流通盘}m4:=FINANCE(34);{净资产}m5:=FINANCE(18);{公积金}m6:=FINANCE(32);{未分配利润}c1:=c/ref(ema(c,30),30);c2:=indexc/ref(ema(indexc,30),30);l1:=c1/c2*10-10;c3:=c/ma(c,60);c4:=indexc/ma(indexc,60);l2:=c3/c4*10-10;c5:=c/ma(c,120);c6:=indexc/ma(indexc,120);l3:=c5/c6*10-10;L4:=MA(L1+L2+L3,5);DIFF:="MACD.DIFF"(12,26,9);DEA:="MACD.DEA"(12,26,9);MACD:="MACD.MACD"(12,26,9);K:="KD.K"(17,4,4);D:="KD.D"(17,4,4);{以上部分是公式,不能设有返回值,也就是全用":="赋值符。

以下部分是引用上面的公式所做的文字诊断}'【理想解盘】'+'该股为'+IFS(FINANCE(33)>=N1/100,'绩优、','')+IFS(FINANCE(33)=N2/100,'中等业绩、','')+IFS(FINANCE(33)=0,'绩差、','')+IFS(FINANCE(33)<0,'亏损、','')+IFS(DYNAINFO(39)<=P1 AND DYNAINFO(39)>0,'低市盈率、','')+IFS(DYNAINFO(39)>P1 AND DYNAINFO(39)<=P2,'中等市盈率、','')+IFS(DYNAINFO(39)>P2,'高市盈率、','')+IFS(FINANCE(7)>=S1,'大盘股。','')+IFS(FINANCE(7)=S2,'中盘股。','')+IFS(FINANCE(7)

每股净资产为'+str(m4,2)+',收益为'+str(m1,2)+',市盈率为'+str(c/m1,3)+',市净率为'+str(c/m2,2)+',公积金为'+str(m5,2)+',未分配利润为'+str(m6,2)+'。'+{''之间的汉字作为字符串输出会显示在评价窗口中,str函数把数字转化为字符串输出。数据到字符串转换函数。

STR 用法:STR(X,N);该函数返回一个字符串.此例子表示:范围精度为N的X的字符串;}{' '+}IFS(REF(L4,1)>0 AND REF(L4,1)>REF(L4,2),'该股中长期走势强于大盘,且近期继续走强。','')+IFS(REF(L4,1)>0 AND REF(L4,1)<=REF(L4,2),'该股中长期走势强于大盘,但近期有所走弱。','')+IFS(REF(L4,1)<=0 AND REF(L4,1)>REF(L4,2),'该股中长期走势弱于大盘,但近期有所转强。','')+IFS(REF(L4,1)<=0 AND REF(L4,1)<=REF(L4,2),'该股中长期走势弱于大盘,且近期继续走弱。','')+IFS(DIFF>=0,'MACD指标显示该股处于多头行情中','MACD指标显示该股处于空头行情中')+IFS(DIFF>=0 AND MACD>=0 AND MACD>REF(MACD,1),'且有加速上涨趋势。

','')+IFS(DIFF>=0 AND MACD>=0 AND MACD<=REF(MACD,1),'但上涨趋势有所减缓,短线投资者可逢高卖出,但当回落至均线或其他支撑位时应及时回补。','')+IFS(DIFF>=0 AND MACD<0 AND MACD>=REF(MACD,1),',目前正处于回落整理阶段,但整理即将结束,可在均线或其他支撑位附近逢低买入,但当整理完成后选择再次向下突破时应注意及时止损。','')+IFS(DIFF>=0 AND MACD<0 AND MACD=REF(MACD,1),'但下跌趋势有所减缓,可在W&R指标大于90时逢低买入,但有可能再次加速下跌,注意及时止损。

','')+IFS(DIFF<0 AND MACD>0 AND MACD>REF(MACD,1),',目前正处于反弹阶段,投资者应保持谨慎。','')+IFS(DIFF<0 AND MACD>0 AND MACD

IFS(K>80 AND CROSS(D,K)=0,'KD指标提示该股已经处于超买状态,如果KD指标死叉应及时卖出。','')+IFS(K<20 AND CROSS(K,D)=0,'KD指标提示该股已经处于超卖状态,如果KD指标金叉应及时买入。','')+IFS(CROSS(K,D) AND LLV(K,3)<20,'KD低位金叉,建议买入。','')+IFS(CROSS(D,K) AND HHV(K,3)>80,'KD高位死叉,建议卖出。',''){每条语句以“+”符号结束,指标最后一句没有“+”的符号。}注意:引用技术指标要准确无误以外,还要注意格式,否则不能通过测试。为了让朋友更明白一些,再举一例:{KDJ解盘}K:="KD.K"(17,4,4);D:="KD.D"(17,4,4);'【理想解盘】'+IFS(K>80 AND CROSS(D,K)=0,'KD指标提示该股已经处于超买状态,如果KD指标死叉应及时卖出。','')+IFS(K<20 AND CROSS(K,D)=0,'KD指标提示该股已经处于超卖状态,如果KD指标金叉应及时买入。

','')+IFS(CROSS(K,D) AND LLV(K,3)<20,'KD低位金叉,建议买入。','')+IFS(CROSS(D,K) AND HHV(K,3)>80,'KD高位死叉,建议卖出。','')朋友们可以照猫画虎自编一个,只要有一个成功了,你也就掌握了方法。==========================================================================================大智慧引用函数SUM的

上一章 下一章