搜索
12
返回列表 发新帖
楼主: 大连

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

[复制链接]

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:13 | 显示全部楼层
3、参数精灵:在上面修改参数的过程,是否注意到参数的提示?因为公式是自己设计的,参数的提示尽管很简单,但自己仍然知道参数的含义,但如果是其他人的话,就可能摸不着头脑了,因此有必要对参数加上一点提示。方法是,在公式编辑器中,点“参数精灵”按钮,输入以下文字:

Param#1日均价(1--999);
Param#2日均价(1--999);
Param#3日均价(1--999);
Param#4日均价(1--999);
Param#5日均价(1--999);

这里,Param#1表示参数N1,其它依此类推,点“确定”退出公式编辑器。再试试调整参数,发现参数调整窗口的提示已经符合我们的要求。

  小结:今天学习了函数ma,起始有效周期、参数的概念,学会了参数精灵的用法。

  练习1:设计一个主图叠加公式,包含5、10、20、30、60、120、240日均价,并在公式中,使用7个参数。
  练习2:设计一个副图指标公式,描述成交量、5日均量、10均量、20日均量、30日均量。在K线图下,观察你设计的公式,跟系统公式vol进行对比,有什么不同?通过研究系统公式VOL,你又学到了一招,即“线型描述符”VOLSTICK。
  练习3:设计一个副图公式,描述换手率、5日平均换手率、10日平均换手率、20日平均换手率。提示:需使用“财务指标”函数,[换手率=成交量/流通盘*100%]。
  探索:如何给公式加上密码,使公式只有自己才可以看到公式代码(源代码),别人无法看到、修改。

补充一点,Param中的P必须大写才可以!
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:14 | 显示全部楼层
三、条件表达式及其应用:

  1、条件表达式:在飞狐中设计公式,需要大量使用条件表达式,根据条件表达式的结果,作出判断,以便确定下一步该做什么,不该做什么。基本的条件表达式由“>、>=、<、<=、=、and、or、not”等比较运算符、逻辑运算符组成,此外单独的“逻辑函数”如该周期ISLASTPERIOD也可以构成条件表达式。条件表达式的值只有2个,1和0,条件成立则返回1,条件不成立则返回0,下面举例说明:

例1:close>open{表示收盘价大于开盘价,如果成立返回1,否则这个条件表达式的值为0};

例2:close>open and close>ma(close,5){表示收盘价大于开盘价且close大于5日均价,and是“且、和”的意思};

例3:close<=ref(close,1) or close<=ref(close,2){今收盘小于昨收盘或今收盘小于等于前2天收盘价,or是“或 的意思,ref函数,请在公式编辑器中“插入函数”查询注释或鼠标移到函数处,会显示函数的注释};

例4:corss(ma(c,5),ma(c,10)){5日均价线上穿10日均价线,cross函数的定义,请自查。这里close简写为c};

  说明:上面例子中,包含在半角的一对花括号“{”、“}”的部分,是注释语句,不会被运行。一个好公式设计,需要花费很多心血,时间久了有可能自己也会忘记当时是怎么设计的,此外也为了别人能看懂公式,因此,适当的加入注释是个好习惯。

  明白了条件表达式的意义后,我们来设计一个有点实用价值的公式:

例5:设计一个副图指标,8日内如果先后出现5日均价线上穿10日均价线、5日均价线上穿20日均价线,则返回1,否则返回0。

求解:根据上面的学习,“5日均价线上穿10日均价线”的条件表达式是cross(ma(c,5),ma(c,10)),“5日均价线上穿20日均价线”的条件表达式是cross(ma(c,5),ma(c,20)),那么本例是不是可以写成

cross(ma(c,5),ma(c,10)) and cross(ma(c,5),ma(c,20))

答案是否定的。因为这个条件表达式是表示同时满足2个条件,怎么办?
本指标的设计要用到逻辑函数EXIST(X,N),查询EXIST(X,N)的注释如下

{是否存在
用法: EXIST(X,N)返回N周期内是否存在满足条件X,N可为常数或变量
例如: EXIST(C>O,10)表示10个周期中存在阳线}

正确结果如下,我们把公式命名为sl003:

信号:EXIST(cross(ma(c,5),ma(c,10)),8) AND EXIST(cross(ma(c,5),ma(c,20)),8)

  代码说明:①飞狐的公式代码不区分字母的大小写,字母可以大写,也可以小写或者大小写混合。②本例中,公式代码使用了函数嵌套,即一个函数套一个函数,这里使用了三重嵌套。③要看懂嵌套函数,基本的分析方法是,从里到外一层层分析,如EXIST(cross(ma(c,5),ma(c,20)),8),先分析ma(c,5)、ma(c,10)是什么意思,然后分析cross(ma(c,5),ma(c,20))是什么意思,最后再分析EXIST(cross(ma(c,5),ma(c,20)),8)是什么意思。

  例5的公式,显示的结果如何,不错吧?条件满足时,指标线的值会由0突变为1,“信号”很醒目。不过还是有点不爽,如果连续出现信号则第一次满足条件才给出“信号”,似乎更好些,怎么办呢?留给大家作为练习吧^_^。给一点提示:利用“引用函数”类中的“信号过滤”函数FILTER(X,N)。这个练习对于初学者有点难度,只有不断学习、不断钻研,才能更快进步,南客给大家加油!

  2、中间变量:考察上面的示例公式sl003中,ma(c,5)共出现了2次,每出现一次,飞狐软件都要进行一次5日均价的运算,要重复算2次相同的运算。如果一个公式中,类似这样ma(c,5)出现的次数是N次,那岂不是要重复N次相同的运算,是不是有点太“笨”了?效率太低了?解决的办法是,把运算结果先“存”到中间变量,要用时,从中间变量中取出。

  例6:选用适当的中间变量,改写公式sl003。

  求解:正确结果如下,我们下面公式命名为sl004

ma5:=ma(c,5);
ma10:=ma(c,10);
ma20:=ma(c,20);
信号:EXIST(cross(ma5,ma10),8) AND EXIST(cross(ma5,ma20),8);

或者

n:=8;
ma5:=ma(c,5);
ma10:=ma(c,10);
ma20:=ma(c,20);
tj1:=EXIST(cross(ma5,ma10),n);
tj2:=EXIST(cross(ma5,ma20),n);
信号:tj1 and tj2;

  第二段代码解释:①ma5:=ma(c,5)是中间语句,ma5是中间变量(也可称为临时变量),中间变量是用“:=”来定义的,而变量(即序列变量)的定义是用“:”,前者在冒号后多了个等号;ma10、ma20也是中间变量,想想看公式代码中,“信号”是中间变量吗?②公式中间变量的结果,不会在K线图的主图或副图中显示出来。③公式代码中,n:=8,不是为了减少运算量,这里使用中间变量的目的,是为了改写代码方便,例如,公式设计好后,发现用8不大妥,想写为9,于是就需要在代码中找若干处把8改写为9,用中间语句n:=8,则公式代码只需修改一处就行了。

  3、条件函数:设计飞狐公式时,条件函数IF很重要,经常都要用到,查询注释如下:

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

  例7:问题同例5,但输出的“信号”修改为10和0。

  求解:公式代码如下

n:=8;
ma5:=ma(c,5);
ma10:=ma(c,10);
ma20:=ma(c,20);
tj1:=EXIST(cross(ma5,ma10),n);
tj2:=EXIST(cross(ma5,ma20),n);
tj3:=tj1 and tj3;
信号:if(tj3=1,10,0);

  代码解释:①信号:if(tj3=1,10,0),表示如果tj3成立(即等于1)则返回10,否则返回的值为0。
  ②信号:if(tj3=1,10,0)可以简写为信号:if(tj3,10,0),参阅IF的注释,想想看,这是为什么?

  本讲小结:今天学习了条件表达式,中间语句、中间变量,公式设计的若干技巧。

  练习1:设计一个副图指标,M日内如果先后出现5日均价线上穿10日均价线、5日均价线上穿20日均价线,则返回1,否则返回0。要求M是可调参数。

  练习2:设计一个副图指标,M日内,如果先后出现5日均价线上穿10日均价线、5日均价线上穿20日均价线和10日均价线上穿20日均价线,则返回1,否则返回0。要求M是可调参数。

  练习3:设计一个副图指标,M日内如果先后出现5日均价线上穿10日均价线、5日均价线上穿20日均价线,则返回1,否则返回0,如果连续发出“信号”,则只在第一次发出“信号”时显示“信号”。要求M是可调参数。

  探索:新建一个副图公式,试试公式编辑器中的“引入公式”,把KD引入新建的公式。然后继续设计公式,要求M日内,如果先后出现5日均价线上穿10日均价线、K上穿D,则返回1否则返回0。
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

发表于 2004-4-29 22:19 | 显示全部楼层
Originally posted by 顶石笋 at 2004-4-29 21:39:

第3行尾去掉逗号。



还是不行!
金币:
奖励:
热心:
注册时间:
2003-12-27

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-29 22:35 | 显示全部楼层
起点。
Var1:=MA(CLOSE,3)>REF(MA(CLOSE,3),1) AND MA(CLOSE,5)>REF(MA(CLOSE,5),1) AND MA(CLOSE,10)>REF(MA(CLOSE,10),1) AND VOL/240>REF(VOL,30)*1.2/240*1.5 AND CLOSE>LOW*1.06 AND CLOSE>REF(MA(CLOSE,3),1) AND REF(CLOSE,1) AND MA(CLOSE,5)>REF(MA(CLOSE,5),1) AND MA(CLOSE,10)>REF(MA(CLOSE,10),1) AND MA(CLOSE,20)>REF(MA(CLOSE,20),1) AND MA(VOL,5)>REF(MA(VOL,5),1) AND MA(CLOSE,5)-MA(CLOSE,10)<=0.58;
FILTER(Var1,5);
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 295 天

