|
学习中。谢谢分享 |
谢谢楼主无私分享! |
谢谢版主!!!好东西!!!!要好好学习学习!!! |
第九讲:常用函数示例 系统中的函数非常多,其中的一些函数只有在特定的语句中才会用得到。本文介绍几个能经常用到函数,方便大家在以后编写时使用。 1、COUNT 统计总数 原理:COUNT (X,N),统计N周期中满足条件X的周期数,若N=0则从第一个有效值开始。 例如:COUNT(C<O,10),表示统计10周期内收阴的周期数。 以前曾列举过这个函数,今天单独拿出来,是想进一步说明它的应用原理。以上面这个例子,单独使用是没有任何意义的。如语句:金叉 AND COUNT(C<O,10); 其输出结果还是:金叉,后面的半句没有起到作用。 那么怎么才能发挥它的作用呢?还必须在它的后面加上我们要求的条件。如:10周期内收阴的周期数大于7,完整的表达式:金叉AND COUNT(C<O,10)>7; 再举几个例子: 成交量连续5天上升:COUNT(VOL>(VOL,1),5)=5; 如果求5天内只能1天上升:COUNT(VOL>(VOL,1),5)=1; 如果在5天内成交量大于5日均量有2天以上呢COUNT(VOL>MA(VOL,5),5)>=2; 2、FILTER 信号过滤 用法:FILTER(X,N),X满足条件后,将其后N周期内的数据置为0。此函数常应用于画图标、显示文字以及选股公式出现连续信号时。 例如:当3日均线和5日均线金叉时在最低价位置标记“金叉”: MA3:=MA(CLOSE,3); MA5:=MA(CLOSE,5); AA:=CROSS(MA3,MA5); DRAWTEXT(AA,L,'金叉'); 这样有时就会出现“金叉”字重叠现象,杂乱难看。若过滤一下,舍去5天内重复出现的,则最后一句改为: DRAWTEXT(FILTER(AA,5),L,'金叉');就不会出现信号过多的现象了。 3、SUM 求和 用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。 例如:SUM(VOL,10),表示统计从10周期以来的成交量总和。这个好理解,就不多说了。 4、HHV 最高值 用法:HHV(X,N),求N周期内X的最高值,N=0则从第一个有效值开始。 例如:HHV(HIGH,30),表示求30日最高价。那么10天内的最高收盘价呢?HHV(C,10)。 另外还有一个与此相反的函数 最低值 LLV 原理与此相同。 5、MAX 最大值 用法:MAX(A,B)返回A和B中的较大值 例如:MAX(C,0),表示取得收盘价和开盘价中较大的值。若求开盘价、收盘价和昨天收盘价中的最大值,则:MAX(MAX(C,0),REF(C,1));就是叠加一个最大值函数。 另外,还有一个相反函数:MIN,最小值,原理与最大值相同。 注:最大值与最高值是不能混用的。 6、COST 成本分布 用法:COST(20) 表示20%获利盘的价格是多少 即有20%的持仓量在该价格以下,其余80%在该价格以上,为套牢盘。 7、WINNER 获利盘比例 与成本分布相对应,都是计算获利情况的。 WINNER(10) 表示10元价格的获利盘比例; WINNER(CLOSE) 表示以收盘价卖出的获利盘比例,如该值返回0.2,表示在当天的收盘价上卖出,只有20%的人是赚钱的。 以上两个函数仅对日线分析周期比较有效。 以上两个函数在有些股软或《未来函数检测器》中被认定为未来函数。 据有人考证,该函数的在极个别的情况下确实出现过信号漂移现象。但一般情况下还是比较稳定的。 第十讲:系统常用指标原理解析 (说明:本文内容为已有书籍中摘录整理,与同学们共享) 例一、BIAS乖离率 指标原理:BIAS是运用股价指数与移动平均值的比值关系,观测股价偏离移动平均线的程度,以此决定投资者的买卖行为。 计算方法 :(当日收盘价-当日MA均线值)/当日MA均线值*100 BIAS1:(CLOSE,MA(CLOSE,L1))/MA(CLOSE,L1)*100; BIAS2:(CLOSE,MA(CLOSE,L2))/MA(CLOSE,L2)*100; BIAS3:(CLOSE,MA(CLOSE,L3))/MA(CLOSE,L3)*100; 应用原则:偏离率与移动平均值一致时,偏率为0,偏离率为正值时,偏离率在移动平均线上方,说明股市呈上升趋势;偏离率为负值时,偏离率在移动平均线下方,说明股市有下跌趋势;Y值偏离移动移动平均线的界定范围大体在15%至-15%,即:当Y值在0-15%时,可适当卖出股票,股价有可能反跌,当Y值在0-15%时,可适当买入股票,股价有可能反弹。 例二、MACD(柱线的编写实例) 指标原理:MACD实质上是基于BIAS乖离率的变形应用。它是利用二条不同速度(一条变动的速率快--短期的移动平均线,另一条较慢--长期的移动平均线)的指数平滑移动平均线来计算,二者之间的差异状况(DIF)作为研判行情的基础,然后再求其DIF之9日平滑移动平均线,即MACD线,MACD实际就是运用快速与慢速移动平均线聚合与分离的征兆,来研判买进与卖出的时机和讯号。 计算方法:EMA:指数平滑移动平均线 N:周期 DIFF:乖离率 DEA:离差平均值 移动平均线(12日EMA)=前一日EMA*/1-2/(N+1)+今日收盘价*2/(N+1) DIFF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:EMA(DIFF,M); MACD:2*(DIFF-DEA),COLORSTICK; 在最后一句话当中,2是实际一个常数参数,它在这里的作用在于放大效果。 应用原则: 1、DIF与DEA均为正值时,大势属多头市场; 2、DIF与DEA均为负值时,大势属空头市场; 3、DIF向上突破DEA时,可买入; 4、DIF向下突破DEA时,应卖出; 例三、RSI指标 指标原理:该指标根据估价“择强汰弱”的原理,以特定时期内股价的变动情况推测价格未来的变动方向,并根据股价涨跌幅度显示市场的强弱,通过比较一段时期内的平均收益涨数和平均收盘跌数来分析市场买卖盘的意向和实力,从而作出未来市场的走势的分析。 计算方法:计算公式为:rsi=n日内收盘涨幅平均值/n日内收盘涨跌幅绝对值的平均值的平均值*100。 编写要点: 该指标由两条指标线组成,编写出其一,其他的依次类推;涨幅的表达用“今日收盘-前日收盘”,即“LC:=CLOSE-REF(CLOSE,1)”表示;ABS(X)表示求得绝对值;MAX(CLOSE-LC,0),表示如果本周期上涨即得上涨值,否则取0,很多时候我们利用MAX函数使变量和0进行比较,然后求得变量中的正值。 LC:=REF(CLOSE,1); RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100; RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100; RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100; 应用原理: RSI取值超过50,表明市场进入强势。RSI低于50,表明市场处于弱势。 短期的RSI在20以下的水平,由下往上交叉长期的RSI时,为买进讯号。短期的RSI在80以上的水平,由上往下交叉长期的RSI时,为卖出讯号。 从RSI与股价的背离方面判断行情,RSI处于高位,并形成一峰比一峰低的两个峰,而此时,股价却对应的是一峰比一峰高,这叫顶背离。股价这一涨是最后的衰竭动作。这是比较强烈的卖出信号。RSI在低位形成两个依次上升的谷底,而股价还在下降,这是最后一跌或者说是接近最后一跌,是可以开始建仓的信号。 连接RSI连续的两个底部,划出一条由左向右上方倾斜的切线,当RSI向下跌破这条切线时,是一个很好的卖出讯号。连接RSI连续的两个峰顶,划出一条由左向右下方倾斜的切线,当RSI向上突破这条切线时,是一个很好的买进讯号。 例四、KDJ指标 KDJ随机指标是欧美期货常用的一套技术分析工具。KD线的随机观念,远比移动平均线实用很多。因为移动平均线在习惯上其以收盘价来计算,无法表现出一段行情的真正波幅。 编写要点:RSV的计算方法为收盘价和N1天内的最高和最低的差的比值,使用函数HHV、LLV可以轻松地得到最高和最低; RSV:=(CLOSE-LLV(LOW《N1))/(HHV(HIGH,N1)-LLV(LOW,N1))*100; K:SMA(RSV,N2,1); D:SMA(K,N3,1); J:3K-2D 买卖原则:K值由右边向下交叉D值作卖,K值由右边向上交叉D值作买。 D值<20%超卖,D值>80%超买;J>100%超买,J<100%超卖,KD值于50%左右徘徊或交叉时,无意义。 例五、OBV指标 指标原理:有些人把每一天的成交量看作像海里的潮汐一样,形象地称OBV为能量潮。我们可以利用OBV验证当前股价走势的可靠性,并可以由OBV得到趋势可能反转的信号,对于准确预测未来是很有用的,比起单独使用成交量,OBV比成交量看得清楚。 计算方法:OBV构成的基本原理,是根据潮涨潮落的原理。每一天的成交量可以理解成潮水,但这股潮水是向上还是向下,是保持原来的方法,还是中途回落?这个问题就有当天的收盘价与昨天的收盘价的大小比较而决定。 1、如果今收盘价≥昨收盘价,则这一潮水属于多方的潮水, 2、如果今收盘价<昨收盘价,则这一潮水属于空方的潮水。 SUM(IF(CLOSE>REF(CLOSE,1),VOL,IF(CLOSE<REF(CLOSE,1),-VOL,0)),0) 买卖原则:OBV不能单独使用,必须用股价曲线结合使用才能发挥作用。从OBV的取值大小不能得到任何结论。我们关心的只是近日的OBV曲线的相对走势,而OBV的取值的绝对数字对我们是没有用处的。OBV曲线的上升和下降对我们进一步确认当前股价的趋势有着很重要的作用。股价上升(或下降),而OBV也相应地上升(或下降),则我们可以更相信当前的上升(或下降)趋势。股价上升(或下降),但OBV并未相应的上升(或下降),则我们对目前的上升(或下降)趋势的认可程度就要打折扣。这就是背离现象。OBV已经提前告诉我们趋势的后劲不足,有反转的可能。在股价进入盘整区后,OBV曲线会率先显露出脱离盘整的信号,向上或向下突破。 例六、BOLL指标 指标原理:利用统计学原理,求出股价的标准差及其信赖区间,其上下限的范围不被固定,随股价的变动而表动。 计算方法:先规定一个标准差,再求算出一个上下限波动区间,其波动的上下限随股价浮动。 MID=N天的收盘价的均价; STD=N天的收盘价的标准差; UPPER=MID+离差系数*STD; LOWER=MIN-离差系数*STD; 编写要点:STD(X,N)表示计算标准差。首先得到一段时间N天的MA,然后按照您要设定的参数赋与标准差之后加减即得到上下两根BOLL线,中间的通道为BOLL通道。 MID:MA(CLOSE,N); UPPER:MID+P*STD(CLOSE,N); LOWER:MID-P*STD(CLOSE,N); 买卖原则: 1、当布林通道由宽变窄时,说明股价逐渐向中值回归,股市进入一个整理区间,投资者应以观望为主。 2、当通道由窄变宽时,意味着行情开始发生变化,如果股价逼近或穿过上限值,表明超买力量增强,股市可能会短期下跌,此时应卖出股票,反之,当股价逼近或穿过下限值时,表明超卖力量增强,股市可能会短期反弹,此时应买进股票。 3、柱体在布林通道中沿上限线运行,意味涨幅会持续。 例七、威廉指标W&R 指标原理:威廉指标是一种利用振荡点来反映市场超买超卖现象,预测循环周期内的高点和低点,从而提出有效的信号来分析市场短期行情走势,判断股市强弱分界的技术指标。 AA:=(HHV(HIGH,N)-CLOSE); BB:=(HHV(HIGH,N)-LLV(LOW,N)); W&R:100*AA/BB 买卖原则:当W&R高于80%,即处于超卖状态,行情即将见底,应当考虑买入。W&R低于20%,即处于超买状态,行情即将见顶,应当考虑卖出。在W&R进入高位后,一般要回头,如果这时股价还继续下跌,这就产生背离,是进货的信号。在W&R进入低位后,一般要反转,如果这时股价还继续上升,这就产生背离,是卖出的信号。W&R连续几次撞顶(底),局部形成双重或多重底(顶)则是(进货)出货的信号。 (全讲完) |
第六讲:均线(选股)的基本形态 提示:K线的初步平均。(O+H+L+C*2)/5; 或 (H+L+C*2)/4; 一般认为:收盘价是最有说服力的和最有价值的,它是每天激烈争夺的最后妥协。但也有人认为:收盘价固然重要,其他价格也是争夺的产物。所以将全天的几种价格因素都考虑进去更能反映每天的真实情况。 1、最简单的指标线 (1)均价线 就是 移动平均线MA,“MA”表示的就是计算平均值。 MA1=MA(CLOSE,5);5日平均线=(今天收盘价+昨天收盘价+.....--5天前的收盘价)/5; MA2=MA(CLOSE,10);10日平均线=(今天收盘价+昨天收盘价+......+10天前的收盘价)/10; (2)均量线 均价线会了,照着葫芦画瓢,把收盘价CLOSE换成成交量VOL就行了! 例:MA1:MA(VOL,5); MA2:MA(VOL,10); 2、再次平均 指将已有的均线(多条均线)相加后进行再平均。 MA1=MA(CLOSE,5); MA2=MA(CLOSE,10); (MA1+MA2)/2; 3、N日均线向上 (本题反映均线波浪式延伸过程中某阶段的形态。) AA:=MA(C,N); BB:=REF(AA,1); AA>BB 均线向下呢? AA< BB 就可以了。 N日均线走平怎么表述?AA=BB 4、均线由下跌状态刚刚转为上升 AA:=MA(C,N); COUNT(AA<REF(AA,1),6)=5? ?//用来确认前5日处于下跌状态 AND AA>REF(AA,5); 5、年线拐头向上 A250:=MA(C,250); REF(A250,1)<REF(A250,2) AND A250>REF(A250,1); 6、两条均线交叉 股软中专门设定了一条函数来描述两条线交叉:CROSS(X,Y) ,此函数通用。 假如两条均线一条名叫X,另外一条叫Y 且(X<Y) CROSS(X,Y)表示X向上穿过了Y 通称:金叉 CROSS(Y,X)表示Y向上穿过了X 通称:死叉 特别提示:交叉有两种,一种是向上交叉,另一种是向下交叉。如果要求向上交叉时,X线必须比前一天高,所以需要加上 X>REF(X,1) 。完整的表达式为:CROSS(X,Y)AND X>REF(X,1) 加餐: 上述交叉是不限制周期的,有时我们会感到交叉特别频繁,如何取得他们较长时间交叉一次的数据呢,系统提供了另一个函数: LONGCROSS(X,Y,N) 两条线维持N周期后交叉。如果N等于15,则X Y两条线超过15天后交叉有效,否则不输出。 7、多次金叉(以常见的MACD指标为例) (1)二次金叉 (COUNT(CROSS(DIF,DEA),20)=2 AND CROSS(DIF,DEA); (2)二次死叉 COUNT(CROSS(DEA,DIF),20)=2 AND CROSS(DEA,DIF); (3)0轴上二次金叉 COUNT(CROSS(DIF,DEA) AND DEA>0,20)=2 AND CROSS(DIF,DEA) AND DEA>0; (4)0轴上三次金叉 COUNT(CROSS(DIF,DEA) AND DEA>0,20)=3 AND CROSS(DIF,DEA) AND DEA>0; 8、三线金叉 A5:=MA(C,5); A10:=MA(C,10); A30:=MA(C,30); AA:=CROSS(A5,A10); BB:=CROSS(A5,A30); CC:=CROSS(A10,A30); COUNT(AA,3)=1 AND COUNT(BB,3)=1 AND COUNT(CC,3)=1; 9、三线同时金叉 A5:=MA(C,5); A10:=MA(C,10); A20:=MA(C,20); AA:=CROSS(C,A5); BB:=CROSS(C,A10); CC:=CROSS(C,A20); AA AND BB AND CC; 10、均线多头排列 A1:=MA(C,N1); A2:=MA(C,N2); A3:=MA(C,N3); A4:=MA(C,N4); A1>A2 AND A2>A3 AND A3>A4; 11、均线空头排列3天以上 A1:=MA(C,N1); A2:=MA(C,N2); A3:=MA(C,N3); A4:=MA(C,N4); COUNT(A1< A2 AND A2< A3 AND A3< A4,3)>=3; 12、向前N日至M日出现过均线死叉(P1< P2) AA:=MA(C,P1); BB:=MA(C,P2); CC:=REF(CROSS(BB,AA),N); COUNT(CC,M); 13、均线粘合 MA1:=MA(C,5); MA2:=MA(C10); MA3:=MA(C,20); P1:=ABS(MA1-MA2)+ABS(MA2-MA3); P1/C<1/100 AND MA1>REF(MA1,1) AND MA2>REF(MA2,1); 14、均线粘合(另种表达式) MA1:=MA(C,5); MA2:=MA(C,10); MA3:=MA(C,30); A:=MAX(MAX(MA1,MA2),MA3); B:=MIN(MIN(MA1,MA2),MA3); COUNT(ABS(A-B)/B<0.01,3)=3;表示已粘合3天(含3天)以上 15、多条均线粘合 如5、10、20、30、120、250日移动平均线粘合 aa:=(ma(c,5)+ma(c,10)+ma(c,20)+ma(c,30)+ma(c,120)+ma(c,250))/6; up:=aa*n/100+aa; down:=aa-aa*n/100; count(BETWEEN(ma(c,5),up,down) and BETWEEN(ma(c,10),up,down) and BETWEEN(ma(c,20),up,down) and BETWEEN(ma(c,30),up,down)and BETWEEN(ma(c,120),up,down) and BETWEEN(ma(c,250),up,down),m)=m; n(2,1,500) m(10,1,100) 调整参数n为粘合程度,n值越小粘合的程度越高,即均线距离越近;m为粘合周期。 16、乖离均线 BIAS1:(CLOSE-MA(CLOSE,N))/MA(CLOSE,N)*100; 当日股价与N日均线的乖离率=(当日股价-N日均价)/N日均价*100; 特别提示:乖离均线是由乖离率的“点”连成的均线。 此线虽非普通均线,因常用,故单提出来。 原理:以当日的均线价格为准,股价和均价之间的差距称为乖离程度,以乖离程度除以均价的百分比就是乖离率。 问题一:大盘涨跌幅度,对应到各股是不同的。比如:大盘下跌1%,各股分别应下跌多少(假设各股之间没有强弱之分)才能对应。 答:(INDEXC/REF(INDEXC,1)-1)/1400; 问题二:我们知道,每一天的交易中,涨停版、跌停版、上涨家数、下跌家数代表了今天的大势的强弱,我想做一组指标线;如下: A1:=IF(CLOSE/REF(CLOSE,1)>=1.097,1,0); 涨停:MA(SUM(A1,1),1)*50; B1:=IF(CLOSE/REF(CLOSE,1)<=0.98,1,0); 跌停:MA(SUM(B1,1),1)*50; A2:=INDEXADV; 上涨:MA(A2,1)/10; B2:=INDEXDEC; 下跌:MA(B2,1)/10; 这样得到了上涨和下跌的家数,但是表示涨停、跌停不对,得不到指标线?望能指教!! 可能的话准备改编成类似VOL指标的柱状图和平均线 答:这样编写不对路。大致方法是将你的 A1 B1 两个条件,单独建立两个公式,然后进行横向统计,再引用回来。 第七讲从源码中提取选股公式 要点:从后往前找,删除没用条,去掉修饰符,个别加等号。 例一:找出买点 VAR1:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100); VAR2:=SMA(VAR1,5,1); VAR3:=SMA(VAR2,8,1); H1:EMA(CLOSE,8),LINETHICK1; H2:EMA(H1,20),LINETHICK1; VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 < 20)); VAR5:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND VAR4); VAR6:=IF((CLOSE > 1000),VAR4,VAR5); M1:EMA(CLOSE,60); M2:EMA(CLOSE,89); M3:EMA(CLOSE,233),LINETHICK1; M4:EMA(CLOSE,583),LINETHICK1; STICKLINE((H1 > H2),H1,H2,1,0.8); STICKLINE((H1 < H2),H1,H2,1,0.8); DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'买'); DRAWTEXT(VAR6,(HIGH * 1.08),'卖'); 分解说明: VAR1:=(((HHV(HIGH,36) - CLOSE) / (HHV(HIGH,36) - LLV(LOW,36))) * 100); VAR2:=SMA(VAR1,5,1); VAR3:=SMA(VAR2,8,1); H1:EMA(CLOSE,8),LINETHICK1; H2:EMA(H1,20),LINETHICK1; VAR4:=(CROSS(VAR2,VAR3) AND (VAR3 < 20)); VAR5:=((CLOSE > (LLV(CLOSE,60) + (0.3 * LLV(CLOSE,60)))) AND VAR4); VAR6:=IF((CLOSE > 1000),VAR4,VAR5); M1:EMA(CLOSE,60); M2:EMA(CLOSE,89); M3:EMA(CLOSE,233),LINETHICK1; M4:EMA(CLOSE,583),LINETHICK1; STICKLINE((H1 > H2),H1,H2,1,0.8); STICKLINE((H1 < H2),H1,H2,1,0.8); 第一步{从后往前找}找到下面这行“买”的输出语句。然后看这条语句的基本条件。 DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'买'); 查看结果:输出文字 交叉 条件,条件 直 接 输 出 语 句 输出位置 文字 DRAWTEXT(VAR6,(HIGH * 1.08),'卖'); 知道“基本条件”为 H1,H2,那么与此没有任何关系的语句从后往前删除。删的办法有两种:一是直接删掉;二是先用{}括上,待没问题时再一次性删除。加蓝色的为找到的不输出语句。 第二步{删除没用条}后,剩下的有用语句: H1:EMA(CLOSE,8),LINETHICK1; {加蓝的为修饰类函数,原则一律删除。} H2:EMA(H1,20),LINETHICK1; DRAWTEXT((CROSS(H1,H2) AND (CLOSE < EMA(CLOSE,60))),(LOW * 0.92),'买'); 第三步{去掉修饰符} 分别去掉:指标线粗细、显示文字、文字位置函数和文字 H1:EMA(CLOSE,8); H2:EMA(H1,20); CROSS(H1,H2) AND CLOSE < EMA(CLOSE,60); 第四步{个别加等号} 条件选股只能输出一条语句,上面这三行为全部输出,所以,作为“条件”的前两行还必须在冒号后面加上等号,表达不输出。结果: H1:=EMA(CLOSE,8); H2:=EMA(H1,20); CROSS(H1,H2) AND CLOSE < EMA(CLOSE,60); 例二、找出笑脸和买入信号 以本人发过的《跟庄建仓》为例。 A01:=DYNAINFO(7); A03:=BARSCOUNT(CLOSE); A04:=(SMA((CLOSE / HHV(HIGH,120)),3,1) * 100); A05:=IF((A03 > 20),A04,0); A06:=IF((LOW > A01),0,IF((HIGH < A01),1,(((A01 - LOW) + 0.009) / ((HIGH - LOW) + 0.009)))); A07:=DMA(A06,(VOL / CAPITAL)) * 60; A09:=IF((((A07 > 0) AND (A07 > REF(A07,1))) AND (A05 <= 88)),A07,0); Var1:=3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1); Var2:=EMA(Var1,8); Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1); 趋势:=EMA(Var3,3)-10; FILLRGN(趋势>80,趋势,80); DRAWICON(CROSS(趋势,0),0,1); FILLRGN((A09 > 0 AND (趋势<20 OR 趋势>REF(趋势,1)AND 趋势<50)),0,A09),colorFFFF00; 机构建仓区:0,LINETHICK0,colorFFFF00; Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; STICKLINE(趋势<=13,0,20,5,0),colorcc9900; DRAWTEXT(FILTER(趋势<=13,15),30,'准备现金'),colorcc9900; STICKLINE(趋势<=13 AND Var4>13,0,50,5,0),color0099ff; Var5:=FILTER((趋势<=13 AND Var4>13),10); DRAWTEXT(Var5,60,'买入'),color0099ff; STICKLINE(趋势>=90 AND Var4,0,30,5,0),colorgray; Var6:=FILTER(趋势>=90,10); DRAWTEXT(Var6,40,'清仓'),colorgray; Var7:=LLV(LOW,30); Var8:=HHV(HIGH,30); Var9:=EMA((CLOSE-Var7)/(Var8-Var7)*4,4)*25; STICKLINE(Var9>90,100,105,10,2),COLORRED; STICKLINE(CROSS(Var4,-40),10,55,6,0),COLORRED; Var10:=(Var9-LLV(Var9,4))/(HHV(Var9,4)-LLV(Var9,4))*100; DRAWTEXT(IF(CROSS(Var9,Var10) AND Var9>87,95,0),88,'险'),Color00FF00,ALIGN1; DRAWICON(CROSS(90,Var9),95,9); Var11:=SMA(ABS(L-REF(L,1)),3,1)/SMA(MAX(L-REF(L,1),0),3,1)*100; Var12:=HHV(Var11,30)*8; 火焰山:EMA(IF(LOW<=Var7 AND 趋势<40,(Var11+Var12),0),3)/618,COLORRED,linethick2; STICKLINE(火焰山>0,0 ,火焰山*1.2,8,0 ),COLORRED; Var13:=(MA(C,1)+MA(C,3)+MA(C,5)+MA(C,7)+MA(C,9))/5; Var14:=(MA(C,2)+MA(C,4)+MA(C,6)+MA(C,8)+MA(C,10))/5; 趋势线: 趋势,colorff0000; Var16:=MAX(EMA(Var13,2)-EMA(Var14,5),0)*200; Var17:=EMA(Var16,5); 波浪峰:Var17,stick,colorff00ff; STICKLINE(Var17<REF(Var17,1),0,Var17,1,0),color00ff00; Var18:=MA(趋势线,8); if(CROSS(Var2,Var18) AND Var2<15,50,0),COLORRED; DRAWTEXT(CROSS(趋势线,Var2)AND 趋势线>REF(趋势线,1)AND 趋势线<50,50,'追涨'),COLORFF0000; 分析:这个公式输出语句非常多,但多数都是用于趋势判断的。所以不用管它。仍按我们既定的思路进行。 第一步{从后往前找},先删除发出信号关键语句之后的(红色为输出语句,它以下的语句已经删去,蓝色为等待下步删除的) A01:=DYNAINFO(7); A03:=BARSCOUNT(CLOSE); A04:=(SMA((CLOSE / HHV(HIGH,120)),3,1) * 100); A05:=IF((A03 > 20),A04,0); A06:=IF((LOW > A01),0,IF((HIGH < A01),1,(((A01 - LOW) + 0.009) / ((HIGH - LOW) + 0.009)))); A07:=DMA(A06,(VOL / CAPITAL)) * 60; A09:=IF((((A07 > 0) AND (A07 > REF(A07,1))) AND (A05 <= 88)),A07,0); Var1:=3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1); Var2:=EMA(Var1,8); Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1); 趋势:=EMA(Var3,3)-10; FILLRGN(趋势>80,趋势,80); DRAWICON(CROSS(趋势,0),0,1); FILLRGN((A09 > 0 AND (趋势<20 OR 趋势>REF(趋势,1)AND 趋势<50)),0,A09),colorFFFF00; 机构建仓区:0,LINETHICK0,colorFFFF00; Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; STICKLINE(趋势<=13,0,20,5,0),colorcc9900; DRAWTEXT(FILTER(趋势<=13,15),30,'准备现金'),colorcc9900; STICKLINE(趋势<=13 AND Var4>13,0,50,5,0),color0099ff; Var5:=FILTER((趋势<=13 AND Var4>13),10); DRAWTEXT(Var5,60,'买入'),color0099ff; 第二步{删除没用条}后 Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1); 趋势:=EMA(Var3,3)-10; DRAWICON(CROSS(趋势,0),0,1); Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; Var5:=FILTER((趋势<=13 AND Var4>13),10); DRAWTEXT(Var5,60,'买入'),color0099ff; 第三步{去掉修饰符后}: 趋势:=EMA(Var3,3)-10; CROSS(趋势,0); Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; Var5:=FILTER((趋势<=13 AND Var4>13),10); Var5; 第四步{个别加等号}本公式中的“条件”语句都是不输出的,所以此项省略,但因是要笑脸和买入两个信号,所以还必须把它们连结起来: Var3:=3*SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1)-2*SMA(SMA((C-LLV(L,55))/(HHV(H,55)-LLV(L,55))*100,5,1),3,1); 趋势:=EMA(Var3,3)-10; Var4:=(趋势-REF(趋势,1))/REF(趋势,1)*100; Var5:=FILTER((趋势<=13 AND Var4>13),10); CROSS(趋势,0)or Var5; 习题一:10日均线与20日均线金叉和涨幅超过百分之三,且成交量比昨天放大一倍。做了如下操作: 1,MA1:=MA(CLOSE,10);MA2:=MA(CLOSE,20);CROSS(MA1,MA2); 2,C:=CLOSE/REF(CLOSE,1)>3/100; 3,V:=VOL/REF(VOL,1)>2; 4,CROSS(MA1,MA2)ANDCLOSE/REF(CLOSE,1)>3/100AND(VOL/VOL,1)>2; 但我完成测试时电脑不给通过 上面提示说"行2:缺少;" 请问我是哪里错了? 答:1、收盘价等专用函数如(C,O,H,L,V,AND,OR)是不能作为引导语句的。 2、后面输出和前面交待的条件多处重复。 整理后的: MA1:=MA(CLOSE,10); MA2:=MA(CLOSE,20); CROSS(MA1,MA2)ANDCLOSE/REF(CLOSE,1)>3/100 AND VOL/(VOL,1)>2; 或者: MA1:=MA(CLOSE,10); MA2:=MA(CLOSE,20); AA:=CROSS(MA1,MA2); BB:=CLOSE/REF(CLOSE,1)>3/100; VV:=VOL/REF(VOL,1)>2; AA AND BB AND VV; 编写公式如同做数学题,要有一个反复领会和实践的过程,不能指望一蹴而就。 没事时打开公式编辑器,从简单的入手,编几个,看看图形,慢慢就会,熟能生巧。 第八讲 函数的综合运用 第一部分:引用已有公式中的数据 基本引用例一 "macd. diff", "macd.dea"; 基本格式: 指标名称 语句名称 (注意:必须用双引号引上) 加入参数例二 "kdj. k" (9,3,3) ; 基本格式:指标名称 语句名称 参数 (指标名称和语句名称之间用隔点.隔开) 加入参数例三 周m:"macd. diff #WEEK"; 引用周线:指标名称 语句名称 周函数 (注意:周函数前加#字号) 月K:"kdj.k#MONTH"; 引用月线同上,只是换成月函数。 应用实例:主图 顶底背离 A1:=BARSLAST(ref(cross("macd.diff"(12,26,9),"macd.dea"(12,26,9)),1)); B1:=ref(c,A1+1)>c and ref("macd.diff"(12,26,9),A1+1)<"macd.diff"(12,26,9) and cross("macd.diff"(12,26,9),"macd.dea"(12,26,9)); MACD底背离:STICKLINE(FILTER(B1>0,5),0,0.75,3,0),COLOR00FF00; DRAWTEXT(FILTER(B1>0,5),0.57,'MACD底背离'),COLOR00FF00; A2:=BARSLAST(ref(cross("kdj.k"(9,3,3),"kdj.d"(9,3,3)),1)); B2:=ref(c,A2+1)>c and ref("kdj.k"(9,3,3),A2+1)<"kdj.k"(9,3,3) and cross("kdj.k"(9,3,3),"kdj.d"(9,3,3)); KDJ底背离:STICKLINE(FILTER(B2>0,5),0,1,3,0),COLORYELLOW; DRAWTEXT(FILTER(B2>0,5),0.80,'KDJ底背离'),COLORYELLOW; A3:=BARSLAST(ref(cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)),1)); B3:=ref(c,A3+1)>c and ref("RSI.RSI1"(6,12,24),A3+1)<"RSI.RSI1"(6,12,24) and cross("RSI.RSI1"(6,12,24),"RSI.RSI2"(6,12,24)); RSI底背离:STICKLINE(FILTER(B3>0,5),0,0.5,3,0),COLORFFCC66; DRAWTEXT(FILTER(B3>0,5),0.25,'RSI底背离'),COLORFFCC66; DRAWTEXT(FILTER(D1>0,5),1.47,'MACD顶背离'),COLOR0066FF; C2:=BARSLAST(ref(cross("kdj.d"(9,3,3),"kdj.k"(9,3,3)),1)); D2:=ref(c,C2+1)"kdj.k"(9,3,3) and cross("kdj.d"(9,3,3),"kdj.k"(9,3,3)); KDJ顶背离:STICKLINE(FILTER(D2>0,5),2,1,3,0),COLORRED; DRAWTEXT(FILTER(D2>0,5),1.2,'KDJ顶背离'),COLORRED; C3:=BARSLAST(ref(cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)),1)); D3:=ref(c,C3+1)"RSI.RSI1"(6,12,24) and cross("RSI.RSI2"(6,12,24),"RSI.RSI1"(6,12,24)); RSI顶背离:STICKLINE(FILTER(D3>0,5),2,1.5,3,0),COLORFF00FF; DRAWTEXT(FILTER(D3>0,5),1.75,'RSI顶背离'),COLORFF00FF; 第二部分 逐步增加函数 以均线为例,主图: 基本句型 MA5:MA(C,5); MA10:MA(C,10); MA30:MA(C,30); MA60:MA(C,60); 增加颜色(注:在没有颜色输出符号时,系统会自动加上颜色) MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW; 将10日均线变成小圆圈线 MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0,CIRCLEDOT; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW; 将60日均线加粗 MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0,CIRCLEDOT; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW,LINETHICK3; 在5日均线金叉10日均线处显示符号 MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0,CIRCLEDOT; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW,LINETHICK3; 金叉:=CROSS(MA5,MA10); DRAWICON(金叉,L,1); DRAWTEXT(金叉,L,'金叉'); STICKLINE(金叉,H,L,6,0); (注:这三种显示方式用其中一种就行) 30日均线向上时显示红色,否则为绿色 MA5:MA(C,5),COLORBLUE; MA10:MA(C,10),COLORF00FF0,CIRCLEDOT; MA30:MA(C,30),COLORFFFF00; MA60:MA(C,60),COLORYELLOW,LINETHICK3; 金叉:=CROSS(MA5,MA10); DRAWICON(金叉,L,1); DRAWTEXT(金叉,L,'金叉'); STICKLINE(金叉,H,L,6,0); PARTLINE(MA30>=REF(MA30,1),MA30),COLORRED; PARTLINE(MA30<REF(MA30,1),MA30),COLOR00FF00; (注:最后两行为划分段线,大智慧没有此项功能,大智慧2和分析家 同花顺用下面这行) PARTLINE(MA30,MA30>=REF(MA30,1),RGB(255,0,0),MA30<REF(MA30,1),RGB(0,255,0),1); 通达信用下面这两行: IF(MA30>=REF(MA30,1),MA30,DRAWNULL),COLORRED; IF(MA30<REF(MA30,1),MA30,DRAWNULL),COLOR00FF00; |
第五讲:各种形态的描述 懂得运用公式编辑器,掌握了公式的基本函数,就可以进行简单的公式编写了。下面我们共同认识一下公式的基本语句。这些基本语句,是编写公式和整理选股公式信号的基础,大家要熟知。 一、K线的基本形态 1、当天收阳:CLOSE>OPEN; 2、当天收阴:CLOSE<OPEN; 3、当天股价高开,言下之意开盘高于昨日收盘:OPEN>REF(CLOSE,1); 4、当天股价低开:OPEN<REF(CLOSE,1); 5、跳空高开:OPEN>REF(HIGH,1);当日开盘在昨日最高价之上 6、跳空低开:POEN<REF(LOW,1); 7、长阳:C/O>1.03 或者 (C-O)/O*100>5 或者 (C-O)/O>0.05 意思是收盘价比开盘价上涨5%以上。当然,用7%以上也可。 8、长阴:C/O<0.94; 注意:同一语句可有多种表述,此为其一。 9、高开大阴:O/REF(C,1)>1.04 AND C/O<1.94; 今天开盘比昨天收盘高出4%和收盘价较开盘下降6%。低开大阳与此正好相反。 10、标准十字星:CLOSE=OPEN AND HIGH<>LOW 更多见的是近似十字星。例:ABS(C-O)<0.02 AND H-C>0.03 AND C-L>0.03; 该语句用上了一个函数:ABS,意思是求绝对值。这样,该近似十字星即可能是阳星也可能是阴星。 再认识两个函数:MAX(A,B) 求A和B中的最大值。 MIN(A,B) 求A和B中的较小值 有了这两个函数,近似十字星还可这样表述:ABS(C-O)<0.02 AND H> MAX(C,O) AND L< MIN(C,O); 另外,该公式还可以用比例数编写。 11、长下影线:也有收阴收阳之分。以阳线长下影线为例:C>O AND (O-L)>(C-O);此公式只表达了下影线比实体线长,并没有表达长度比例和有无上影线。 留个习题吧:不限制阴阳线,上影小于5分钱,下影线是实体的两倍以上。 形态还有许多,有几十种,不一一例举了,大家举一反三,慢慢摸索吧。 二、条件选股的基本形态 1、阶段最高价:HHV(H,N) 意思是取得N天之内的最高价。新函数:HHV,最高值。 2、阶段最低价:LLV(L,N)意思是取得N天之内的最低价。新函数:LLV,最低值。 3、阶段涨幅 (C-REF(C,N))/REF(C,N)*100 N日收盘价的差值的百分比。 4、再创新高 HIGH=HHV(HIGH,N) 是指今日最高价是N日以来的最高价.。 再创新低:略。 5、放量: (1)今日比昨日的成交量放大了1倍: VOL/REF(VOL,1)>2; (2)今日的五日均量比前五天的五日均量放大了3倍: AA:=MA(VOL,5); BB:=REF(AA,5); AA/BB>4; (3)今天的成交量达到了整个流通盘的10%以上: VOL/CAPITAL>10/100; 注意,10%的表达式是10/100,或者0.1 6、缩量: (1)今日比昨日的成交量缩小了1倍: VOL/REF(VOL,1)<0.5; (2)今日的五日均量比前五天的五日均量缩小了一半: AA:=MA(VOL,1)<0.5; BB:=REF(AA,5); AA/BB<0.5; (3)今天的成交量不足整个流通盘的0.5%: VOL/CAPITAL<0.5/100; 7、放量上攻 是指价格上扬,成交量剧增 C/REF(C,5)>1.2 AND VOL>MA(VOL,5)*3; 表示5日上涨20%和成交量超过5日均量的3倍。 8、持续放量:COUNT(V>REF(V,1),N)=N; 实际上这种情况不是很多。如果用3日均量,或5日均量则非常普遍。即:COUNT(MA(V,3)>REF(MA(V,3),1),N)=N; 9、阶段放量 N(1,100,10) M(1,100,5) SUM(VOL,N1)/CAPITAL>=(N/100)??M日内换手率大于百分之N 10、温和放量上攻 M(2,10,3) N(1,40,10) UP:=MAX(C,O)>REF(MAX(C,O),1); A:=VOL>REF(VOL,1); COUNT(IF((UP AND A),1,0),N)=N AND C>O AND (C-REF(MAX(C,OPEN),1))/REF(MAX(O,C),1)<=(3/100) AND VOL/CAPITAL<=(M/100) 连续N个周期放大并保持上涨势头 当日换手率小于 M% 11、突然放量 N(1,300,10)M(1,40,3) VOL>REF(HHV(VOL,N),1)*M 成交量较前N周期的最大成交量增大M倍 12、上涨: C/REF(C,1)>1.07;今日涨幅达到了7%以上。 注意:涨幅是指当天收盘价与昨天的收盘价之比。 13、下跌: 同上面的表达方式一样,将方向改变了而已。 14、十日均价继续上涨: AA:=MA(C,10); BB:=REF(AA,1); AA>BB; 15、窄幅整理:就是指近一段时期价格维持在一定幅度之内 (HHV(C,20)-LLV(C,20))/C<0.08 ;即20日内价格振幅在8%以内波动。 16、连续N天收阳:COUNT(C>O,N)=N; 特别提示:新函数:COUNT(X,N),统计满足条件的周期数。若N=0则从第一个有效值开始。 例:COUNT(C<O,10) 表示统计10周期内收阴的周期数。此句使用时必须加上条件,即收阴时怎么了方才有效。如:AA AND COUNT(C<O,10) 的返回值仍是AA,只有AA AND COUNT(C<O,10)<=3;时,即加上条件“小于等于3”周期时,才有实际意义。这个函数经常用到,务请留意。 17、N日内阳线多于阴线:COUNT(C>O,N)>N/2; 18、创历史新高:C=HHV(C,0); 特别提示:此公式本应为:C=HHV(C,N); 当N等于0时,从第一天开始统计。统计历史数据时,如果从头开始,都用0。 19、尾盘拉升 HOUR>14 AND MINUTE>56 AND CLOSE/REF(CLOSE,2) >= 1+N/100 14:56以后2分钟涨幅超过N% 20、突破长期盘整 N(10,60,30) M(5,50,30) REF(((HHV(H,N)-LLV(L,N))/LLV(L,N)),1)<=(M/100)AND C>=REF(HHV(H,N),1) AND BARSCOUNT(C)>N 前N日在上下M%的幅度内整理,今日突破。 21、阶段强势股 N(700101,1341231,990519) M(700101,1341231,990913) A:=SUM(IF(DATE-N=0,INDEXC,0),0); B:=SUM(IF(DATE-M=0,INDEXC,0),0); E:=SUM(IF(DATE-N=0,C,0),0); F:=SUM(IF(DATE-M=0,C,0),0); ((F-E)/E)>((B-A)/A) 选择N日----M日之间内走势强于大盘的股票. 22、大盘同步选股 N(1,100,10)M(1,100,50) COUNT((C>O AND INDEXC>INDEXO) OR (C< O AND INDEXC< INDEXO),N)/N > M/100 N周期中与大盘走势相同(同收阴线或同收阳线)的比例超过M% 23、今收盘对于N日内最低收盘价的涨幅(%) (C-LLV(C,N))/LLV(C,N)*100; 24、今收盘对于N日内最高收盘价的跌幅(%) (HHV(C,N)-C)/HHV(C,N)*100; 25、股价在过去N日内运行空间的相对位置 (C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100; 26、股价上方N1%至N2%处的筹码(%) AA:=WINNER(C+C*N2/100)*100; BB:=WINNER(C+C*N1/100)*100; AA-BB 认识新函数:WINNER(CLOSE) 获利盘比例。表示以当前收市价卖出的获利盘比例,如返回0.2表示20%获利盘;例如:WINNER(10) 表示10元价格的获利盘比例。该函数仅对比较日线分析周期有效。 27、股价下方N1%至N2%处的筹码(%) (WINNER(C-C*N1/100)-WINNER(C-C*N2/100))*100; 28、收盘价N%处的套牢盘 100-(WINNER(C*N/100))*100; 29、收盘价N%处的获利盘 WINNER(C*N/100)*100; 三、基本面选股举例 1、小盘选股 CAPITAL<=500000 AND FINANCE(33)>=0.01 AND CLOSE<=30 2、低市盈率选股 DYNAINFO(39)<=N AND DYNAINFO(39)>0 3、业绩选股 N(0,100,0.4) FINANCE(33)>N 每股收益在0.4元以上 4、小盘股 N:=5000; FINANCE(7)<=N 5、大盘股 N:=20000; FINANCE(7)>=N 6、净资产收益率选股 FINANCE(37)>(N/100) 净资产收益率高于N的股票 7、每股净资产选股 FINANCE(34)>N 选出每股净资产大于N元的股票. 8、每股未分配利润选股 FINANCE(32)>N 每股未分配利润大于N的股票 9、市净率选股 C/FINANCE(34)< N 市净率=市价/每股净资产??市净率>N 市净率越低公司股价越有被低估的可能,这类股票从理论上讲具有更高的安全性. 10、换手率选股 DYNAINFO(37)>=N/100 单日换手率大于N的股票 换手率的计算公式或表达式:VOL/CAPITAL*100; 因此也可写作:VOL/CAPITAL*100>=N/100 11、掁幅:(H-L)/REF(C,1)*100; 注意:是比的昨天收盘价。 常见的问题: 问题一:压缩后的公式,解压后成了FNC文件,请问怎么加到公式管理器里去? FNC是大智慧2和分析家格式,只有这两个股软能够导入。导入的方法是:打开公式编辑器,点击导入---找到存放此公式的文件夹---双击---在出现的列表中掸单击该公式---选导入。 特别提示:必须先将公式存放在一个文件夹中,已有的,新建都可以。否则编辑器无法找到该公式。 对于大智慧1中不能用英文表示颜色只能用6位16进制代码的表示,要专门对照查找,很费时间, 这里我转几个针对线性和颜色函数方面的公式实例,做个参考吧。 1间隔点: 20,colorred,pointdot,linethick2; 80,colorred,pointdot,linethick2; 50,colorred,pointdot,linethick2; 2间隔线 20,colorred,linethick2; 80,colorred,linethick2; 50,colorred,linethick2; 3信号字 DRAWTEXT(RSI1<10,RSI1,'买'),Colorlime; DRAWTEXT(RSI1>85,RSI1,'卖'),Colorlime; 4笑哭脸 DRAWICON(VR24<25,VR24,1),ColorFF0000; DRAWICON(VR24>350,VR24,2),ColorFF0000; 5一线提示 cross("kdj.j"(9,3,3),"kdj.d"(9,3,3)) and "kdj.j"(9,3,3)<20,colorred 6一柱顶天 IF(VAR4=50,50,0),stick,linethick2; 7小人作怪 多头卒:Var3,LINETHICK2, COLORf00ff0; 空头卒:Var4,LINETHICK2, COLORYELLOW; DRAWICON(Var9,Var9,1); DRAWICON(Var10,Var10,2); 8小人 买入:Var1 AND Var2,stick,linethick2,colorred; 卖出:CROSS(80,Var4),stick,linethick2,colorgreen; drawicon(卖出,1.1,2); drawicon(买入,1.1,1); 9粗细面条 LINETHICK2 第3,4,6和7,还有8只要把RSI或VR或Var改成所在公式参数就可用;第5cross不能改,其它的可改;9你爱把线设多粗细都行。 1方块STICKLINE AA:=VOL/((HIGH-LOW)*2-ABS(CLOSE-OPEN)); 买盘:IF(CLOSE>OPEN,AA*(HIGH-LOW),IF(CLOSE<OPEN,AA*((HIGH-OPEN)+(CLOSE-LOW)),VOL/2)); 卖盘:IF(CLOSE>OPEN,0-AA*((HIGH-CLOSE)+(OPEN-LOW)),IF(CLOSE<OPEN,0-AA*(HIGH-LOW),0-VOL/2)); qq:=买盘+卖盘; STICKLINE(卖盘<0,0,VOL,5,1),COLORlime; STICKLINE(买盘>0,0,买盘,5,0),COLORRED; 结果:ma(qq,5)*5,COLORRED,LINETHICK2; VOL后面的5,1是方块大少。VOL是坐标,也就是方块所放的地方。 2 3D效果 STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,9,0 ),COLORaaaaaa; STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,6,0 ),COLORbbbbbb; STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,2.4,0 ),COLORcccccc; STICKLINE(OPEN>=CLOSE ,CLOSE ,OPEN,1.1,0 ),COLORdddddd; STICKLINE(CLOSE>OPEN,CLOSE,OPEN,9,0 ),COLOr6666cc; STICKLINE(CLOSE>OPEN,CLOSE,OPEN,6 ,0 ),COLOR7777dd; STICKLINE(CLOSE>OPEN,CLOSE,OPEN,2.4 ,0 ),COLOR8888ee; STICKLINE(CLOSE>OPEN,CLOSE,OPEN,1.1 ,0 ),COLOR9999ff; STICKLINE(CLOSE>OPEN,OPEN,LOW,0.5,0 ),COLOR1199ff; STICKLINE(CLOSE>OPEN,CLOSE,HIGH,0.5 ,0 ),COLOR1199ff; STICKLINE(OPEN>=CLOSE,CLOSE,LOW,0.5 ,0 ),COLORcccccc; STICKLINE(OPEN>=CLOSE,OPEN,HIGH,0.5 ,0 ),COLORcccccc; 3颜色 大智慧只能用浅色调,一用深绿深蓝就看不见了。所以我调了几个浅色的,够大智慧用的。 COLOR+RED;WHITE;LIME;YELLOW;aabbcc;ffaabb;abcdef;999999;C0C0C0. 4变色 变色可分3种: 1用DRAWTEXT: ma10:ma(c,10),colorwhite; llv(h,30),colorffcc66; llv(l,30),coloryellow; vhh:hhv(h,30),colorred; vhl:hhv(l,30),color00ff00; v1:=ma(HIGH,30)*1.15 ; v2:=ma(HIGH,3)*1.03; v3:=ma(LOW,3)*0.97; v4:=ma(LOW,30)*0.85; 小通道上:=ma(v2,30); 小通道下:=ma(v3,30); A2:=小通道上-REF(小通道上,1); A3:=小通道下-REF(小通道下,1); K:A2>0 and ref(A2<0,1),colorblue; K1:A3>0 and ref(A3<0,1),colorff00ff; K2:c<小通道下 and h<小通道下,color0099ff; K3:c<小通道下 and A3>0,colorffcccc; K4:h<小通道下 and A3>0,colorffbbff; DRAWTEXT(A2>0 ,小通道上,'°'),colorred; DRAWTEXT(A2<0 ,小通道上,'°'),color00ff00; DRAWTEXT(A3>0 ,小通道下,'°'),colorred; DRAWTEXT(A3<0 ,小通道下,'°'),color00ff00; DRAWTEXT(A2=0 ,小通道上,'°'),COLORWHITE; DRAWTEXT(A2=0 ,小通道下,'°'),COLORWHITE; DRAWTEXT(A3=0 ,小通道上,'°'),COLORWHITE; DRAWTEXT(A3=0 ,小通道下,'°'),COLORWHITE; 2用STICKLINE AA:=WINNER(C)*100; KA:=winner(O)*100; 高:=winner(H)*100; 低:=winner(L)*100; 庄筹线:EMA(AA*0.7,3),linethick2; 散筹线:EMA((WINNER(C*1.08)-WINNER(C*0.92))*70,3),linethick2; stickline(AA<KA,高,低,0,0),colorlime; stickline(AA<KA,AA,KA,6,0),colorlime; stickline(AA>=KA,高,低,0,0),colorred; stickline(AA>=KA,AA,KA,6,0),colorred; stickline(庄筹线>散筹线,庄筹线,散筹线,0,0),colorwhite; 3用IF 主图公式1: A1:=Ma(C,5);{5日移动平均线} A2:=Ma(C,10);{10日移动平均线} A3:=(A1+A2)/2;{5、10日移动平均线之和除2的平均线,也就是中心线} IF (A1>A2,A1,A3),Colorred,linethick2;{5日线大于10日且5日线交叉A3线显示粗红线} IF (A1>A2,A2,A3),Colorred,linethick2;{5日线大于10日且10日线交叉A3线显示粗红线} IF (A1<=A2,A1,A3),Color00ff00,linethick2;{5日线小于等于10日且5日线交叉A3线显示粗绿线} IF (A1<=A2,A2,A3),Color00ff00,linethick2;{5日线小于等于10日且10日线交叉A3线显示粗绿线} A3,colorwhite,linethick2;{中心线显示粗白线} 这是以中心线为轴通过A1、A2这两条线与中心线的交叉来变换颜色的。 主图公式2: MA1:=MA(CLOSE,5);{5日移动平均线} MA2:=MA(CLOSE,10);{10日移动平均线} MA3:=MA(CLOSE,20);{20日移动平均线} MA4:=MA(CLOSE,30);{30日移动平均线} MAA:=MA(CLOSE,60);{60日移动平均线} MA5:IF(MA1<MA4,MA1,MA4),COLOR00ff00;{MA1线小于MA4且MA1线交叉MA4线显示绿色线} IF(MA1<MA4,MA4,MA1),coloryellow;{MA1线小于MA4且MA4线交叉MA1线显示黄色线} MA10:if(ma2<ma4,ma2,ma4),colorffcc66;{MA2线小于MA4且MA2线交叉MA4线显示青色线} if(ma2<ma4,ma4,ma2),color0099ff;{MA2线小于MA4且MA4线交叉MA2线显示橘黄色线} MA20:if(ma3<ma4,ma3,ma4),colorwhite;{MA3线小于MA4且MA3线交叉MA4线显示白色线} if(ma3<ma4,ma4,ma3),colorblue;{MA3线小于MA4且MA4线交叉MA3线显示青色线} MA30:if(ma4<maa,ma4,maa),colorff00ff,linethick2;{MA4线小于MAA且MA4线交叉MAA线显示粉色粗线} if(ma4<maa,maa,ma4),colorred,linethick2;{MA4线小于MAA且MAA线交叉MA4线显示红色粗线} MA60:if(ma4>maa,maa,maa),linethick2,colorblue;{MA4线大于MAA且MAA线交叉MAA线显示兰色粗线} 这是分别以MA4、MAA线为轴通过向上交叉和向下交叉来变换颜色的。 单条变色线 ma10:ma(c,10); if(ma10>ref(ma10,1),ma10,0),Circledot,COLORRED,LINETHICK2; if(ma10<ref(ma10,1),ma10,0),Circledot,COLOR00FF00,LINETHICK2; 一、线形函数 线形函数要和其它指标函数一起用才能发挥效力,因为它们都是描述其它指标函数的。正确用好线形函数可以使主副图指标显示丰富多彩,色彩缤纷。 1、函数:STICK 说明:画棒状线,STICK的英文是棍、棒的意思。 如副图公式:C>REF(C,1) AND C>REF(C,2),STICK; 2、函数:COLORSTICK 说明:以零轴为中心画彩色棒状线,零轴下为阴线颜色,零轴上为阳线颜色,这样零轴就如楚汉交界,泾渭分明了。 如副图公式:C-REF(C,1),COLORSTICK; 3、函数:LINESTICK 说明:同时画棒状线与指标线。LINE是线,STICK是棒,LINESTICK自然是线棒一起显示了。如副图公式: A:=C-REF(C,1); A,LINESTICK; 即想显示指标线和棒状线,又想以零轴为中心上下显示两种彩色棒状线,可以用分开的两句语句来达到目的,如副图公式: A:=C-REF(C,1); A,LINESTICK; A,COLORSTICK; 4、函数:VOLSTICK 说明:画成交量柱状线。这是专门为显示成交量设计的。如副图公式: VOL,VOLSTICK; 5、函数:CROSSDOT 说明:画叉状线或x状线。CROSS是交叉,DOT是点。如副图公式: ma1:ma(c,30),CROSSDOT; 6、函数:CIRCLEDOT 说明:画小圆圈线,如副图公式: ma1:ma(c,30),CIRCLEDOT; 7、函数:LINETHICK 说明:改变指标线粗细。取1、2、3、4、5、6、7放在LINETHICK后面如:LINETHICK2,数字越大,线越粗,最大可取7。如副图公式: 例1:ma1:ma(close,30),COLORFF00FF,linethick2; 例2:A:=C-REF(C,1); A,COLORSTICK,LINETHICK4; 8、函数:POINTDOT 说明:画点状线,POINT是点、加点的意思。这个点状线看起来有点太小了,可以用加粗线函数。如副图公式: ma1:ma(c,30),COLOR00FF00,POINTDOT,LINETHICK2; 我们编个指标,看看都用了哪些线形函数。 {顶底指标} 股价趋势:3*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-2*SMA(SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1),COLORFF00FF,LINETHICK2; 底部警戒:10,COLORFFCCCC,POINTDOT; 买入警戒:IF(股价趋势<=10,40,0),stick,linethick3,coloryellow; 买入信号:IF(CROSS(股价趋势,底部警戒),80,0),stick,linethick3,colorblue; 强弱分界:50,COLORWHITE,POINTDOT,LINETHICK2; 顶部警戒:90,COLORFFCC66,POINTDOT; 卖出警戒:IF(股价趋势>=85,40,0),stick,linethick3,colorred; 卖出信号:IF(CROSS(股价趋势,顶部警戒),80,0),stick,linethick3,color00ff00; 指标解析: {顶底指标} 股价趋势:3*移动平均((收盘价-最低值(最低价,27))/(最高值(最高价,27)-最低值(最低价,27))*100,5,1)-2*移动平均(移动平均((收盘价-最低值(最低价,27))/(最高值(最高价,27)-最低值(最低价,27))*100,5,1),3,1),COLORFF00FF,LINETHICK2; 底部警戒:10,COLORFFCCCC,点状线; 买入警戒:条件函数(股价趋势<=10,40,0),棒状线,linethick3,coloryellow;{黄粗棒状} 买入信号:条件函数(交叉函数(股价趋势,底部警戒),80,0),棒状线,linethick3,colorblue;{蓝粗棒状} 强弱分界:50,COLORWHITE,点状线,LINETHICK2;{粗点状线} 顶部警戒:90,COLORFFCC66,点状线; 卖出警戒:条件函数(股价趋势>=85,40,0),棒状线,linethick3,colorred;{红粗棒状} 卖出信号:条件函数(交叉函数(股价趋势,顶部警戒),80,0),棒状线,linethick3,color00ff00;{绿粗棒状} 二、绘图函数 绘图函数的功能是在主图或副图上设定条件输出图标、直线、文字、数字、指标线、指标柱等。运用恰当使编制出的主副图指标给以视觉上的美感。 1、函数RAWICON 用法RAWICON(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 用法RAWLINE(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、函数RAWTEXT 说明:在图形上显示文字。 用法RAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT,可显示多行文本。 示例RAWTEXT(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,4,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; 绘图函数结合示例介绍完了,相信你一定有所收获吧,举一反三自己动手编个指标。不要怕失败,失败是成功之母。 三、背景装饰 飞狐、分析家股软能将背景颜色通过渐变颜色函数装扮的很漂亮,那么大智慧股软能做到吗?能,但做出的背景色虽不如飞狐、分析家平滑漂亮,也能起到装扮的作用,效果也可以。 在大智慧设计背景色的原理主要是通过主、副图的坐标用画柱线函数STICKLINE或者设定坐标用颜色代码就可以完成。下面用实例来说明背景色的设计过程。 一、单色背景色,这是最简单实用的一种装饰方法。我们先来设计一个主图指标: 要领:1、设定坐标:STICKLINE(CLOSE>0,h*9.0,l*0.01,8,0),color7d7f0f;意思是CLOSE>0条件满足时,在坐标h*9.0至坐标l*0.01处画宽度为8的实体柱线(也就是在整个主图上添色)。 也可以这样设定STICKLINE(110,0,110,8,0),color7d7f0f;显示的是同样效果。 2、添色的源码必须在指标的头条位置上,否则会覆盖均线、K线、文字等图形。 3、必须另外编制K线,因为背景色会覆盖系统中的K线图。 4、可以把背景色分为五档、十挡或更多,同时注意与你的指标的最大值、最小值(也就是坐标)相匹配,否则会在指标中出现背景色残缺不全的情况。 5、用你喜欢的颜色需要结合调色器可随意自定义自己喜欢的颜色。不过可得有耐心啊! 指标示例一: {多空密码主图} STICKLINE(CLOSE>0,h*9.0,l*0.01,8,0),color7d7f0f;{设置背景,可以将这句源码复制粘贴到任意主图指标的头条位置上} Var1:=(3*CLOSE+LOW+OPEN+HIGH)/6; Var3:=(20*Var1+19*REF(Var1,1)+18*REF(Var1,2)+17*REF(Var1,3)+16*REF(Var1,4)+15*REF (Var1,5)+14*REF(Var1,6)+13*REF(Var1,7)+12*REF(Var1,8)+11*REF(Var1,9)+10*REF (Var1,10)+9*REF(Var1,11)+8*REF(Var1,12)+7*REF(Var1,13)+6*REF(Var1,14)+5*REF (Var1,15)+4*REF(Var1,16)+3*REF(Var1,17)+2*REF(Var1,18)+REF(Var1,20))/221; Var4:=MA(Var3,78),LINETHICK2; Var5:=EMA(MA(CLOSE,3),34); Var6:=MA(Var3,5); Var7:=MA(Var3,9); M60:MA(C,60),COLOREEFFFF,CIRCLEDOT; STICKLINE(Var3>1.005*Var4,Var3,Var4,4,1),COLORYELLOW; STICKLINE(IF(Var3<Var5,Var3<=1.015*Var4,Var3<=1.005*Var4),Var7,Var4,2,1),COLORffff88; STICKLINE(Var3>Var6,Var3,Var7,4,1),COLORff88ff; STICKLINE(IF(Var3<Var6,Var3<=1.015*Var6,Var3<=1.005*Var6),Var3,Var7,3,1),COLORFF6633; STICKLINE(Var3>Var6,Var3,Var7,4,1),COLOR0000ff; {下面是柱形K线,如果喜欢这样的K线,你可以复制粘贴到任意主图指标里面} STICKLINE(C>=O,C,O,7,0),COLORRED; STICKLINE(C>=O,C,O,4,0),COLOR7070ff; STICKLINE(C>=O,C,O,2,0),COLORYELLOW; STICKLINE(C>=O,H,L,0,0),COLORYELLOW; STICKLINE(C<=O,C,O,7,0),COLORFF2020; STICKLINE(C<=O,C,O,4,0),COLORFF6600; STICKLINE(C<=O,C,O,2,0),colorffcc66; STICKLINE(C<=O,H,L,0,0),colorffcc66; M9:MA(C,9),COLORYELLOW; 生命线: MA(CLOSE,13),COLORYELLOW,LINETHICK2; 牛熊线: (EMA(CLOSE,5)*7+EMA(CLOSE,5)*3)/10,COLORFF00CC,LINETHICK2; 箱顶:MA(REF(HHV(CLOSE,30),1),2); 箱底:MA(REF(LLV(CLOSE,30),1),2); AA:(MA(C,13)+MA(C,21)+MA(C,34)+MA(C,55))/4,COLORFF00FF; 半年线:ma(close,125),colorffcc66; 指标示例二: {财出水面副图} VAR2:=(CLOSE-LLV(LOW,20))/(HHV(HIGH,20)-LLV(LOW,20))*100; VAR3:=SMA(SMA(VAR2,3,1),3,1)/28.57; VAR4:=EMA(VAR3,5); 操盘:=3*VAR3-2*VAR4; A1:=CROSS(操盘,VAR3) AND VAR3<2.1 and c>o; 40,colorred,pointdot; STICKLINE(c>0,40,22,8,0),colorff8080;{设置背景,CLOSE>0条件满足时,在坐标40至坐标22处设置宽度为8的兰色背景} STICKLINE(c>0,22,4,8,0),color916f87;{设置背景,CLOSE>0条件满足时,在坐标22至坐标4处设置宽度为8的深紫色背景} stickline(a1,18,15,28,0),colorred; stickline(a1,18,18,18,0),colorblue; stickline(a1,8,8,9,0),colorffff00; stickline(a1,6,6,4,0),colorffff00; stickline(a1,10,10,12,0),colorffff00; stickline(a1,12,12,20,0),colorffff00; stickline(a1,14,14,24,0),colorffff00; stickline(a1,16,34,0.1,0),colorc0c0c0; stickline(a1,33,18,9,0),colorwhite; drawtext(a1,36,'财出水面'),COLORWHITE; VarE:=30+(REF(CLOSE,1)-REF(OPEN,1))/REF(OPEN,1)*100/1.5; VarF:=30+(REF(CLOSE,2)-REF(OPEN,2))/REF(OPEN,2)*100/1.5; Var10:=CROSS("KDJ.K"(9,3,3),"KDJ.J"(9,3,3)) AND "KDJ.D"(9,3,3)>13; Var11:=CROSS(REF("KDJ.K"(9,3,3),1),REF("KDJ.J"(9,3,3),1)) AND REF("KDJ.D"(9,3,3),1)>13; Var12:=CROSS(REF("KDJ.K"(9,3,3),2),REF("KDJ.J"(9,3,3),2)) AND REF("KDJ.D"(9,3,3),2)>12; Var13:=Var10 OR Var11 OR Var12; Var14:=REF("BIAS.BIAS2"(6,12,24),1)>2; Var15:=REF("RSI.RSI1"(6,12,24),1)>(VarE+VarF)/1.8 AND REF("ROC.ROC"(12,6),1)-"ROC.ROC"(12,6)>0 AND Var13 AND Var14; 卖出:=Var15*100/15,color00ff00; stickline(卖出,18,15,28,0),coloryellow; stickline(卖出,18,18,18,0),colorblue; stickline(卖出,8,8,9,0),colorffff00; stickline(卖出,6,6,4,0),colorffff00; stickline(卖出,10,10,12,0),colorffff00; stickline(卖出,12,12,20,0),colorffff00; stickline(卖出,14,14,24,0),colorffff00; stickline(卖出,16,28,0.1,0),colorc0c0c0; stickline(卖出,28,18,9,0),color00ff00; drawtext(卖出,31,'落袋为安'),COLOR00FF00; 指标示例三: {金叉死叉} STICKLINE(100,0,100,8,0),colorff0098;{设置背景,100条件满足时,在坐标100至坐标0处设置宽度为8的紫兰色背景} Var1:=EMA(HHV(HIGH,500),21); Var2:=EMA(HHV(HIGH,250),21); Var3:=EMA(HHV(HIGH,90),21); Var4:=EMA(LLV(LOW,500),21); Var5:=EMA(LLV(LOW,250),21); Var6:=EMA(LLV(LOW,90),21); Var7:=EMA((Var4*0.96+Var5*0.96+Var6*0.96+Var1*0.558+Var2*0.558+Var3*0.558)/6,21); Var8:=EMA((Var4*1.25+Var5*1.23+Var6*1.2+Var1*0.55+Var2*0.55+Var3*0.65)/6,21); Var9:=EMA((Var4*1.3+Var5*1.3+Var6*1.3+Var1*0.68+Var2*0.68+Var3*0.68)/6,21); VarA:=EMA((Var7*3+Var8*2+Var9)/6*1.738,21); VarB:=REF(LOW,1); VarC:=SMA(ABS(LOW-VarB),3,1)/SMA(MAX(LOW-VarB,0),3,1)*100; VarD:=EMA(IF(CLOSE*1.35<=VarA,VarC*10,VarC/10),3); VarE:=LLV(LOW,30); VarF:=HHV(VarD,30); Var10:=IF(MA(CLOSE,58),1,0); Var11:=EMA(IF(LOW<=VarE,(VarD+VarF*2)/2,0),3)/618*Var10; Var12:=IF(Var11>40,10,Var11); STICKLINE(Var12>8,0,Var12,4,1), , COLORFF00FF; Var13:=HHV(HIGH,30); Var14:=LLV(LOW,30); 能量K:EMA((CLOSE-Var14)/(Var13-Var14)*97,5),COLORRED,linethick2; 能量D:EMA((CLOSE-Var14)/(Var13-Var14)*100,15),linethick2,colorff9933; 底部峰:5,pointdot,linethick2,COLORFF00FF; DRAWTEXT(CROSS(底部峰,能量K),能量d,'●'),COLORWHITE; DRAWTEXT(CROSS(底部峰,能量K),能量K+15,'底部形成'),COLORWHITE; 大智慧:100,,pointdot,linethick2,color00ccff; 强弱分界:50,pointdot,COLORWHITE; DRAWTEXT(CROSS(90,能量K),80,'●'),COLOR00FF00; DRAWTEXT(CROSS(90,能量K),90,'有风险'),COLOR00FF00; DRAWTEXT(CROSS(90,能量K),能量K+13,'●'),COLOR00FF00; DRAWTEXT(CROSS(能量D,能量K),98,'死叉'),COLORFFCC66; DRAWTEXT(CROSS(能量D,能量K),90,'●'),COLORFFCC66; DRAWTEXT(CROSS(能量K,能量D),8,'金叉'),COLORYELLOW; DRAWTEXT(CROSS(能量K,能量D),15,'●'),COLORYELLOW; 0,pointdot,linethick2,COLORFF00FF; 渐变色源码供参考: STICKLINE(0 ,0,-1,15,0) ,COLORFF0098; STICKLINE(10 ,10,0,15,0) ,COLORFF009A; STICKLINE(20 ,20,10,15,0),COLORFF009C; STICKLINE(30 ,30,20,15,0),COLORFF009E; STICKLINE(40 ,40,30,15,0),COLORFF00A0; STICKLINE(50 ,50,40,15,0),COLORFF00A2; STICKLINE(60 ,60,50,15,0),COLORFF00A4; STICKLINE(70 ,70,60,15,0),COLORFF00A6; STICKLINE(80 ,80,70,15,0),COLORFF00A8; STICKLINE(90 ,90,80,15,0),COLORFF00AA; STICKLINE(100 ,100,90,15,0),COLORFF00AC; STICKLINE(110 ,110,100,15,0),COLORFF00AF; 单色源码供参考: STICKLINE(CLOSE>0,h*9.0,l*0.01,8,0),color7d7f0f; K线 STICKLINE(C>=O,C,O,7,0),COLORRED; STICKLINE(C>=O,C,O,4,0),COLOR7070ff; STICKLINE(C>=O,C,O,2,0),COLORYELLOW; STICKLINE(C>=O,H,L,0,0),COLORYELLOW; STICKLINE(C<=O,C,O,7,0),COLORFF2020; STICKLINE(C<=O,C,O,4,0),COLORFF6600; STICKLINE(C<=O,C,O,2,0),colorffcc66; STICKLINE(C<=O,H,L,0,0),colorffcc66; 副图背景色源码供参考: STICKLINE(100,0,100,8,0),color7d7f0f;{注意指标的坐标,按不同的坐标做相应的调整,本例是100的坐标 这些公式只为学习函数用,不做买卖参考。公式中是以分析家为主要对象表述的,时间久远了,假如不能和现在的软件配套了,不必强求,我想也是因为许多软件更新了,函数变化了,而还没有人修订。 |
第四讲:源码的引入和修改 (据本人所发《公式源码的引入方法》一文修改补充) (一)在各种股软中的引入方法 股软之间虽然区别较大,但有一个共同点,就是第一步都是打开公式编辑器。下面再分别简要说明一下: 一、大智慧 1. 把要导入的公式(源码)考下来,方法是用左键先把源码变蓝,之后点右键,点复制; 2. 进入大智慧------>特色功能------>自编指标------>常用------>技术指标------>新建,在出现的公式编辑区的下面的空白处,把刚考的源码粘贴上,将公式名称复制后粘贴到公式名称栏------>确认------>退出。 3、在大智慧的底部显示栏中点击公式名称即可看到刚刚导入的公式。 二、飞狐 1、复制源码,方法同上。 2、进入主界面,即K线图模式。 用鼠标靠近左侧单击,出现管理面板------>双击技术指标------>用鼠标右键单击任何一个公式组的名称,比如“其它”------>点新建公式------>在出现的公式编辑区的下面的空白处,把刚考的源码粘贴上,将公式名称复制后粘贴到公式名称栏------>确定------>退出。 3、找到新建的公式,双击即可使用。 三、大智慧2 特别提示:必须在联网的状态下才可操作 有两种方式可以进入公式编辑页面。一是将鼠标靠近上部,点击《公式》―――《公式管理》―――双击《技术指标》―――单击指标组―――《新建》。 另一种方式是,将鼠标靠近左边,在出现的对话框中双击《技术指标》―――右键单击选定的公式组―――《新建》。 三、分析家 复制公式原码到分析家界面―――点击上面的《公式》―――点击《公式管理》―――按公式归类把其点击变色―――点击《新建》。 四、通达信 将鼠标靠近左边,在出现的对话图标中选F(x)即《公式管理器》图标―――双击《技术指标公式》―――单击选定的指标组―――《新建》。 五、同花顺 将鼠标靠近上部―――点击《公式》图标,进入后的操作与其他股软基本一样。 特别提示:必须在《描述》栏中加上文字或字母之类,否则无法通过。 (二)公式引入时的注意事项和说明 一、参数问题 复制的源码中有参数的,例如:{N 1 100 15},有三种解决办法: 1、手工将参数分别填加到参数表中。 2、采取变通方式进行改动。{N 1 100 15}改动后为:N:=15; 特别提示:注意用参数的大小处于中间的值来替换。这个中间值也是缺省值。另外:N后面必须加上等号,它的意思是不显示。 3、对于INPUT:N(5), M(10,1,100,2);这类有申明参数函数的,飞狐,大智慧2和分析家可不用理它,系统会自动将参数填加到参数表中。这里的M(10,1,100,2)里面的2是步长,手工填加时可删去。 二、粘贴源码时常见的问题和注意事项 1、未定义的标识符 多数是由参数引起的。还有就是有些源码中附带了公式名称或说明,这些公式源码以外的内容,如:名称,说明以及参数等等,凡在{ }以外的,均要删除,或者用{ }将其括上。 2、条件选股类的公式,应加入到和“技术指标”并列的“条件选股”组中。 3、是主图公式的,需在公式编辑区中点“主图叠加”。 4、通达信的输出一般都限定在16条。多出的解决办法是:将没有必要输出的语句后面加上“等号”,或者删去。例: 买点: STICKLINE(Var6>REF(Var6,1) AND Var6>0 ,Var6,Var8,10,0); DRAWICON(FILTER(Var6>REF(Var6,1) AND Var6>0,30),-140,4); DRAWTEXT(FILTER(Var6>REF(Var6,1) AND Var6>0,30),-40,'建议关注 '),COLORffffff; 这三项分别是划柱线、显示小箭头和显示文字。留一个就行了。 加“等号”的例子: Var2:MA(CLOSE,10); Var3:MA(CLOSE,20); Var4:MA(CLOSE,30); 加上后: Var2:MA(CLOSE,10); Var3:=MA(CLOSE,20); Var4:MA(CLOSE,30); 意思是保留了10日均线和30日均线的输出,将20日的隐去。 特别提示:不论什么股软,当遇到线条过多过乱时,都可以采用这种办法使图形简练清晰。 5、颜色符号及逗号问题 例:仓:EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),,colormagenta; 此句可能存在两个问题,一是后面有两个“逗号”,对于飞狐等通过,而对于大智慧2和分析家等,则是问题,必须删去一个。反之,一个没有也不行。二是后面的colormagenta,大智慧是不认识的。换成通用的:colorf00ff0就行了。 6、是否输出与颜色标识问题 例:仓:=EMA(100*(CLOSE-LLV(LOW,34))/(HHV(HIGH,34)-LLV(LOW,34)),3),colormagenta,LINETHICK0; 这个语句的特点是在前面有等号“ = ”,意思是不输出,但后面还有颜色修饰符和指标线粗细函数。有些股软对此是放行的,即:不输出。而大智慧2和分析家却不认,把它看成相互矛盾的病句。解决办法:将修饰符全部删去,或将前面的 = 号去掉,让语句输出。 那么大智慧的DMI和钱龙的DMI为什么有区别啊.怎么调整大智慧的才能和钱龙一样的了.因为看钱龙习惯了,调整参数为7也还是有区别.应改怎么调整该公式.才能和钱龙一样的了?谢谢??请问大智慧的DMI和钱龙的DMI为什么有区别啊.怎么调整大智慧的才能和钱龙一样的了.因为看钱龙习惯了,调整参数为7也还是有区别.应改怎么调整该公式.才能和钱龙一样的了? 这是飞狐的,你和另两个分别对照一下,看看源码是不是一样,如果一样,则是软件自身的问题: |