搜索
查看: 32813|回复: 37

《自学的入门!》——大智慧公式原码的代入和飞狐公式入门 及其它。

[复制链接]

签到天数: 1292 天

发表于 2004-4-29 19:41 | 显示全部楼层

《自学的入门!》——大智慧公式原码的代入和飞狐公式入门 及其它。

来自:MACD论坛(bbs.shudaoyoufang.com) 作者:大连 浏览:32813 回复:37

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
公式原码引入的方法

在大智慧的自编指标中做以下操作:
1、点击新建按钮;
2、输入公式名称;
3、有用法注释的,点击公式注释按钮添加注释,这样在使用该指标的时候,在指标线上单击鼠标右键就可以看用法解释了;
4、需要参数的公式,在参数栏添加参数。超过5个参数的,可单击参数5-8菜单接着添加;
5、把要引入的公式原码复制或者手输入到最下面的公式区,注意不要忘记了每行分号结尾;
6、可直接点击确认按钮,自动测试公式后保存。


引入原码时,经常会遇到"没有定义的标识符"的提示.

"没有定义的标识符"就是该语句没有被正确定义过,或者是该语句有错误的写法存在,比如有错误的地方是:VAR:=CLOSE-LLV(LOW,N),COLORRES     这句中就有2个地方有错了,其中错在(LOW,N)  这N是没有写入函数  而COLORRES的颜色符号错了  这样就会在大智慧软件公式编辑中就会出现"没有定义的标识符"这句话了

[ Last edited by 大连 on 2004-4-30 at 09:14 ]
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 19:42 | 显示全部楼层
大智慧的颜色代码如下:
红色colorred、灰色colorgray、绿色colorgreen、黄色coloryellow、蓝色colorblue、白色colorwhite.
另外颜色还有:
粉红colorf00ff0、草绿color00ff00、淡蓝colorf0f000、紫色colorff0099、金黄色color008364、紫红color000999、综色color0055ff、深黄色color00cccc、紫罗蓝colore66878、天蓝色colorff937f 深草绿color399c7f
实际上只要在color后面加上0-9、A-F中任6个数字字母组成,如要其它颜色,可自己调。
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