发表于 2004-4-29 22:41 | 显示全部楼层
非常感谢、您辛苦了
金币:
奖励:
热心:
注册时间:
2002-3-26

回复 使用道具 举报

发表于 2004-4-29 22:49 | 显示全部楼层
辛苦了
金币:
奖励:
热心:
注册时间:
2003-6-18

回复 使用道具 举报

签到天数: 11 天

发表于 2004-4-29 23:19 | 显示全部楼层
公式编辑器
金币:
奖励:
热心:
注册时间:
2004-2-3

回复 使用道具 举报

发表于 2004-4-30 06:17 | 显示全部楼层
辛苦了
金币:
奖励:
热心:
注册时间:
2003-6-16

回复 使用道具 举报

发表于 2004-4-30 08:14 | 显示全部楼层
辛苦了,谢谢
金币:
奖励:
热心:
注册时间:
2004-2-6

回复 使用道具 举报

发表于 2004-4-30 09:02 | 显示全部楼层
很不错,继续。
金币:
奖励:
热心:
注册时间:
2003-6-10

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-30 09:12 | 显示全部楼层
捕捉暴涨股的32句口诀

叶剑是指南针暴涨暴跌及主力动态监测系统、及时雨波段起爆及2点40选股系统的设计者、发明人。也是知名财经专栏作者。他编制了脍炙人口的、捕捉暴涨股的33句口诀,现与全体讲师、分析师和用户共享。

股价波动分四程,

顶、跌、底、升要区分;

启动升势第一天,

正是长蛇第七寸。

要选就选第一天,

后市操作量要增。

连续增量就有戏,

连续缩量就放弃。

放量还看技术位,

看完阻力看支撑。

支撑越近越踏实,

阻力越远越升腾。

之后还要看形态,

头肩底右肩是要害;

右肩启动第一天,

颈线下方把仓建;

突破颈线如有效,

后期大涨有空间。

“波段高手”看浪形,

牛股多是走五浪。

一二三是上升浪,

第三浪是爆炸浪。

三浪启动第一天,

有勇有谋敢重仓。

决战要找大主力,

启动股里找板块。

1股启动难成器,

同类3股成板块。

板块主力现原形,

决战机会将来临。

板块面找领头羊,

大题材股易暴涨。
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-30 09:13 | 显示全部楼层
技术指标的“背离特征”

在运用技术指标时,经常会遇到期价走势与指标走势“背离”的现象。背离,简单地说就是走势的不一致。当背离的特征一旦出现,就是一个比较明显的采取行动的信号。
  通常指标背离有两种,一种是顶背离,另一种是底背离。顶背离通常出现在期价的高档位置。当期价的高点比前一次的高点高,而指标的高点却比指标前一次的高点低。换句话说,就适当指标处于高位,并形成一峰比一峰低的两个峰,而此时期价却对应的是一峰比一峰高,则表示该指标怀疑目前的上涨是外强中干,暗示期价很快就会反转下跌,这就是所谓的"顶背离"。是比较强烈的卖出信号。反之,底背离一般出现在期价的低档位置,当期价的低点比前一次的低点低,而指标的低点却比指标前一次的低点低,也就是说当指标认为期价不会在持续地下跌,暗示期价会反转上涨,这就是"底背离",是可以开始建仓的信号。
能够形成明显技术指标背离特征的指标有MACD,W%R,RSI,KDJ等,其形态都存在与期价背离的特征。
背离特征需要注意的问题:
1、各种技术指标有效性并不相同。进行技术指标分析时,相对而言,用RSI与KDJ的背离来研判行情的转向成功率较高。
2、指标背离一般出现在强势中比较可靠。就是期价在高位时,通常只需出现一次背离的形态,即可确认反转形态,而期价在低位时,一般要反复出现几次背离才可确认反转形态。
3、钝化后背离较为准确。若完全根据背离特征进行操作的话,常会带来较大的失误,这种情况特别容易出现在当期价出现暴跌或暴涨的走势时,KDJ指标很可能呈高位或低位钝化后,该期价仍然出现上涨或下跌。实际上,这时候一旦出现背离特征有效性很高,特别是KDJ指标结合RSI指标一起判断期价走向,KDJ指标在判断顶部与底部过程中,具有较强的指向作用。
4、注意识别假背离。通常假背离往往具有以下特征:一、某一时间周期背离,其它时间并不背离。比如,日线图背离,但周线图月线图并不背离。二、没有进入指标高位区域就出现背离。我们所说的用背离确定顶部和底部,技术指标在高于80或低于20背离,比较有效,最好是经过了一段时间的钝化。而在20-80之间往往是强市调整的特点而不是背离,后市很可能继续上涨或下跌。三、某一指标背离而其它指标并没有背离。各种技术指标在背离时候往往由于其指标设计上的不同,背离时间也不同,在背离时候KDJ最为敏感,RSI次之,MACD最弱。单一指标背离的指导意义不强,若各种指标都出现背离,这时期价见顶和见底的可能性较大。
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