发表于 2004-4-29 19:46 | 显示全部楼层
大智慧的公式定义和分析家基本一样,把源代码拷贝粘贴,参数设置抄过来就可以把分析家的公式转到大智慧中
金币:
奖励:
热心:
注册时间:
2003-7-10

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 19:47 | 显示全部楼层
1、出水芙蓉
Var1:=REF(CLOSE,1);
Var2:=SMA(MAX(CLOSE-Var1,0),6,1)/SMA(ABS(CLOSE-Var1),6,1)*100;
DRAWTEXT(Var2>92 AND REF(Var2,1)<92,100,'☆胜利!'), ,;
Var3:=EMA(CLOSE,5)/EMA(EMA(CLOSE,9),16);
Var4:=1/WINNER(CLOSE);
Var5:=(CLOSE-MA(CLOSE,13))/MA(CLOSE,13)*100;
Var6:=100-ABS(Var5);
Var7:=(CLOSE-LLV(LOW,75))/(HHV(HIGH,75)-LLV(LOW,75))*100;
Var8:=SMA(Var7,20,1);
Var9:=SMA(Var8,15,1);
VarA:=100-3*Var8+2*Var9;
VarB:=((EMA(IF(VarA>REF(VarA,1),VarA,VarA-3),3)-50)*(-1)*2/2+50)/10;
VarC:=EMA(AMOUNT,13)/EMA(VOL,13);
VarD:=(VarC/REF(VarC,1)-1)*100;
VarE:=VOL/CAPITAL*100;
VarF:=(HIGH-LOW)/((HIGH+LOW)/2)*100;
Var10:=(VarB+VarE)*VarF*VarD;
Var11:=VOL/CAPITAL;
Var12:=VOL/700000000;
Var13:=IF(Var11=0,Var12,Var11);
Var14:=1.1*(MAX(HIGH,REF(CLOSE,1))/MIN(LOW,REF(CLOSE,1))-1);
Var15:=2.5*MAX(Var13,Var14);
Var16:=DMA(CLOSE,Var15);
Var17:=SMA(20*(Var16/REF(Var16,1)-1),2,1);
Var18:=EMA(Var17,2);
Var19:=0.17;
Var1A:=CLOSE>=REF(CLOSE,1);
Var1B:=VOL/CAPITAL;
Var1C:=VOL/700000000;
Var1D:=IF(Var1B=0,Var1C,Var1B);
Var1E:=1.1*(MAX(HIGH,REF(CLOSE,1))/MIN(LOW,REF(CLOSE,1))-1);
Var1F:=2.5*MAX(Var1D,Var1E);
Var20:=DMA(CLOSE,Var1F);
Var21:=SMA(20*(Var20/REF(Var20,1)-1),2,1);
Var22:=EMA(Var21,2);
介入: IF(Var17>Var19 AND Var18>=0.005 AND Var1A,70,0),stick ,linethick3,coloryellow ;
买入: IF(Var10>100 AND Var10<200,130,0),stick ,linethick3,colormagenta ;
加码: IF(Var10>200,200,0),color3366cc ,stick,linethick3 ;
止盈: IF(Var3>1.15 AND Var3 卖出: IF(Var3>1.1 AND Var3<1.15 AND Var3 STICKLINE(Var22>=0.003,-0.05,0.05,10,0),linethick5 ,colorred ;
STICKLINE(BETWEEN(Var22,0.003,-0.003),-0.05,0.05,10,0),linethick5,colorwhite ;
STICKLINE(Var22<=-0.003,-0.05,0.05,10,0),linethick5 ,colorgreen;
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 19:55 | 显示全部楼层
股神必胜

{p:1,500,36    p1:1,60,13}

var1:=((ema(amount,5)/ema(vol,5)/100-ema(amount,125)/ema(vol,125)/100)/(ema(amount,5)/ema(vol,5)/100))<-0.4;
var2:=(close-llv(low,15))/(hhv(high,15)-llv(low,15))*100;
var3:=sma(var2,3,1);
var4:=sma(var3,3,1);
var5:=-100*(hhv(high,52)-close)/(hhv(high,52)-llv(low,52));
var6:=vol/FINANCE(7);
var7:=(100*winner(C));
Var8:=SUM(IF(CLOSE>REF(CLOSE,1),1,0),0);
Var9:=SUMBARS(VOL,CAPITAL);
Var10:=IF(CLOSE>LLV(CLOSE,Var9),1,-1)*IF(Var8>LLV(Var8,Var9),1,-1);

Var11:=COUNT(IF(Var10=-1,1,0)=1,8)>2;
Var12:=(CLOSE-DMA((3*HIGH+LOW+OPEN+2*CLOSE)/7,VOL/(SUM(AMOUNT,13)/(AMOUNT/VOL/100)/100)))/DMA((3*HIGH+LOW+OPEN+2*CLOSE)/7,VOL/(SUM(AMOUNT,13)/(AMOUNT/VOL/100)/100))*100<-18;
Var13:=(CLOSE-MIN(REF(CLOSE,5)*0.865,REF(CLOSE,21)*0.772))/CLOSE<0.01;
Var14:=Var11 AND Var12 AND Var13;
Var15:=VOL/CAPITAL>=0.02 AND VOL/CAPITAL<=0.2 and OPEN=1.105;
Var16:=Var14 OR Var15;
Var17:=REF(CLOSE,1);
Var18:=SMA(MAX(CLOSE-Var17,0),7,1)/SMA(ABS(CLOSE-Var17),7,1)*100;
Var19:=SMA(MAX(CLOSE-Var17,0),13,1)/SMA(ABS(CLOSE-Var17),13,1)*100;
Var20:=Var18<20 AND Var19<25;

Var21:=SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),0-VOL,0)),0);
Var23:=IF(CLOSE>LLV(CLOSE,Var9),1,-1);
Var24:=IF(Var21>LLV(Var21,Var9),1,-1);
Var25:=Var23*Var24;
Var26:=IF(Var25=-1,1,0);
Var27:=Var26 AND CLOSE=LLV(CLOSE,120) and var7<var6;
Var28:=ma(var7,3);
Var29:=ma(var6,34);
Var30:=(Var28<Var29)*100 and var7<var6;