签到天数: 1292 天

 楼主| 发表于 2004-4-30 09:23 | 显示全部楼层
屠庄指标(原码)
var101:=ma(slope(close,3)/ref(close,14),13);
var102:=ma(slope(indexc,3)/ref(indexc,14),13);
var103:=var101-var102;
var104:=sma(var103,3,1);
var105:=amount/100000000;
var106:=if(close>ref(close,1),var105,if(close<ref(close,1),(-1)*var105,0));
var107:=sum(var106,21);
var108:=var107*close;
var109:=sma(var108,3,1);
var110:=sma(var109,3,1);
var111:=ma(var108,30);
var112:=if(var108>var109 and var109>var110 and var108>var111,1,0);
var113:=ema(close,12.5)-ema(close,25);
var114:=ema(var113,13);
var115:=(var113-var114)*2;
var116:=if(var115>0.3,pow(var115,3)*5/10+pow(var115,2),0);
var117:=ema(var116,3);
var118:=sma((close-llv(low,31))/(hhv(high,31)-llv(low,31))*100,5,1);
var119:=3*var118-2*sma(var118,3,1);
var120:=sma(var119,3,1);
var121:=if(var119>var120 and var119<50,1,0);
var122:=if(barslast(cross(var103,var104))<=5 and llv(var103,10)=llv(var103,60)and var112,1,0);
drawtext(filter(var121=1 and var122=1,5),low,'*送钱了'),coloryellow,linethick7;
drawtext(cross(var104*10000,99),low,'*屠庄'),colorwhite,linethick7;
rsv1:=(c-llv(l,20))/(hhv(h,20)-llv(l,20));
rsv2:=(rsv1-0.5)*ema(c,20)/5;
k:=sma(rsv2,5,1);
d:=sma(k,5,1);
j:=k*3-d*2;
var140:=ma(k+ema(c,20),3);
var139:=ma(j+ema(c,20),3);
var141:=if(cross(var139,var140),1,0);
var142:=if(cross(var140,var139),1,0);
移动峰位:=100*ema((winner(c*1.1)-winner(c*0.95)),5);
主力进出:=100*ema(winner(c)-winner(c*0.7),5);
出货过程:=100*(1-ema(winner(c*0.7),5));
※主力:cost(主力进出),colormagenta,linethick2;
※峰位:cost(移动峰位),color339966,linethick2;
※沉淀:cost(0.5*(100-100*ema(winner(c)-winner(c*0.7),5))+0.5*ema(100-(winner(c*1.05)-winner(c*0.90))*100,5)),pointdot,coloryellow;
※买点:drawicon(var141,low*0.97,4),colorred;
※卖点:drawicon(var142,high*1.03,5),colorgreen;
var1a:=ma(slope(close,5)/ref(close,14),13);
var2a:=ma(slope(indexc,5)/ref(indexc,14),13);
金币:
奖励:
热心:
注册时间:
2003-8-28

回复 使用道具 举报

发表于 2004-4-30 10:33 | 显示全部楼层
我怎么加不进去啊。我不知道VAR:=CLOSE-LLV(LOW,N),COLORRES    在哪。也不知道怎么改。请再说详细点,谢谢
金币:
奖励:
热心:
注册时间:
2004-4-12

回复 使用道具 举报

签到天数: 5 天

发表于 2004-4-30 21:41 | 显示全部楼层
有道理
金币:
奖励:
热心:
注册时间:
2003-11-27

回复 使用道具 举报

发表于 2004-4-30 22:28 | 显示全部楼层
谢谢了。
金币:
奖励:
热心:
注册时间:
2003-5-16

回复 使用道具 举报

签到天数: 1916 天

发表于 2004-4-30 23:03 | 显示全部楼层
期望有更精彩的好东西!

给与鼓励!
金币:
奖励:
热心:
注册时间:
2003-4-15

回复 使用道具 举报

发表于 2004-4-30 23:32 | 显示全部楼层
出水芙蓉是大智慧公式吗?引入的时候有  没有定义的标志符,楼主能否帮助查看一下,谢谢
金币:
奖励:
热心:
注册时间:
2003-12-7

回复 使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-6-30 02:28 , Processed in 0.045045 second(s), 9 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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