Var31:=count(var1,5)>=1 and (var5<-99.9 or (var4<15 and var3<12));
Var32:=if(FILTER(Var31 and Var30 and Var16 and Var20 and Var27>0,4),70,0);
Var33:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
Var34:=SMA(Var33,3,1);
Var35:=(HHV(HIGH,9)-CLOSE)/(HHV(HIGH,9)-LLV(LOW,9))*100;
Var36:=SMA(Var35,3,1);
Var37:=-100*(HHV(HIGH,14)-CLOSE)/(HHV(HIGH,14)-LLV(LOW,14));
Var38:=(C*2+H+L)/4;
Var39:=EMA(Var38,13) - EMA(Var38,21);

Var40:=EMA(Var39,2);
Var41:=HIGH/LLV(CLOSE,P1)>1.33;
Var42:=(2*C+H+L)/4;
Var43:=LLV(LOW,34);
Var44:=HHV(HIGH,34);
Var45:=EMA((Var42-Var43)/(Var44-Var43)*100,13);
Var46:=EMA(0.667*REF(Var45,1)+0.333*Var45,5);

探底尖兵:IF(VAR30 AND VAR16 AND VAR20 OR(VAR20 AND VAR27),45,85),COLORF00FF0;
淘金快车:IF(CROSS(VAR40,0) AND 2>100*VOL/CAPITAL AND VAR45>VAR46 AND VAR46<45,70,0),STICK,LINETHICK4,COLORYELLOW;
坚决卖出:IF(CROSS(0.5,BACKSET(VAR41,11))AND VAR46>75 ,80,0),STICK,COLOR00FF00,LINETHICK4;
股神再现:IF(探底尖兵 AND (VAR34<5.5 OR (VAR36>95 AND VAR37=-100)),65,0),STICK,COLORRED ,LINETHICK6;
坚定持股:IF(VAR32>0,50,0),STICK,LINETHICK6 ,COLORFF0000 ;
STICKLINE(CLOSE<EMA(C,P),0,10,5,0),COLORFFBB44;
STICKLINE(CLOSE>EMA(C,P),0,20,5,0),COLOR0000FF;
高位预警:IF(CROSS(VAR46, VAR45)AND VAR46>80 ,60,15),COLOR00DD00;

B1:Var46,COLORYELLOW;
B2:Var45,COLOR00FF00;
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

发表于 2004-4-29 20:03 | 显示全部楼层
辛苦了!置顶1天!
金币:
奖励:
热心:
注册时间:
2003-7-10

回复 使用道具 举报

签到天数: 1916 天

发表于 2004-4-29 20:05 | 显示全部楼层

冲锋号角

A:=DMA(EMA(CLOSE,24),SUM(VOL,9)/3/CAPITAL);
SW:=(CLOSE-A)/A*100;
b:=sw<-38  ;
A1:=DMA(EMA(CLOSE,22),SUM(VOL,9)/3/CAPITAL);
s:=(CLOSE-A1)/A1*100;
j:=ref(s,1)<-37 and s>ref(s,1) and ref(s,1)<ref(s,2) and
(ref(s,2)-ref(s,1))>1;
k:=b or j ;
k and count(k,10)=1
{
测试股票数:1235

共发出指示:836  成功指示:724  失败指示:110  未完成指示:2

, 成功率达到50%的股票有:39.4%

利润1总平均:21.19%  利润1最大值:52.71%  利润1最小值:5.49%

利润2总平均:18.53%  利润2最大值:52.71%  利润2最小值:0.51%
}
金币:
奖励:
热心:
注册时间:
2003-4-15

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 20:11 | 显示全部楼层

起爆

Var1:=EMA(CLOSE,8);
Var2:=EMA(Var1,20);
Var3:=CROSS(Var1,Var2);
Var4:=Var1<EMA(CLOSE,55);
Var5:=EMA(SMA((CLOSE-LLV(LOW,19))/(HHV(HIGH,19)-LLV(LOW,19))*100,8,1),3);
爆破:IF(Var3 AND Var4,50,20),COLORGREEN;
LC:=REF(CLOSE,1);
幅度:=ABS((C-LC)/LC);
转折:=IF(C>=O,幅度,0-幅度);
变异速度:=转折*1000000/INDEXC;
机构:=SUM(变异速度,n);
散户:=SUM(0-变异速度,n);
容量比率:=SUM(IF(CLOSE>LC,VOL,0),26)*100/SUM(IF(CLOSE<=LC,VOL,0),26);
前回调:=count(CROSS(90,容量比率),M)>=1;
今金叉:=CROSS(机构,散户);
起爆:IF(前回调 AND 今金叉 AND C/L>1.02,11,0);
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

发表于 2004-4-29 20:16 | 显示全部楼层
在公式中有一项测试的,可以查到那句话有问题的。
金币:
奖励:
热心:
注册时间:
2003-4-28

回复 使用道具 举报

发表于 2004-4-29 20:40 | 显示全部楼层

请教这是错在那呢?

Snap1232323.jpg
金币:
奖励:
热心:
注册时间:
2003-12-27

回复 使用道具 举报

发表于 2004-4-29 20:45 | 显示全部楼层
这有什么实际意义?连股票都是假的!中国股票根本不能炒!
金币:
奖励:
热心:
注册时间:
2004-3-26

回复 使用道具 举报

发表于 2004-4-29 20:50 | 显示全部楼层
最好把测试通不过的修改一下,谢谢了。
金币:
奖励:
热心:
注册时间:
2003-6-10

回复 使用道具 举报

发表于 2004-4-29 21:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
金币:
奖励:
热心:
注册时间:
2003-7-11

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:04 | 显示全部楼层
飞狐公式入门一


  公式入门,今天开始,南客尽量做到尽快更新,但由于各种原因,有时可能会有延迟,届时请大家谅解。
  本次讲座,针对公式尚未入门的飞狐弟兄,由于网络论坛的限制,许多问题可能难以表达,尽量多用图解的。
  每次讲座,都会留一些思考性的问题,希望能够自行完成,自己的练习的结果不妨跟贴。
  由于南客精力有限,差错难免,请各公式高手多多指正。


一、公式入门:
  1、建立公式组的方法,参见下图:
10.gif
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:04 | 显示全部楼层
Originally posted by 大连 at 2004-4-29 10:04 PM:
飞狐公式入门一


  公式入门,今天开始,南客尽量做到尽快更新,但由于各种原因,有时可能会有延迟,届时请大家谅解。
  本次讲座,针对公式尚未入门的飞狐弟兄,由于网络论坛的限制,许多问题可能难以表 ...
10.gif
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:05 | 显示全部楼层
2、建立一个简单的新公式sl001,方法如下图所示:
  弹出公式编辑器后,在公式名称处输入sl001,在公式说明中输入“示例公式001”,在代码框中输入“spj:”,点“插入函数”,在“行情函数”中找到CLOSE,点“插入函数”框的“确定”按钮,在代码框中就插入了一个函数CLOSE(CLOSE可以简写为C)。
10.gif
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:06 | 显示全部楼层
公式编辑器
10.gif
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:07 | 显示全部楼层
最后在公式编辑器中点“确定”按钮,我们就建立了一个名为sl001的新公式。公式只有一行代码即:

spj:close

其中,spj(“收盘价”的拼音代码)称为公式变量,close是函数(行情函数的一种)两者间以半角的冒号“:”相隔,表示spj定义为close。

  3、进入某个股的K线图,在键盘上敲“sl001”调用我们刚才设计的公式,结果在副图显示一条收盘价曲线,曲线的名称是“spj”

  注意观察,该曲线是对应了K线的第一天到最后一天,说明,“spj”不是一个简单的变量,是一个数组或者说是一个序列变量,当然理解成一个函数也可以,是一个自变量为时间日期的函数。
  因此,今后看公式时,对公式中的变量,一定要理解成是一个序列变量。


  4、在副图指标sl001的空白处,点鼠标右键选“修改指标公式”,在公式编辑器中,看到“主图叠加”的选项了吗?打上“√”确定退出。键盘敲“sl001”,调用sl001公式,结果你看到了什么?
  结果是,副图指标sl001变成了主图叠加指标sl001。
  在主图指标的名称sl001处,点鼠标右键选“修改指标公式”,在公式编辑器中给“主图”选项打上勾,确定退出。再观察一下,有何变化?
  结果是,主图叠加指标变成主图指标。

  小结:本次讲座,学习了几个基础知识,建立公式组的方法,建立一个新公式的方法,修改公式的几种方法,副图指标、主图叠加指标、主图指标,序列变量的概念,查询函数注释的方法。


  练习1:跟K线有关的几个股价函数:close/open/high/low,仿照今天学习的内容,自行制作公式,要求分别做成副图指标、主图叠加指标和主图指标。在操作过程中,练习今天学习的内容。
  练习2:查找MA函数,并写出它的注释。
  思考:修改指标公式,有几种方法?在K线图中,按F3试试,有什么变化?鼠标右键菜单有几种情况?
  探索1:要给指标公式加入注释,怎么办?
  探索2:要把自己的公式导出,让别人共享,怎么办?
  探索3:要导入别人的公式,怎么操作?
  探索4:怎么删除无用的公式?


  说明:为了便于对管理公式,自行练习的公式,不妨以lx开头,例如lx001、lx002等等。
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:08 | 显示全部楼层
飞狐公式入门二


二、参数、参数精灵及其应用:

  1、起始有效周期:

  上一讲,我们学习了在飞狐中新建公式的基础知识。并编了一个最简单的公式sl001。下面我们再来新建一个公式主图叠加公式sl002,代码如下:

ma5:ma(close,5);

  代码解释:定义了一个序列变量ma5,其序列值由函数ma(close,5)确定。查ma函数的注释是:
{
求简单移动平均。
用法: MA(X,N),求X的N日移动平均值。
算法: (X1+X2+X3+...+Xn)/N
例如: MA(CLOSE,10)表示求10日均价
}
显然,ma5被定义为5日均价,在K线图中,切换股票到600026,敲sl002,调用这个公式,观察5日均价曲线,发现了什么?

  可以看出,ma5是从第5根K线开始的,也就是说,ma5的起始有效周期是5,为什么是5而不是其它数据?根据ma函数的定义,ma5即ma(close,5)等于当日及前4日收盘价的算术平均值,至少要有5天的数据,才会有5日均价。

  想想看,ma(close,10)表示什么?它的起始有效周期是多少?

  下面,我们修改刚才建立的公式sl002,代码如下:

ma5:ma(close,5);
ma10:ma(close,10);
ma20:ma(close,20);
ma30:ma(close,30);
ma60:ma(close,60);

注意,每一行公式代码的末尾要有一个半角的分号“;”,表示一行代码结束。切换股票到600317,观察我们修改后的sl002显示的结果,原来就是我们所熟悉的均线系统,由5、10、20、30、60日均价线组成。

  2、参数、参数精灵:

  上面修改后的公式sl002,已经是很实用的公式了。但有个缺点,如果你想要的不是5、10、20、30、60日均价线,而是其它的譬如7、14、21、28、35日的均价线,怎么办?修改公式代码是一个可行的办法,但太麻烦。在飞狐中,可以使用参数,把公式sl002修改如下:

ma5:ma(close,n1);
ma10:ma(close,n2)
ma20:ma(close,n3);
ma30:ma(close,n4);
ma60:ma(close,n5);

在公式编辑器中,输入参数n1----n5的最小、最大、缺省值。
   为了验证公式代码是否正确,用鼠标左键点“调试公式”按钮,飞狐提示“行3:语句缺少分号”,仔细分析公式代码,原来是第2行少了分号,修正后再点“调试公式”按钮,提示“调试通过”。点“确定”按钮退出并保存公式。

参数精灵
10.gif
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:12 | 显示全部楼层
结果发现,公式sl002显示跟原来一样没有变化,参数不是毫无用处了吗?请看下图:
图:调整指标参数
10.gif
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站声明:MACD仅提供交流平台,请交流人员遵守法律法规。
值班电话:18209240771   微信:35550268

举报|意见反馈|手机版|MACD俱乐部

GMT+8, 2025-6-29 09:40 , Processed in 0.041224 second(s), 12 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表