公式编程技巧 300 例 公式技巧(目录) ///////////////////////////////////////////// 公式技巧(0001~0100) 0001--主图显示代码及板块 0002--主图显示成交量 0003--预测全天成交量、换手率 0004--收盘线(主图) 0005--时间周期线示例(主图叠加) 0006--BACKSET()函数的高级用法 0007--MACD 金死叉间最大、最小值 0008--曲线在 N 天内的平均变化率 0009--变动角 0010--曲线上相距 N 天的两点的连线的斜率 0011--倾角 0012--交叉点 0013--下拐点(由下向上转) 0014--上拐点(由上向下转) 0015--位置(求得交叉点/拐点到当前的周期) 0016--曲线 A 叠加曲线 B 0017--任意两条指标线在某数以下(或以上)两次金叉的通式 0018--今收盘对于 N 日内最低收盘价的涨幅(%) 0019--今收盘对于 N 日内最高收盘价的跌幅(%) 0020--股价在过去 N 日内运行空间的相对位置 0021--股价上方 N1%至 N2%处的筹码(%) 0022--股价下方 N1%至 N2%处的筹码(%) 0023--收盘价 N%处的套牢盘 0024--收盘价 N%处的获利盘 0025--下影线 0026--上影线 0027--本周期的涨跌幅 0028--振幅 0029--均线金叉 030--均线死叉 0031--均线多头排列 0032--均线空头排列 0033--N 日均线向下 0034--N 日均线向上 0035--N 日均线走平 0036--向前 N 日至 M 日出现过均线死叉(P1< P2) 0037--今日成交量大于 N 日以来的均量 0038--低位密集 0039--换手率 0040--N 日盈亏 0041--曲线叠加 0042--均线变色 0043--基本配色:白红峰 0044--基本配色:白晶峰 0045--基本配色:白蓝峰 0046--基本配色:白绿峰 0047--基本配色:淡紫峰 0048--基本配色:黄褐峰 0049--基本配色:黄红峰 0050--基本配色:黄绿峰 0051--基本配色:灰色峰 0052--基本配色:绿蓝峰 0053--随机 K 线最高、最低价向右平行线 0054--显示无数条线 0055--底背离 0056--顶背离 0057--N 次金叉、死叉 0058--5 分钟副图显示 15 分钟 K 线 0059--移动成本 0060--妙用 SUMBARS()函数 0061--取得 K 线的序号 0062--变量宣告 0063--跨周期引用数据 0064--未来数据、未知数据 0065--主图 KD 0066--描绘 K 线 0067--分时 K 线当天 K 线序号 0068--系统参数函数 0069--概率统计 0070--五彩 K 线常用颜色 0071--分析家公式设定注意事项 0072--交易系统公式交易类型 0073--可供引用的周期类型 0074--引用表达式 0075--符号一览表 0076--横向统计 0077--扩展数据 0078--峰点公式 0079--窄幅整理 0080--N 天前到 M 天前之间的最高价 0081--某时间段最高价 0082--二十日内是否有过涨停 0083--放量创新高 0084--突破长期平台整理 0085--尾盘大单拉升或打压 0086--MACD 柱状体变宽语法 0087--傅立叶变换 0088--周期切换 0089--公历农历 0090--添加自己的特色指针子选单 0091--5 日均线转折价 0092--平均真实波幅 ATR BANDS 0093--SYSPARAM(1)函数的说明 0094--真实波幅 AND 平均真实波幅。 0095--条件成立当日低点向后划水平线直到水平线跌破。 0096--分析周期切换→均线参数自动切换(1) 0097--分析周期切换→均线参数自动切换(2) 0098--调用某某公式内的时间数列线 0099--三角函数 AND 角度线 0100--个股和大盘联动 K 线 ///////////////////////////////////////////// 公式技巧(0101~0200) 0101--含职工股 0102--次新中小 0103--收盘大于开盘 0104--涨跌幅度 0105--小盘选股 0106--低市盈率选股 0107--业绩选股 0108--小盘股 0109--大盘股 0110--净资产收益率选股 0111--B 股板块 0112--无国家股板块 0113--每股净资产选股 0114--每股未分配利润选股 0115--股东权益比率选股 0116--每股公积选股 0117--举牌概念股 0118--指数效应股 0119--H 股板块 0120--含转配股 0121--主营业务利润率选股 0122--市净率选股 0123--流动比率选股 0124--次新股选股 0125--上市时段选股 0126--涨幅选股 0127--委比选股 0128--委差选股 0129--内外盘选股(上涨) 0130--内外盘选股(下跌) 0131--阶段涨幅选股 0132--即时量比选股 0133--大手笔成交选股(买) 0134--大手笔成交选股(卖) 0135--买盘大手笔挂单 0136--卖盘大手笔挂单 0137--换手率选股 0138--涨速选股 0139--振幅选股 0140--股价-均价选股 0141--N 日内创新高 0142--N 日内创新低 0143--M 日内阴线多于阳线 0144--M 日内阳线多于阴线 0145--N 日内上涨多于下跌 0146--N 日内下跌多于上涨 0147--连续 N 天收阳线 0148--连续 N 天收阴线 0149--连续 N 天上涨 0150--连续 N 日下跌 0151--首次创新高 0152--创历史新高 0153--创历史新低 0154--单日放量 0155--阶段缩量 0156--阶段放量 0157--持续放量 0158--持续缩量 0159--间隔放量 0160--放量上攻 0161--温和放量上攻 0162--突然放量 0163--平台整理 0164--尾盘打压 0165--尾盘拉升 0166--盘中逆势走强股 0167--突破长期盘整 0168--阶段强势股 0169--阶段弱势股 0170--大盘同步选股 0171--N 日内强势股 0172--均线多头排列 0173--均线空头排列 0174--强势整理 0175--高开大阴线 0176--低开大阳线 0177--跳空缺口选股 0178--大买单提取 0179--今日大单笔数 0180--大盘同步指标 0181--大手笔之差 0182--活跃股指标 0183--阶段强势指标 0184--内外盘比率 0185--内外盘之差 0186--平均每笔成交 0187--QHLSR 阻力指标 0188--盘中强势指标 0189--大卖单提取 0190--阶段总成交额 0191--筑底指标 0192--阶段换手率 0193--阶段涨幅 0194--阶段总成交量 0195--外盘笔数、内盘笔数、总成笔数 0196--每笔手数、外内比率 0197--外内手差、大手之差 0198--外大手数、内大手数 0199--外内笔差、外大笔数 0200--内大笔数、大手笔差 //////////////////////////////////////////// 公式技巧(0201~0235) 0201--早晨之星 0202--黄昏之星 0203--十字星 0204--长十字 0205--垂死十字 0206--早晨十字星 0206--早晨十字星 0208--射击之星 0209--倒转锤头 0210--锤头 0211--吊颈 0212--穿头破脚 0213--乌云盖顶 0214--曙光初现 0215--身怀六甲 0216--十字胎 0217--平顶 0218--平底 0219--大阳烛 0220--大阴烛 0221--好友反攻 0222--跳空缺口 0223--三个白武士 0224--三只乌鸦 0225--双飞乌鸦 0226--上升三部曲 0227--下跌三部曲 0228--长下影 0229--长上影 0230--分离 0231--光头阳线 0232--光脚阴线 0233--孕育线 0234--如何编写筹码分布公式 guminxuexiao.com 0235--公式底部显示“开、高、低、收” 公式技巧(0001~0100) 0001--主图显示代码及板块 一、显示板块 例一: DRAWTEXT(BARPOS=SYSPARAM(2),H,'\N 所 属 板 所 属 板 块:'+BLKNAME),ALIGN4,COLORYELLOW; 例二: DRAWTEXT(SYSPARAM(2)=BARPOS,C,' 块:'+BLKNAME),ALIGN4,COLORYELLOW; 例三: DRAWTEXT(SYSPARAM(2)=BARSCOUNT(C),H,'[ 所 属 版 属 板 块]:'+BLKNAME),ALIGN4,COLORYELLOW; 二、显示代码及板块 S:=STKLABEL; DRAWTEXT(SYSPARAM(2)=BARPOS,C,S),ALIGN4,COLORYELLOW; DRAWTEXT(BARPOS=SYSPARAM(2),H,'\N 所 块:'+BLKNAME),ALIGN4,COLORYELLOW;{N 与所属板块之间空六格,以显示代码} ------------------------------------------------------------------------------0002--主图显示成交量 前四例可实际使用,后三例的思路不错,但量柱过高,部分遮住 K 线,有待完善。 例一: BB:=HHV(VOL,SYSPARAM(3)-SYSPARAM(2)); HH:=SYSPARAM(4); LL:=SYSPARAM(5); TT:=IF(HH-LL<=2.5,0.25,IF(HH-LL<=5,0.8,IF(HH-LL<=10,2,IF(HH-LL<=20,3,IF(HH-LL< =31,4,IF(HH-LL<=41,5,IF(HH-LL<=50,6,IF(HH-LL<=60,7,IF(HH-LL<=70,8,IF(HH-LL<=8 0,9,1)))))))))); MA(V/BB*0.9*TT+LL,5)-0.04; MA(V/BB*0.9*TT+LL,10)-0.04; MA(V/BB*0.9*TT+LL,34)-0.04; STICKLINE(C>=REF(C,1),V/BB*0.9*TT+LL-0.04,LL-0.04,4,1)COLOR9090EE; STICKLINE(C< REF(C,1 ),V/BB*0.9*TT+LL-0.04,LL-0.04,4,1)COLORBLUE; STICKLINE(C>=O,C,O,8,0),COLOR0055AA; STICKLINE(C<=O,C,O,8,0),COLOR006600; STICKLINE(C>=O,C,O,5,0),COLOR0077CC; STICKLINE(C>=O,C,O,3,0),COLOR0099DD; STICKLINE(C>=O,H,L,0,0),COLOR00BBFF; STICKLINE(C<=O,C,O,5,0),COLOR009900; STICKLINE(C<=O,C,O,3,0),COLOR00BB00; STICKLINE(C<=O,H,L,0,0),COLOR00EE00 例二: BB:=HHV(VOL,SYSPARAM(3)-SYSPARAM(2)); HH:=SYSPARAM(4); LL:=SYSPARAM(5); TT:=IF(HH-LL<4,0.5,1); STICKLINE(C>=REF(C,1),VOL/BB*0.8*TT+LL,LL,4,1)COLOR9090EE; STICKLINE(C< REF(C,1 ),VOL/BB*0.8*TT+LL,LL,4,1)COLORBLUE; STICKLINE(C>=O,C,O,8,0),COLOR0055AA; STICKLINE(C<=O,C,O,8,0),COLOR006600; STICKLINE(C>=O,C,O,5,0),COLOR0077CC; STICKLINE(C>=O,C,L,3,0),COLOR0099DD; STICKLINE(C>=O,H,L,0,0),COLOR00BBFF; STICKLINE(C<=O,C,O,5,0),COLOR009900; STICKLINE(C<=O,C,O,3,0),COLOR00BB00; STICKLINE(C<=O,H,L,0,0),COLOR00EE00 例三: A1:=VOL; A2:=VOL/CAPITAL*100/15; A3:=SYSPARAM(5); A4:=A3-0.3; STICKLINE(C>0 AND C>REF(C,1),A4,A4+A2,7,1),COLORRED; STICKLINE(C>0 AND C<=REF(C,1),A4,A4+A2,7,0),COLORCCFF99; DRAWNUMBER(SYSPARAM(1)=BARPOS AND C>0,A4,A1,1),COLOR00FFFF; DRAWTEXT(SYSPARAM(1)=BARPOS,A4,'成交量:'),COLOR00FFFF,ALIGN2; {A2 中的 15 可调;A4 中的 0.3 可调} 例四: 可以调节量柱的高度,不会覆盖 K 线。使用时,请打开光标。注意,在“管理→系统 选项→图形→主图坐标仅随 K 线变动”处不要打钩。亦显示换手率的数值。 A1:=VOL/CAPITAL*100/15; A2:=SYSPARAM(5); A3:=A2-0.3; STICKLINE(C>=O,A3,A3+A1,7,1),COLORRED; STICKLINE(C< O,A3,A3+A1,7,0),COLORCCFF99; 换:VOL/CAPITAL*100,LINETHICK0,COLORRED; 例五: STICKLINE(C>REF(C,1),VOL*0.00001+SYSPARAM(5),SYSPARAM(5),8,1)COLORRE D; STICKLINE(C< REF(C,1),VOL*0.00001+SYSPARAM(5),SYSPARAM(5),8,0)COLORCYAN; VMA5:MA(VOL*0.00001+SYSPARAM(5),5); VMA15:MA(VOL*0.00001+SYSPARAM(5),15); {可通过修改“V*0.00001”中的“0.00001”进行优化} 例六: STICKLINE(C>REF(C,1)AND C<10,VOL*0.000001+SYSPARAM(5),SYSPARAM(5),8,1)COLORRED; STICKLINE(C< C<10,VOL*0.000001+SYSPARAM(5),SYSPARAM(5),8,0)COLORCYAN; {主图一般用百分比坐标,加限定不是好的解决办法} 例七: MA5:MA(C,P1); { P1:5 P2:10 P3:20 P4:30 N:0.6 M:1} MA10:MA(C,P2); MA20:MA(C,P3); MA30:MA(C,P4); 现价: DYNAINFO(7),COLORWHITE,LINETHICK1 POINTDOT; REF(C,1)AND STICKLINE(C>O,O,C,7,0),COLORRED; STICKLINE(C>O,O,C,2,0),COLORB0B0FF; STICKLINE(C>O,O,C,1,0),COLORYELLOW; STICKLINE(C>O,L,H,0.1,0),COLORYELLOW; STICKLINE(C< O,O,C,7,0),COLORFF2020; STICKLINE(C< O,O,C,4,0),COLORFF6600; STICKLINE(C< O,O,C,2,0),COLORCYAN; STICKLINE(C< O,L,H,0.1,0),COLORCYAN; STICKLINE(C=O AND C>=REF(C,1),O,C,7,0),COLORRED; STICKLINE(C=O AND C>=REF(C,1),O,C,4,0),COLORB0B0FF; STICKLINE(C=O AND C>=REF(C,1),O,C,2,0),COLORYELLOW; STICKLINE(C=O AND C>=REF(C,1),L,H,0.1,0),COLORYELLOW; STICKLINE(C=O AND C< REF(C,1),O,C,7,0),COLORFF2020; STICKLINE(C=O AND C< REF(C,1),O,C,4,0),COLORFF6600; STICKLINE(C=O AND C< REF(C,1),O,C,2,0),COLORCYAN; STICKLINE(C=O AND C< REF(C,1),L,H,0.1,0),COLORCYAN; YYTTGG:=BARSCOUNT(HHV(V,0)); BB:=HHV(VOL,SYSPARAM(3)-SYSPARAM(2));//画面中的最大成交量 LL:=SYSPARAM(5);//主图可见 K 线最低价 STICKLINE(C>=REF(C,1),VOL/BB+LL*M,LL*M,8,1)COLOR50CCEE; STICKLINE(C< REF(C,1),VOL/BB+LL*M,LL*M,8,0)COLORBLUE; ------------------------------------------------------------------------------0003--预测全天成交量、换手率 例一: 根据分时成交量预测 IF(OPENMINUTES(CURRENTTIME)=1,V,(V/OPENMINUTES(CURRENTTIME))*240); 例二: 预 测 量 :STICKLINE(DYNAINFO(7)=CLOSE AND DYNAINFO(10)=AMOUNT,VOL,MAX(VOL,DYNAINFO(17)*REF(MA(VOL,5),1)),7,1),C OLORGREEN; 例三: STICKLINE(DYNAINFO(7)=C AND DYNAINFO(10)=AMOUNT,DYNAINFO(17)*REF(MA(VOL,5),1),0,4,1); DRAWTEXT(DYNAINFO(7)=C AND DYNAINFO(10)=AMOUNT,V,'← 实 际 V'),COLORRED; 例四: 预 换 %:MAX(VOL,DYNAINFO(17)*REF(MA(VOL,5),1))/CAPITAL*100,COLORFFFF00; ------------------------------------------------------------------------------0004--收盘线(主图) IF(DYNAINFO(7)>0,DYNAINFO(7),MA(C,3)); ------------------------------------------------------------------------------0005--时间周期线示例(主图叠加) INPUT:N(5,5,100);//参数定义 ZIG(1,N);//高点 FF:=PEAKBARS(1,N,1); FF:=IF(FF<6,PEAKBARS(1,N,2),FF); BARST:=SYSPARAM(1); 手 VARIABLE:ZQ[序列数据量/2]:=1.236; ZQ[2]:=1.309; ZQ[3]:=1382; ZQ[4]:=1.5; ZQ[5]:=1.618; ZQ[6]:=1.746; ZQ[7]:=2; ZQ[8]:=2.618; ZQ[9]:=3; ZQ[10]:=3.236; ZQ[11]:=4.236; ZQ[12]:=5.236;//周期线间隔比例,可另行定义 TJ:=FF[BARST]=BARST-BARPOS; FOR I=1 TO 12 DO TJ:=TJ OR BARPOS-BARST=ROUND((ZQ-1)*FF[BARST]+0.5); VERTLINE(TJ),POINTDOT,COLORMAGENTA; 必须打开十字光标才可以正常使用。自动寻找高点,可另加参数,改成高低点两用。 公式含义:当 K 线与高点的时间间隔为十字光标与高点的时间间隔的等于指定比例 时,显示竖线。即所谓的时间预测,如果您有好的测试方法,可以仿此代码编制。 这段代码,进行适当的改造,可以向未来延伸,有兴趣的可以自行研究(提示:使用 SHIFT 函数)。 ------------------------------------------------------------------------------0006--BACKSET()函数的高级用法 问题:如何在最后一根 K 线的前第 6 天,作上标记? 1、先建立一个名为 BACKSET-TEST 的公式,代码如下: ISLASTBAR{该周期是否最后一个周期。最后一个周期返回值为 1,其余为 0} 观察指标线的图形,正如注释所述,最后一天显示为 1,这个 1 我们可理解为信号(条 件)成立。其余时间,指标的数值为 0,可理解为信号(条件)不成立。 2、巧用 BACKSET()函数: 1BACDSET(X,N)注释:向前赋值,若 X 非 0 则把当前周期及前 N-1 周期的数值设 置为 1; 2示例:把信号向前移。 TJ1:=ISLASTBAR;{最后一天的条件} TJ2:BACKSET(TJ1,6); 观察 TJ2 指标线图,发现最后 6 天的 TJ2 信号都是 1,即一个高度为 1 的矩形。公式 中,还无法判断哪天是倒数第 6 天。 3、显然倒数第 6 天,是上面矩形的前沿,如何在公式中,表达这个矩形的前沿? 容易想到的办法: 1倒数第 6 天的当天,TJ2 为 1,更早的 1 天 TJ2=0,因此可以编出如下代码: TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:TJ2 AND REF(TJ2,1)=0; 2倒数第 6 天的当天,TJ2 为 1,更早的 1 天 TJ2=0,即当天 TJ2 比早一天的 TJ2 更 大,因此可以编出如下代码: TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:TJ2>REF(TJ2,1); 3倒数第 6 天的当天,TJ2 为 1,更早的 1 天 TJ2=0,可以想像为 TJ2 指标线上穿了 一条高度为 0.5 的水平线,因此可以编出如下代码: TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:CROSS(TJ2,0.5); 4巧用 FILTER()过滤函数,FILTER(X,N),若 X 非 0,可以让 X 保持当天的值不变, 且过滤其后 N 个周期使之数值为 0。 TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:FILTER(TJ2,5);{第 1 次的 TJ2 保持为 1 不变,其后的 5 个周期过滤为 0} 这样就初步找到了 4 种方法,可以标记倒数第 6 天,若想用图标来标记的话,代码例 举如下: TJ1:=ISLASTBAR;{最后一天的条件} TJ2:=BACKSET(TJ1,6); TJ3:=TJ2>REF(TJ2,1); DRAWICON(TJ3,L,1); ------------------------------------------------------------------------------0007--MACD 金死叉间最大、最小值 A1:=CROSS("MACD.MACD",0); A2:=BARSLAST(A1); A3:=HHVBARS("MACD.MACD" ,A2+1); A4:=BACKSET(REF(A3>=1,1) AND "MACD.MACD"<0,A3); A5:=BACKSET(REF(A4=0,1) AND A4=1,2); 高值:IF(FILTER(A5,2),"MACD.MACD",0); DRAWICON(高值>0,高值,4); B1:=CROSS(0,"MACD.MACD"); B2:=BARSLAST(B1); B3:=LLVBARS("MACD.MACD" ,B2+1); B4:=BACKSET(REF(B3>=1,1) AND "MACD.MACD">0,B3); B5:=BACKSET(REF(B4=0,1) AND B4=1,2); 低值:IF(FILTER(B5,2),"MACD.MACD",0); DRAWICON(低值<0,低值,5); ------------------------------------------------------------------------------0008--曲线在 N 天内的平均变化率 {设 A,B,R 为三条曲线;N,M 等为参数。如:A:MA(C,N);B:=MA(C,M);R:=C/REF(C,1)-1; 等等} FA:=(A/REF(A,N)-1)/N; FB:=(B/REF(B,N)-1)/N; FR:=(R/REF(R,N)-1)/N; ------------------------------------------------------------------------------0009--变动角 { 设 A,B,R 为 三 条 曲 线 ;N,M 等 为 参 数 。 如 : A : MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等} FA:=(A/REF(A,N)-1)/N; FB:=(B/REF(B,N)-1)/N; FR:=(R/REF(R,N)-1)/N; ∮A:=ATAN(FA); ∮B:=ATAN(FB); ∮R:=ATAN(FR); ------------------------------------------------------------------------------0010--曲线上相距 N 天的两点的连线的斜率 { 设 A,B,R 为 三 条 曲 线 ;N,M 等 为 参 数 。 如 : A : MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等} KA:=(A-REF(A,N))/N; KB:=(B-REF(B,N))/N; KR:=(R-REF(R,N))/N; ------------------------------------------------------------------------------0011--倾角 { 设 A,B,R 为 三 条 曲 线 ;N,M 等 为 参 数 。 如 : A : MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等} KA:=(A-REF(A,N))/N; KB:=(B-REF(B,N))/N; KR:=(R-REF(R,N))/N; ∠A:=ATAN(KA); ∠B:=ATAN(KB); ∠R:=ATAN(KR); ------------------------------------------------------------------------------0012--交叉点 { 设 A,B,R 为 三 条 曲 线 ;N,M 等 为 参 数 。 如 : A : MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等} CAB:=CROSS(A,B);{交叉} JAB:=LONGCROSS(A,B,N);{维持-交叉} JYA:=BETWEEN(A,N,M);{介于} FWA:=RANGE(A,N,M);{范围} ------------------------------------------------------------------------------0013--下拐点(由下向上转) { 设 A,B,R 为 三 条 曲 线 ;N,M 等 为 参 数 。 如 : A : MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等} KA:=(A-REF(A,N))/N; ∠A:=ATAN(KA); XD1:=LLVBARS(A,N)=M;{以 N 日最低点} XD2:=REF(COUNT(A-REF(A,1)<=0,N)=N,M) AND COUNT(A-REF(A,1)>0,M)=M;{以 M 日变化量的正负} XD3:=REF(COUNT(∠A-REF(∠A,1)<=0,N)=N,M) AND ∠A>0;{以当日变化角的正 负} ------------------------------------------------------------------------------0014--上拐点(由上向下转) { 设 A,B,R 为 三 条 曲 线 ;N,M 等 为 参 数 。 如 : A : MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等} KA:=(A-REF(A,N))/N; ∠A:=ATAN(KA); SD1:=HHVBARS(A,N)=M;{以 N 日最低点} SD2:=REF(COUNT(A-REF(A,1)>=0,N)=N,M) AND COUNT(A-REF(A,1)<0,M)=M;{以当日变化量的正负} SD3:=REF(COUNT(∠A-REF(∠A,1)>=0,N)=N,M) AND ∠A<0;{以当日变化角的正 负} ------------------------------------------------------------------------------0015--位置(求得交叉点/拐点到当前的周期) { 设 A,B,R 为 三 条 曲 线 ;N,M 等 为 参 数 。 如 : A : MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等} CAB:=CROSS(A,B);{交叉} WZ1:=BARSLAST(CAB);{第一(交叉)点的位置} WZ2:=REF(WZ1,WZ1+1)+WZ1+2;{第二(交叉)点的位置} WZ3:=REF(WZ1,WZ2+1)+WZ2+2;{第三(交叉)点的位置} WZ4:=REF(WZ1,WZ3+1)+WZ3+2;{第四(交叉)点的位置} WZ5:=REF(WZ1,WZ4+1)+WZ4+2;{第五(交叉)点的位置} {WZN:=REF(WZ1,WZ(N-1)+1)+WZ(N-1)+2;} ------------------------------------------------------------------------------0016--曲线 A 叠加曲线 B { 设 A,B,R 为 三 条 曲 线 ;N,M 等 为 参 数 。 如 : A : MA(C,N) ; B:=MA(C,M); R:=C/REF(C,1)-1;等等} F:=A/REF(A,1)-1;{A 的变化率} JS:=REF(B,BARSCOUNT(C));{叠加位置(初始)} DJ:(SUM(F,0)+1)*JS;{叠加曲线(初始位置)} JD:=REF(B,BARSLAST(条件));{叠加位置(定点)} DJ:=(SUM(F,0)+1)*JD;{叠加曲线(预定位置)} ------------------------------------------------------------------------------0017--任意两条指标线在某数以下(或以上)两次金叉的通式 JM:=CROSS("指标名称.指标线 1","指标名称.指标线 2"); JMCOUNT:=COUNT(JM,BARSLAST("指标名称.指标线 1(或指标线 2)"大于或小 于某数)); JMTJ:40*("指标名称.指标线 1(或指标线 2)"小于或大于某数)); DRAWTEXT (JMTJ,40,'…………二次金叉'); 条件选股:60*(JMTJ AND …………),COLORGREEN; 例一: MACD 在 0 轴线以下二次金叉 JM:=CROSS("MACD.DIFF","MACD.DEA"); JMCOUNT:=COUNT(JM,BARSLAST("MACD.DEA">=0)); JMTJ:40*("MACD.DEA"<0 AND COUNT(JMCOUNT=2,21)=1); DRAWTEXT (JMTJ,40,'MACD 在 0 轴线以下二次金叉'); 条件选股:60*(JMTJ AND SLOPE(MA(C,5),2)>0),COLORGREEN; DRAWTEXT (条件选股,50,'5 日 3%成功率:44.71%'); 例二: KD 在 60 轴线以下二次金叉 JM:=CROSS("KD.K","KD.D"); JMCOUNT:=COUNT(JM,BARSLAST("KD.D">=60)); JMTJ:40*("KD.D"<60 AND COUNT(JMCOUNT=2,21)=1); DRAWTEXT (JMTJ,"KD.D",'KD 在 60 轴线以下二次金叉'); 条件选股:60*(JMTJ AND SLOPE(MA(C,20),3)>0),COLORGREEN; DRAWTEXT (条件选股,50,'5 日 3%成功率:50.3%'); 例三: SLOWKD 在 30 轴线以下二次金叉 JM:=CROSS("SLOWKD.K","SLOWKD.D"); JMCOUNT:=COUNT(JM,BARSLAST("SLOWKD.D">=30)); JMTJ:28*("SLOWKD.D"<30 AND COUNT(JMCOUNT=2,21)=1); DRAWTEXT (JMTJ,28,'SLOWKD 在 30 轴线以下二次金叉'); 条件选股:50*(JMTJ AND SLOPE(MA(C,20),2)>0),COLORGREEN; ------------------------------------------------------------------------------0018--今收盘对于 N 日内最低收盘价的涨幅(%) (C-LLV(C,N))/LLV(C,N)*100; ------------------------------------------------------------------------------0019--今收盘对于 N 日内最高收盘价的跌幅(%) (HHV(C,N)-C)/HHV(C,N)*100; ------------------------------------------------------------------------------0020--股价在过去 N 日内运行空间的相对位置 (C-LLV(L,N))/(HHV(H,N)-LLV(L,N))*100; ------------------------------------------------------------------------------0021--股价上方 N1%至 N2%处的筹码(%) AA:=WINNER(C+C*N2/100)*100; BB:=WINNER(C+C*N1/100)*100; AA-BB ------------------------------------------------------------------------------0022--股价下方 N1%至 N2%处的筹码(%) (WINNER(C-C*N1/100)-WINNER(C-C*N2/100))*100; ------------------------------------------------------------------------------0023--收盘价 N%处的套牢盘 100-(WINNER(C*N/100))*100; ------------------------------------------------------------------------------0024--收盘价 N%处的获利盘 WINNER(C*N/100)*100; ------------------------------------------------------------------------------0025--下影线 (MIN(C,O)-L)/(H-L); ------------------------------------------------------------------------------0026--上影线 (H-MAX(C,O))/(H-L) ------------------------------------------------------------------------------0027--本周期的涨跌幅 (C-REF(C,1))/REF(C,1)*100; ------------------------------------------------------------------------------0028--振幅 (H-L)/L*100; ------------------------------------------------------------------------------0029--均线金叉 CROSS(MA(C,N),MA(C,M));{N< M} ------------------------------------------------------------------------------0030--均线死叉 CROSS(MA(C,M),MA(C,N));{N< M} ------------------------------------------------------------------------------0031--均线多头排列 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); ------------------------------------------------------------------------------0032--均线空头排列 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); ------------------------------------------------------------------------------0033--N 日均线向下 AA:=MA(C,N); BB:=REF(AA,1); AA< BB ------------------------------------------------------------------------------0034--N 日均线向上 AA:=MA(C,N); BB:=REF(AA,1); AA>BB ------------------------------------------------------------------------------0035--N 日均线走平 AA:=MA(C,N); BB:=REF(AA,1); AA=BB ------------------------------------------------------------------------------0036--向前 N 日至 M 日出现过均线死叉(P1< P2) AA:=MA(C,P1); BB:=MA(C,P2); CC:=REF(CROSS(BB,AA),N); COUNT(CC,M); ------------------------------------------------------------------------------0037--今日成交量大于 N 日以来的均量 VOL>MA(VOL,N); ------------------------------------------------------------------------------0038--低位密集 A1:=COST(85); A2:=COST(15); A3:=A1-A2; A4:=(A1+A2)/2; A5:=A3/A4*100<10; B1:=HHV(H,120); B2:=LLV(L,120); B3:=B1-B2; B4:=(A4-B2)< B3/2; A5 AND B4; ------------------------------------------------------------------------------0039--换手率 VOL/CAPITAL*100; ------------------------------------------------------------------------------0040--N 日盈亏 V1:=VOL/SUM(VOL,N); V2:=DMA(CLOSE,V1); V3:(CLOSE-V2)/V2*100; ------------------------------------------------------------------------------0041--曲线叠加 指标线的叠加,是为了方便观看和比较,没什么其他的意义。 一、对指标曲线的变化幅度放大 此法,一线变形,另一线不变,但变形线的走势与原线完全相似。 举例:C 叠加 V BC:=HHV(C,N)-LLV(C,N);//N 一般取常用主图上的 K 线数量 BV:=HHV(V,N); BI:=BC/BV;//叠加比 B:=BI[DATACOUNT];//最后一根 K 线的叠加比,保证叠加比前后统一 成交量:V,VOLSTICK; F:=C/REF(C,1); JC:=REF(C,1)*(1+A*F)*B/A;//A-放大倍数,将 C 的涨跌幅度 F 放大 JL:=LLV(JC,N);//平移量。请去掉 JC 句的=看 JL 的作用 收盘价:C,LINETHICK0,COLORYELLOW;//只显示数值,不画线 PARTLINE(C>0,JC-JL[DATACOUNT]),COLORYELLOW;//收盘价趋势线,只画线, 不显示数值 通式: 曲线 X 叠加曲线 Y BX:=HHV(X,N)-LLV(X,N); BY:=HHV(Y,N)-LLV(Y,N); BI:=BX/BY; B:=BI[DATACOUNT]; FX:=X/REF(X,1); JX:=REF(X,1)*(1+A*FX)*B/A; XL:=LLV(JX,N); 曲线 Y:Y; 曲线 X:X,LINETHICK0;//曲线 X 的值 PARTLINE(C,JX-XL[DATACOUNT]);//曲线 X 的线 二、百分比叠加 把两曲线的波动幅度划成百分比进行叠加 此法,两线都变形,但走势都与原线完全相似。 举例:C 叠加 V HV:=HHV(V,N); DV:=HV[DATACOUNT]; BV:=100/DV; V*BV,VOLSTICK; HC:=HHV(C,N); LC:=LLV(C,N); BC:=100/(HC[DATACOUNT]-LC[DATACOUNT]); (C-LC[DATACOUNT])*BC; 通式一: 曲线 X,曲线 Y XH:=HHV(X,N); XL:=LLV(X,N); XDH:=XH[DATACOUNT]; XDL:=XL[DATACOUNT]; BX:=100/(XDH-XDL); 曲线 X:(X-XDL)*BX; YH:=HHV(Y,N); YL:=LLV(Y,N); YDH:=YH[DATACOUNT]; YDL:=YL[DATACOUNT]; BY:=100/(YDH-YDL); 曲线 Y:(Y-YDL)*BY; 通式二: X 曲线+Y 曲线 N:=SYSPARAM(3)-SYSPARAM(2); X:=.........; {.........为 X 曲线定义} XH:=HHV(X,N); XL:=LLV(X,N); XDH:=XH[SYSPARAM(3)]; XDL:=XL[SYSPARAM(3)]; BX:=100/(XDH-XDL); 曲线 X:(X-XDL)*BX; Y:=.........;{.........为 Y 曲线定义} YH:=HHV(Y,N); YL:=LLV(Y,N); YDH:=YH[SYSPARAM(3)]; YDL:=YL[SYSPARAM(3)]; BY:=100/(YDH-YDL); 曲线 Y:(Y-YDL)*BY; 三、固定位置叠加 此法应用不多,仅举例。 例一: 主图成交量(V 叠加 C) {M:960,1,2000} R0:=M/1000;R:=(L-R0*SYSPARAM(5))/V; R1:=LLV(R,SYSPARAM(3)-SYSPARAM(2));R2:=R1[SYSPARAM(3)]; R3:=LLV(L-R2*V,SYSPARAM(3)-SYSPARAM(2)); R4:=R3[SYSPARAM(3)];R5:=(R2*V+R4)*0.995; STICKLINE(C>=REF(C,1),R5,R0*SYSPARAM(5),6,1)COLORRED; STICKLINE(C< REF(C,1),R5,R0*SYSPARAM(5),6,0)COLORCYAN; PARTLINE(V>=0,R0*SYSPARAM(5)) COLORWHITE; PARTLINE(R5>0,MA(R5,5)); PARTLINE(R5>0,MA(R5,10)); PARTLINE(R5>0,MA(R5,20)); 例二: INPUT:N(10,2,999); M:=SYSPARAM(3)-SYSPARAM(2); X:=C; Y:=SUM(IF(CLOSE>REF(CLOSE,1),VOL/CAPITAL,IF(CLOSE< REF(CLOSE,1),-VOL/CAPITAL,0)),0); XH:=HHV(X,M); XL:=LLV(X,M); XDH:=XH[SYSPARAM(3)]; XDL:=XL[SYSPARAM(3)]; BX:=100/(XDH-XDL); 收盘:C,LINETHICK0,; 收盘↑:PARTLINE(X>REF(X,1),(X-XDL)*BX),COLORRED; 收盘↓:PARTLINE(X< REF(X,1),(X-XDL)*BX),COLORCYAN; YH:=HHV(Y,M); YL:=LLV(Y,M); YDH:=YH[SYSPARAM(3)]; YDL:=YL[SYSPARAM(3)]; BY:=100/(YDH-YDL); TY:=(Y-YDL)*BY; OBV 值:Y*1000,LINETHICK0,COLOR007BFF; OBV 线↑:PARTLINE(Y>REF(Y,1),(Y-YDL)*BY),COLORYELLOW; OBV 线↓:PARTLINE(Y< REF(Y,1),(Y-YDL)*BY),COLOR009F00; A1:=REF(TY,N)=HHV(TY,2*N+1); B1:=FILTER(A1,N); C1:=BACKSET(B1,N+1); HD:=FILTER(C1,N); A2:=REF(TY,N)=LLV(TY,2*N+1); B2:=FILTER(A2,N); C2:=BACKSET(B2,N+1); LD:=FILTER(C2,N); AA:=REF(TY,BARSLAST(HD)); BB:=REF(TY,BARSLAST(LD));A1:=REF(Y,BARSLAST(HD))*1000; B1:=REF(Y,BARSLAST(LD))*1000; T1:=BARSLAST(HD)< BARSLAST(LD) AND NOT(HD) ; T2:=BARSLAST(HD)>BARSLAST(LD) AND NOT(LD); PARTLINE(T1,AA),COLORMAGENTA,LINETHICK2; PARTLINE(T2,BB),COLORGREEN,LINETHICK2; DRAWNUMBER(T1=0 AND REF(T1,1)>0,REF(AA,1)+0.1,A1,2); DRAWNUMBER(T2=0 AND REF(T2,1)>0,REF(BB,1)+0.1,B1,2); DRAWNUMBER(ISLASTBAR AND T1>0,REF(AA,1)+0.1,A1,2),COLORYELLOW; DRAWNUMBER(ISLASTBAR AND T2>0,REF(BB,1)+0.1,B1,2),COLORMAGENTA; ------------------------------------------------------------------------------0042--均线变色 MA05:MA(CLOSE,5); MA30:MA(CLOSE,30); IF(MA05< MA30,MA05,MA30),COLORGREEN; IF(MA05< MA30,MA30,MA05),COLORRED; IF(MA05>MA30,MA30,MA30),COLORBLUE; DRAWICON(CROSS(MA05,MA30),L*0.98,4); DRAWICON(CROSS(MA30,MA05),H*1.02,5); ------------------------------------------------------------------------------0043--基本配色:白红峰 白红峰 ((16 色)白色-红色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLORFFFFFF;{白色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLOREEEEFF; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLORDDDDFF; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLORCCCCFF; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLORBBBBFF; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLORAAAAFF; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLOR9999FF; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLOR8888FF; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLOR7777FF; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLOR6666FF; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLOR5555FF; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLOR4444FF; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLOR3333FF; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLOR2222FF; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLOR1111FF; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLOR0000FF;{红色} ------------------------------------------------------------------------------0044--基本配色:白晶峰 白晶峰 ((16 色)白色-晶红色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLORFFFFFF;{白色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLORFFEEFF; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLORFFDDFF; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLORFFCCFF; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLORFFBBFF; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLORFFAAFF; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLORFF99FF; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLORFF88FF; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLORFF77FF; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLORFF66FF; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLORFF55FF; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLORFF44FF; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLORFF33FF; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLORFF22FF; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLORFF11FF; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLORFF00FF;{晶红色} ------------------------------------------------------------------------------0045--基本配色:白蓝峰 白蓝峰 ((16 色)白色-蓝色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLORFFFFFF;{白色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLORFFEEEE; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLORFFDDDD; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLORFFCCCC; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLORFFBBBB; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLORFFAAAA; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLORFF9999; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLORFF8888; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLORFF7777; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLORFF6666; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLORFF5555; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLORFF4444; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLORFF3333; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLORFF2222; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLORFF1111; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLORFF0000;{蓝色} ------------------------------------------------------------------------------0046--基本配色:白绿峰 白绿峰 ((16 色)白色-绿色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLORFFFFFF;{白色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLOREEFFEE; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLORDDFFDD; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLORCCFFCC; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLORBBFFBB; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLORAAFFAA; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLOR99FF99; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLOR88FF88; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLOR77FF77; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLOR66FF66; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLOR55FF55; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLOR44FF44; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLOR33FF33; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLOR22FF22; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLOR11FF11; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLOR00FF00;{绿色} ------------------------------------------------------------------------------0047--基本配色:淡紫峰 淡紫峰 ((16 色)淡蓝色-紫色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLORFFFFCC;{淡蓝色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLORFFEECC; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLORFFDDCC; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLORFFCCCC; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLORFFBBCC; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLORFFAACC; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLORFF99CC; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLORFF88CC; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLORFF77CC; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLORFF66CC; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLORFF55CC; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLORFF44CC; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLORFF33CC; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLORFF22CC; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLORFF11CC; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLORFF00CC;{紫色} ------------------------------------------------------------------------------0048--基本配色:黄褐峰 黄褐峰 ((16 色)黄色-绿色-褐色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLOR00FFFF;{黄色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLOR00FFEE; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLOR00FFDD; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLOR00FFCC; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLOR00FFBB; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLOR00FFAA; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLOR00FF99;{绿色} STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLOR00EE99; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLOR00DD99; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLOR00CC99; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLOR00BB99; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLOR00AA99; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLOR009999; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLOR008899; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLOR007799; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLOR006699;{褐色} ------------------------------------------------------------------------------0049--基本配色:黄红峰 黄红峰 ((16 色)黄色-红色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLOR00FFFF;{黄色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLOR00EEFF; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLOR00DDFF; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLOR00CCFF; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLOR00BBFF; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLOR00AAFF; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLOR0099FF; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLOR0088FF; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLOR0077FF; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLOR0066FF; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLOR0055FF; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLOR0044FF; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLOR0033FF; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLOR0022FF; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLOR0011FF; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLOR0000FF;{红色} ------------------------------------------------------------------------------0050--基本配色:黄绿峰 黄绿峰 ((16 色)黄色-绿色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLOR00FFFF;{黄色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLOR00FFEE; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLOR00FFDD; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLOR00FFCC; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLOR00FFBB; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLOR00FFAA; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLOR00FF99; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLOR00FF88; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLOR00FF77; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLOR00FF66; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLOR00FF55; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLOR00FF44; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLOR00FF33; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLOR00FF22; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLOR00FF11; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLOR00FF00;{绿色} ------------------------------------------------------------------------------0051--基本配色:灰色峰 灰色峰 ((16 色)白色-黑色) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLORFFFFFF;{白色} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLOREEEEEE; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLORDDDDDD; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLORCCCCCC; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLORBBBBBB; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLORAAAAAA; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLOR999999; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLOR888888; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLOR777777; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLOR666666; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLOR555555; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLOR444444; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLOR333333; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLOR222222; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLOR111111; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLOR000000;{黑色} ------------------------------------------------------------------------------0052--基本配色:绿蓝峰 绿蓝峰 ((16 色)翠绿-深蓝) VarA:=EMA(REF(CLOSE,1),4); 色彩峰:=(SMA(MAX(CLOSE-VarA,0),6,1)/SMA(ABS(CLOSE-VarA),6,1)*100); STICKLINE(色彩峰>0,0,色彩峰,5,0),COLOR66FF00;{翠绿} STICKLINE(色彩峰>0,0,色彩峰*0.9,5,0),COLOR66EE00; STICKLINE(色彩峰>0,0,色彩峰*0.85,5,0),COLOR66DD00; STICKLINE(色彩峰>0,0,色彩峰*0.8,5,0),COLOR66CC00; STICKLINE(色彩峰>0,0,色彩峰*0.75,5,0),COLOR66BB00; STICKLINE(色彩峰>0,0,色彩峰*0.7,5,0),COLOR66AA00; STICKLINE(色彩峰>0,0,色彩峰*0.65,5,0),COLOR669900; STICKLINE(色彩峰>0,0,色彩峰*0.6,5,0),COLOR668800; STICKLINE(色彩峰>0,0,色彩峰*0.55,5,0),COLOR667700; STICKLINE(色彩峰>0,0,色彩峰*0.5,5,0),COLOR666600; STICKLINE(色彩峰>0,0,色彩峰*0.45,5,0),COLOR665500; STICKLINE(色彩峰>0,0,色彩峰*0.4,5,0),COLOR664400; STICKLINE(色彩峰>0,0,色彩峰*0.35,5,0),COLOR663300; STICKLINE(色彩峰>0,0,色彩峰*0.3,5,0),COLOR662200; STICKLINE(色彩峰>0,0,色彩峰*0.25,5,0),COLOR661100; STICKLINE(色彩峰>0,0,色彩峰*0.2,5,0),COLOR660000;{深蓝} ------------------------------------------------------------------------------0053--随机 K 线最高、最低价向右平行线 DRAWSL(SYSPARAM(1)=BARPOS,REF(L,SYSPARAM(1)=SUM(1,0)-1),0,0,1),COLO RGREEN; DRAWSL(SYSPARAM(1)=BARPOS,REF(H,SYSPARAM(1)=SUM(1,0)-1),0,0,1),COLO RRED; ------------------------------------------------------------------------------0054--显示无数条线 例一: {先显示 200 条黄色的} A1:POLYLINE(C>0,C+0.01),COLORYELLOW; A2:=POLYLINE(C>0,C+0.02); A3:=POLYLINE(C>0,C+0.03); …… A199:=POLYLINE(C>0,C+1.99): A200:POLYLINE(C>0,C+2) COLORYELLOW; {再显示 200 条绿色的} B1:POLYLINE(C>0,C+2.01) COLORGREEN; B2:=POLYLINE(C>0,C+2.02) ; B3:=POLYLINE(C>0,C+2.03) ; …… B199:=POLYLINE(C>0,C+3.99): B200:POLYLINE(C>0,C+4) COLORGREEN; {想显示别的颜色继续……} 例二: {先显示 200 条黄色的} A1:=POLYLINE(C>0,C+0.01); A2:=POLYLINE(C>0,C+0.02); A3:=POLYLINE(C>0,C+0.03); …… A199:=POLYLINE(C>0,C+1.99); A200:=POLYLINE(C>0,C+2); A1 OR A2 OR A3 OR……OR A199 OR A200,COLORYELLOW; {再显示 200 条绿色的} B1:=POLYLINE(C>0,C+2.01); B2:=POLYLINE(C>0,C+2.02) ; B3:=POLYLINE(C>0,C+2.03) ; …… B199:=POLYLINE(C>0,C+3.99): B200:=POLYLINE(C>0,C+4) ; B1 OR B2 OR B3 OR……OR B199 OR B200,COLORGREEN; {想显示别的颜色继续……} ------------------------------------------------------------------------------0055--底背离 LLV(L,60)=L) AND NOT(LLV(DEA,60)=DEA); ------------------------------------------------------------------------------0056--顶背离 HHV(H,60)=H) AND NOT(HHV(DEA,60)=DEA); ------------------------------------------------------------------------------0057--N 次金叉、死叉 0 轴上二次金叉 COUNT(CROSS(DIF,DEA) AND DEA>0,20)=2 AND CROSS(DIF,DEA) AND DEA>0; 0 轴上三次金叉 COUNT(CROSS(DIF,DEA) AND DEA>0,20)=3 AND CROSS(DIF,DEA) AND DEA>0; 0 轴上四次金叉 COUNT(CROSS(DIF,DEA) AND DEA>0,20)=4 AND CROSS(DIF,DEA) AND DEA>0; 二次金叉 EXPLAIN(COUNT(CROSS(DIF,DEA),20)=2 AND CROSS(DIF,DEA); 二次死叉 COUNT(CROSS(DEA,DIF),20)=2 AND CROSS(DEA,DIF); ------------------------------------------------------------------------------0058--5 分钟副图显示 15 分钟 K 线 建公式:0015 C15:CLOSE; O15:OPEN; H15:HIGH; L15:LOW; 建公式:十五 K 线 C15:="0015.C15#MIN15"; O15:="0015.O15#MIN15"; H15:="0015.H15#MIN15"; L15:="0015.L15#MIN15"; TI:=OPENMINUTES(TIME)=10 OR OPENMINUTES(TIME)=25 OR OPENMINUTES(TIME)=40 OR OPENMINUTES(TIME)=55 OR OPENMINUTES(TIME)=70 OR OPENMINUTES(TIME)=85 OR OPENMINUTES(TIME)=100 OR OPENMINUTES(TIME)=115 OR OPENMINUTES(TIME)=130 OR OPENMINUTES(TIME)=145 OR OPENMINUTES(TIME)=160 OR OPENMINUTES(TIME)=175 OR OPENMINUTES(TIME)=190 OR OPENMINUTES(TIME)=205 OR OPENMINUTES(TIME)=220 OR OPENMINUTES(TIME)=235; HH15:=IF(TI,H15,C15); LL15:=IF(TI,L15,C15); STICKLINE(C15>O15,C15,O15,10,0),COLORRED; STICKLINE(C15>O15 AND H15>C15,HH15,C15,0.1,0),COLORRED; STICKLINE(C15>O15 AND O15>L15,O15,LL15,0.1,0),COLORRED; STICKLINE(C15<=O15,C15,O15,10,0),COLORGREEN; STICKLINE(C15<=O15 AND C15>L15,C15,LL15,0.1,0),COLORGREEN; STICKLINE(C15<=O15 AND H15>O15,HH15,O15,0.1,0),COLORGREEN; 注:以大陆股市为例,四小时,其他市场如超过四小时,可在中间语句“TI:=”中以 15 为系数顺序加足,如:OR 250 OR 265……等等。 ------------------------------------------------------------------------------0059--移动成本 不知道函数算法,计算误差在所难免。调整参数“%”可看到不同的移动成本。 ///筹码% INPUT:%(90,1,100); A:=AMOUNT/V/100; 成本:FLOOR(COST(50-%/2)*100)/100,COLORYELLOW,LINETHICK0; ~:CEILING(COST(50+%/2)*100)/100,COLORYELLOW,LINETHICK0; 集中度:INTPART((~-成本)/(~+成本)*1000)/10,COLORGREEN; 平均成本:ROUND(COST(50)*100)/100,LINETHICK0; 穿透力:(WINNER(C)-REF(WINNER(C),1))/V*CAPITAL,LINETHICK0;//计算误差大 //穿透力 2:(WINNER(C)-WINNER(O))/V*CAPITAL,LINETHICK0;//这一写法还是误差 大 获利比例:ROUND(WINNER(C)*1000)/10,LINETHICK0; ------------------------------------------------------------------------------0060--妙用 SUMBARS()函数 SUMBARS(X,N) 函数的用法如下: 向前累加到指定值到现在的周期数。 用法: SUMBARS(X,A) 将 X 向前累加直到大于等于 A,返回这个区间的周期数 例如: SUMBARS(VOL,CAPITAL) 1、设计一个指标,计算当日成交量是几天内的最高成交量? 2、设计一个指标,计算当日最高价是几天内的最高价? 提示:直接用 HHV()函数无法得到正确结果。 例一: B:=HHV(H,0); A:=IF(BARPOS=1,B[DATACOUNT]*1.2,H); 价:SUMBARS(REF(A,1)-A,0); U:=HHV(V,0); S:=IF(BARPOS=1,U[DATACOUNT]*1.2,V); 量:SUMBARS(REF(S,1)-S,0); 或: VH:=HHV(VOL,0); FV:=IF(BARPOS=1,VH[DATACOUNT]*1.2,VOL); //VH[DATACOUNT]是历史最高成 交量 量创新高周期数:SUMBARS(REF(FV,1)-FV,0); {这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?} 另一种写法: VH:=HHV(VOL,0); FV:=VOL; FV[1]:=VH[DATACOUNT]*1.2; //VH[DATACOUNT]是历史最高成交量 量创新高周期数:SUMBARS(REF(FV,1)-FV,0); {这里的关键是 REF(FV,1)-FV ,想想看写成 FV-REF(FV,1) 行不行?} 代码已经成功了,原理是什么呢? 假设某日成交量是 3 日内的最大成交量,则必有: REF(VOL,3)-VOL>=0 等价于: (REF(VOL,3)-REF(VOL,2))+(REF(VOL,2)-REF(VOL,1))+(REF(VOL,1)-VOL) >=0 意思就是说,“昨成交量与今成交量之差”逐日累加,直到某日累加和大于等于 0,则 这之间的天数,就是所要求的日数。 我们再来看看 SUMBARS()函数的含义: SUMBARS(X,A):将 X 向前累加直到大于等于 A,返回这个区间的周期数。 显然上面的式子: (REF(VOL,3)-REF(VOL,2))+(REF(VOL,2)-REF(VOL,1))+(REF(VOL,1)-VOL)>=0 可以写成: SUMBARS(REF(VOL,1)-VOL, 0); 为何第 1 周期的成交量要替换成比所有成交量都大的数值?最后,再来思考一个问题, 把题目中的求“最大”,改成求“最小”,即多少天内是最小的? 例二: B:=HHV(H,0); A:=IF(BARPOS=1,9999,H); Z:SUMBARS(REF(A,1)-A,0); DRAWNUMBER(BARPOS=SYSPARAM(1),1,Z,0)ALIGN4,COLORWHITE; U:=HHV(V,0); S:=IF(BARPOS=1,999999999999,V) Y:SUMBARS(REF(S,1)-S,0); DRAWNUMBER(BARPOS=SYSPARAM(1),1,Y,0)ALIGN3,COLORYELLOW; 例三: HH:=IF(BARSCOUNT(C)=1,9999,H); ZH:SUMBARS(REF(HH,1)-HH,0);//价创了 N 周期新高 VH:=IF(BARSCOUNT(C)=1,99999999,V); HV:SUMBARS(REF(VH,1)-VH,0);//量创了 N 周期新高 LL:=IF(BARSCOUNT(C)=1,0,L); ZL:SUMBARS(LL-REF(LL,1),0);//价创了 N 周期新低 VL:=IF(BARSCOUNT(C)=1,0,V); LV:SUMBARS(VL-REF(VL,1),0);//量创了 N 周期新低 附注: 用 99999999 等具体数值,最好是尽可能大的数值(比如单精数的上限),否则仍有 可能无法全部完成计算,比如上证指数的年线,成交量最大时,仍然超过了 99999999。 倒数第 6 天的最高价格怎么表示? FH:=HIGH; FH[DATACOUNT-5]; //倒数第 6 天的最高价格。 [DATACOUNT] 返回 K 线的数量,即总共有多少根 K 线。 ------------------------------------------------------------------------------0061--取得 K 线的序号 取得 K 线的序号,正序有下面几种方法:(从 1 数起) BARPOS; SX:BARSCOUNT(CLOSE); SY:SUM(1,0); DATACOUNT;{不随光标变动,只显示最后 K 线序号} 逆序可用下列方法取得:(从 1 数起) (DATACOUNT-BARPOS)+1; (DATACOUNT-BARSCOUNT(CLOSE))+1; (DATACOUNT-SUM(1,0))+1; ------------------------------------------------------------------------------0062--变量宣告 指定叙述:经过指定宣告后,飞狐才认识 AA、BB、CC,否则会出现"未定义的标示 符号"。所谓"定义",程序语言的用语,就叫做"变量宣告"。 AA:OPEN;{宣告 OPEN,指定给 AA→输出的表达式} BB:HIGH,LINETHICK0;{宣告 HIGH,指定给 BB→输出的表达式→秀数值但不秀线图} CC:=CLOSE;{宣告 CLOSE,指定给 CC→不输出的表达式→不秀数值也不秀线图} DD:(AA+BB+CC)/3;{;分号,告诉程序要换行执行了} EE:=(AA+CC)/2; PARTLINE(CLOSE>0,EE);{秀线图但不秀数值} 注:{ }大括号内或在//后面,可用来输入公式批注。 ------------------------------------------------------------------------------0063--跨周期引用数据 (一)指针线公式的运算,大部份都是代入开、高、低、收、量等数据去运算的。 (二)开、高、低、收、量又分成下面四种型式出现: 开、高、低、收、量(基本的日 K 线数据) 开、高、低、收、量(周 K 线数据) 开、高、低、收、量(月 K 线数据) 开、高、低、收、量(年 K 线数据) (三)所以当指针线公式运算,要代入下面数据时: 开、高、低、收、量(周 K 线数据) 开、高、低、收、量(月 K 线数据) #WEEK 和 #MONTH 就会派上用场。 (四)举例: 公式 A.建立一个专门被用来引用(QUOTE)的公式区。 公式名称:QU A1:(OPEN+HIGH+LOW+CLOSE)/4; 说明:上面公式的运算,是代入开、高、低、收(当前周期 K 线数据)运算的。 公式 B. 公式名称:AA AA:"QU.A1#WEEK"; 说明:将下面公式的运算,代入开、高、低、收(周 K 线数据)运算。 (OPEN+HIGH+LOW+CLOSE) / 4 公式 C. 公式名称:BB BB:"QU.A1#MONTH"; 说明:将下面公式的运算,代入开、高、低、收(月 K 线数据)运算。 (OPEN+HIGH+LOW+CLOSE)/4 附注: 可供引用的周期类型有: MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH 分别表示将 1,5,15,30,60 分钟 K 线数据,以及日,周,月 K 线数据,代入被引 用的公式,进行运算。 意义: 可将大周期内跑的数据,引用到小周期内来跑。将小周期内跑的数据,引用到大周期 内来跑,就会有问题,因为时间横坐标不一样了。 公式(1):先建立即将被引用的表达式 将公式建立在:技术指针 ( ●主图叠加 ○主图 ) 公式名称:NH AA:=HIGH< REF(HIGH,1);{不输出的表达式,如果被引用还是会变成不输出的表达式} BB:=BARSLAST(AA=1); CC:REF(HIGH,BB); {输出的表达式,如果被引用还是会变成输出的表达式} 说明: 上面公式的运算,是以当周期时间数列数据运算的。 公式(2): 将公式建立在:技术指针 ( ●主图叠加 ○主图 ) 公式名称:NHH AA:"NH.AA#WEEK";{不输出的表达式} BB:"NH.BB#WEEK"; CC:"NH.CC#WEEK";{输出的表达式} DRAWNUMBER(ISLASTBAR,CC,CC,2); 说明: 上面公式的运算,是以周周期时间数列数据运算的。 ------------------------------------------------------------------------------0064--未来数据、未知数据 写公式,首先要对已知数据(过去式)、未知数据(未完成式、现在进行式)有通盘的认知。 可将"未来"分为两种情况: 1、实时行情中:在一根 K 线。 以实时行情中的当前日 K 线为例。除了 O 之外,其它 H、L、C 全有未来之嫌。因为 在收盘之前,拉高、打压是司空见惯的事,谁也不能保证 H、L 不会创出当天的新高和新 低,更不用说 C 了。又如日线周期公式"C>REF(C,1);",前一分钟信号成立,后一分钟可 能信号就不成立了。另外,如引用了周 K 和月 K 数据,因为当前周 K 和月 K 还在变动之 中,所以也是未来资料。 2、盘后中:在多根 K 线。 因为在盘后,日 K 中的四大要素 O、H、L、C 就没有未来之可能了。在盘后,除了 周五之外,引用的周 K 指针也是未来数据。除了在月末,引用的月 K 指针也是未来数据。 总而言之,指针公式就分这两种: 线图信号的确定→全都用已知数据(过去式)来决定。 线图信号的确定→有用到未知数据(未完成式、现在进行式)来决定。 ZIG 函数 ZX:ZIG(CLOSE,8); 最近这次峰点、谷点的确定,也常处在未完成式的状态中。 打个比喻,线图信号的确定→有用到未知数据(未完成式、现在进行式),例如,在实 时盘中一根日 K 线的收盘价变来变去,指针线图当然随之而起舞。 ZIG 函数只是把格局放大,N 的日 K 组合而成的一根多日 K 线,这一根多日 K 线的 收盘价变来变去,指针线图当然随之而起舞。 ------------------------------------------------------------------------------0065--主图 KD 在主图上,坐标是以 K 线的价格为主。如何将在 0 与 100 中游走的 KD 指针附加上去, 这是写作指针的基本逻辑观念的运用。 PARAM#1( N,9,2,100 ) PARAM#2( M1,3,1,40 ) PARAM#3( M2,3,1,40 ) RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100 LINETHICK0;{:= 运 算过程不显示值与图} K:SMA(RSV,3,1),LINETHICK0,COLORWHITE;{LINETHICK0 只显值不显图} D:SMA(K,3,1),LINETHICK0,COLORYELLOW; HH:=SYSPARAM(4);{主图可见 K 线最高价} LL:=SYSPARAM(5);{主图可见 K 线最低价} KK:=K/100*(HH-LL)+LL; DD:=D/100*(HH-LL)+LL; PARTLINE(1=1,KK),COLORWHITE; {条件成立时,则显示图线形} PARTLINE(C>0,DD),COLORYELLOW; C;{显示收盘价的值与图线形} PARTLINE(C>=REF(C,1),C),COLORRED;{显示收盘价的图改成涨红跌绿联机图} PARTLINE(C< REF(C,1),C),COLORGREEN; ------------------------------------------------------------------------------0066--描绘 K 线 例一:普通 将下列公式建立在:技术指针 ( ○主图叠加 ●主图 ) 公式名称:KL STICKLINE( ISUP , HIGH , LOW , 0.1 , 0 ) , COLORRED ; STICKLINE( ISUP , CLOSE , OPEN , 8 , 1 ) , COLORRED ; STICKLINE( ISDOWN , HIGH , LOW , 0.1 , 0 ) , COLORCYAN ; STICKLINE( ISDOWN , CLOSE , OPEN , 8 , 0 ) , COLORCYAN ; STICKLINE( ISEQUAL AND C>REF( C , 1 ) , HIGH , LOW , 0.1 , 0 ) , COLORRED ; STICKLINE( ISEQUAL AND C>REF( C , 1 ) , CLOSE , OPEN , 8 , 0 ) , COLORRED ; STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , HIGH , LOW , 0.1 , 0 ) , COLORCYAN ; STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , CLOSE , OPEN , 8 , 0 ) , COLORCYAN ; X:=BARSCOUNT( CLOSE ) ; {以下是描绘第一个交易日的 K 线,以补前面含盖的不足} STICKLINE( ISEQUAL AND X = 1 , HIGH, LOW, 0.1, 0 ) , COLORRED ; STICKLINE( ISEQUAL AND X = 1 , CLOSE , OPEN , 8 , 0 ) , COLORRED ; 说明: ISUP 函数:相当于 IF( CLOSE>OPEN , 1 , 0 )。 ISEQUAL 函数:相当于 IF( CLOSE=OPEN , 1 , 0 )。 ISDOWN 函数:相当于 IF( CLOSE < OPEN , 1 , 0 )。 STICKLINE 函数,画出来的对象有重叠覆盖性:→后画的对象可覆盖先画的对象。 例二:配色 STICKLINE( ISUP , HIGH , LOW , 0.1 , 0 ),COLOR04FEFC ; STICKLINE( ISUP , CLOSE , OPEN , 8 , 0 ),COLOR0466FC ; STICKLINE( ISUP , CLOSE , OPEN , 3 , 0 ),COLOR04FEFC ; STICKLINE( ISDOWN , HIGH , LOW , 0.1 , 0 ),COLORFCFE04 ; STICKLINE( ISDOWN , CLOSE , OPEN , 8 , 0 ),COLORFC6604 ; STICKLINE( ISDOWN , CLOSE , OPEN , 3 , 0 ),COLORFCFE04 ; STICKLINE( ISEQUAL AND C>REF( C , 1 ) , HIGH , LOW , 0.1 , 0 ),COLOR04FEFC ; STICKLINE( ISEQUAL AND C>REF( C , 1 ) , CLOSE , OPEN , 8 , 0 ),COLOR0466FC ; STICKLINE( ISEQUAL AND C>REF( C , 1 ) , CLOSE , OPEN , 3 , 0 ),COLOR04FEFC ; STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , HIGH , LOW , 0.1 , 0 ),COLORFCFE04 ; STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , CLOSE , OPEN , 8 , 0 ),COLORFC6604 ; STICKLINE( ISEQUAL AND C<=REF( C , 1 ) , CLOSE , OPEN , 3 , 0 ),COLORFCFE04 ; X:=BARSCOUNT( CLOSE ) ; {以下是描绘第一个交易日的 K 线,以补前面含盖的不足} STICKLINE( ISEQUAL AND X = 1 , HIGH, LOW, 0.1, 0 ),COLOR04FEFC ; STICKLINE( ISEQUAL AND X = 1 , CLOSE , OPEN , 8 , 1 ),COLOR0466FC ; STICKLINE( ISEQUAL AND X = 1 , CLOSE , OPEN , 3 , 1 ),COLOR04FEFC ; ------------------------------------------------------------------------------0067--分时 K 线当天 K 线序号 范例:开盘第一根分时 K 线,指定一个值=1 给它,其它为 0。 XA:REF(DATE,1)<>DATE, STICK; 范例:每天的分时 K 线,指定它的当天 K 线序号给它 XA:=REF(DATE,1)<>DATE, STICK; XB:BARSLAST(XA=1) + 1 ,STICK; 应用:每天在分时 K 线,累计成交张数 XA:=REF(DATE,1)<>DATE , STICK; XB:=BARSLAST(XA=1) + 1 ,STICK; SV:SUM( VOL , XB ) ; 范例:标记今天分时 K 线的今天 K 线序号。过了午夜 12 点,就又要等早盘开盘后序 号数字才会出现 XA:=CURRENTDATE=DATE ; XB:=REF(XA , 1)<>XA ; XC:HHVBARS(XB , 0) + XA ; 应用:13 均线今天当下最后数值向后延申,画平台线。 XA:=CURRENTDATE=DATE ; XB:=REF(XA , 1)<>XA ; XC:=HHVBARS(XB , 0) + XA ; XD:=MA(C,13); XE:=REFX(XD , 300); XF:IF(XC>=0 , XE , 0) ,LINETHICK0,COLOR99FFFF; PARTLINE(XC>=1 , XF) ,COLOR99FFFF; ------------------------------------------------------------------------------0068--系统参数函数 这组函数,应用在取得当前可视主图区内的一些数字信息,如下所示: 1.当前十字光标所在位置,那根 K 线的序号; 2.当前可视主图区,最初那根 K 线的序号; 3.当前可视主图区,最后那根 K 线的序号; 4.当前可视主图区,最高价; 5.当前可视主图区,最低价。 注:但须调出十字光标后,这组函数才能发生作用。否则回传的值是不确定的。 SYSPARAM(1) SYSPARAM(2) SYSPARAM(3) SYSPARAM(4) SYSPARAM(5) 函数:SYSPARAM(1) 说明: 回传当前 十字光标所在位置那根 K 线的序号 函数:SYSPARAM(2) 说明: 回传当前可视主图区 最初那根 K 线的序号 函数:SYSPARAM(3) 说明: 回传当前可视主图区 最后那根 K 线的序号 函数:SYSPARAM(4) 说明: 回传当前可视主图区 最高价 函数:SYSPARAM(5) 说明: 回传当前可视主图区 最低价 范例: 将公式建立在:技术指针 ( ●主图叠加 ○主图 ) SS:=SYSPARAM( 1 ) ; DD:=SUM( 1 , 0 ) ; CC:CLOSE * 1.07 , LINETHICK0 , COLORYELLOW ; PARTLINE( SS>=DD , CC ) , COLORYELLOW ; 注: DD:SUM( 1 , 0 ) ; SS:SYSPARAM( 1 ) ; 上面两者,显然有明显的不同之处。 1.DD 是一组变量型时间数列,代表 K 线的序号。 2.SS 是隐含有 N 组常数型时间数列(N=这支股票的 K 线总数)。 DD:SUM(1,0) 以数学的二维空间 F(X)=Y 表示:Y=X SS:SYSPARAM(1) 以数学的二维空间 F(X)=Y 表示,其中 A 属正整数:Y=A SUM(1,0)=SYSPARAM(1)意指,下面两条线交叉成立的那一点: Y=X Y=A 范例: MA1:=MA(CLOSE,5); MA2:=MA(CLOSE,13); XA:=CROSS(MA1,MA2) ; XB:IF(XA=1,SUM(1,0),0);{条件成立时回传它的 K 线序号} ------------------------------------------------------------------------------0069--概率统计 COUNT,计数。SUM,总数、和。 当数组为逻辑运算判断的结果时,COUNT 和 SUM 的返回值是一样的。一般习惯上, 对于逻辑运算信号,用 COUNT 统计,返回其它数值的,用 SUM 统计。 当 COUNT 统计一般数值时,数组大于等于 1 时,计入;小于 1 时,不计入。这两个 函数,主要用于统计。 用 COUNT(CROSS(MA(C,5),MA(C,10)),0);就可以统计出全部的五天均线上穿十天 均线的金叉数。 用 SUM(CROSS(MA(C,5),MA(C,10)),0);和以上得出的结果应该是一样的。 股市的不随机规律,隐藏在统计概率之中。用这两个函数,可以统计很多概率性的规 律。 比如,以两天的收盘价相比,昨天是下跌的,今天的下跌的概率是多少? A:=C< REF(C,1); B:=REF(A,1) AND C>REF(C,1);{昨天下跌,今天上涨} D:=REF(A,1) AND C=REF(C,1);{昨天下跌,今天平盘} E:=REF(A,1) AND C< REF(C,1);{昨天下跌,今天下跌} F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0); 上升概率:100*COUNT(B,0)/F; 下跌概率:100*COUNT(E,0)/F; 平盘概率:100*COUNT(D,0)/F; 从两市指数看,昨天下跌,今天下跌的概率始终大于 50%。那么连跌两天之后,第三 天收盘的各种概率是多少? A:=C< REF(C,1) AND REF(C,1)< REF(C,2); B:=REF(A,1) AND C>REF(C,1);{前两天下跌,今天上涨} D:=REF(A,1) AND C=REF(C,1);{前两天下跌,今天平盘} E:=REF(A,1) AND C< REF(C,1);{前两天下跌,今天下跌} F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0); 上升概率:100*COUNT(B,0)/F; 下跌概率:100*COUNT(E,0)/F; 平盘概率:100*COUNT(D,0)/F; 从指数的输出看,概率更明显了。连跌三天之后呢? A:=C< REF(C,1) AND REF(C,1)< REF(C,2) AND REF(C,2)< REF(C,3); B:=REF(A,1) AND C>REF(C,1);{前三天下跌,今天上涨} D:=REF(A,1) AND C=REF(C,1);{前三天下跌,今天平盘} E:=REF(A,1) AND C< REF(C,1);{前三天下跌,今天下跌} F:=COUNT(B,0)+COUNT(D,0)+COUNT(E,0); 上升概率:100*COUNT(B,0)/F; 下跌概率:100*COUNT(E,0)/F; 平盘概率:100*COUNT(D,0)/F; 规律就更明显了。 不要小看这些数据。虽然没有有些“高手”做出的成功率达百分之九十左右的公式那么 夸张,但很有意义的。要知道股市中的随机因素太多,平衡性很强,稍稍的统计偏向,足 可作为有用的参考。 这只是简单的例子,用这两个函数,可以做出很多的有用的统计数据。多数的交易系 统的"胜率",可以由此统计出来。 统计: A:=CROSS(C,MA(C,3)); B:=CROSS(MA(C,3),C); D:B*(C-REF(C,BARSLAST(A))); 月:SUM(D,20); 季:SUM(D,60); 半:SUM(D,120); 年:SUM(D,250); 总和:SUM(D,0); ------------------------------------------------------------------------------0070--五彩 K 线常用颜色 黑色 COLORBLACK 蓝色 COLORBLUE 棕色 COLORBROWN 青色 COLORCYAN 灰色 COLORGRAY 绿色 COLORGREEN 晶红 COLORMAGENTA 红色 COLORRED 白色 COLORWHITE 黄色 COLORYELLOW ------------------------------------------------------------------------------0071--分析家公式设定注意事项 参数 最多四个参数,每个有最大和最小及缺省值,须有自己名称 注释 用大括号括起来放在被注释语句之后 公式名称 由字母或数字组成,在同类公式中必须唯一,最多九个字符 中间公式 使用":="来定义名字,不能与系统提供的函数同名 Param#1-4 对应于参数 1-4,大小写敏感 坐标线位置 最多七个,用分号分隔 组合公式设置 小公式间用分号隔开 绘图参数使用 将其插入到指标公式的后面,用逗号分隔开 区分多条指标线 在指标公式前写上名称并加上一个冒号 指标线名字的使用 可以当函数名用 指标线绘制的极限 可同图显示 16 条指标线 五彩颜色参数使用 将其插入到指标公式的后面,用逗号分隔开 ------------------------------------------------------------------------------0072--交易系统公式交易类型 ENTERLONG 多头买入 EXITLONG ENTERSHORT 空头买入 多头卖出 EXITSHORT 空头卖出 ------------------------------------------------------------------------------0073--可供引用的周期类型 MIN1 1 分钟线 MIN60 60 分钟线 MIN5 5 分钟线 DAY 日线 MIN15 15 分钟线 WEEK 周线 MIN30 30 分钟线 MONTH 月线 ------------------------------------------------------------------------------0074--引用表达式 引用指标公式 公式名称.指标线名称(参数表) 引用交易系统公式 SYSTEM.公式名称.交易类型(参数表) 引用条件选股公式 EXPLORER.公式名称(参数表) 跨周期引用公式 各种类型公式名称#周期类型(参数表) 引用任意股票的数据 引用扩展数据 股票代码$数据名称 EXTDATA(N) 分析家 N=1-11 飞狐 N=1-13 引用横向统计日线数据(1-N) ESTDATA(N) 引用类函数第二个变量参数 类函数名称(第一参数,变量名或变量表达式) ------------------------------------------------------------------------------0075--符号一览表 符号 名称 举例 符号 名称 举例 并且 X>Y && Y>Z + 加 X+Y && - 减 X-Y || 或者 * 乘 X*Y $ 修饰符号 / 除 X/Y ( 括号 HIGH/(CLOSE+OPEN) < 小于 X<Y ) 反括号 HIGH/(CLOSE+OPEN) > 大于 X>Y , 逗号 MA(Close,3) X>Y || Y>Z 000014$CLOSE <= 小于等于 X <= Y : 输出 输出:CLOSE+OPEN >= 大于等于 X >= Y := 赋值 变量 1:=HIGH 等于 = X=Y 双引号 " "000014$OPEN" {} 注释符号 {注释部分} . 点号 KDJ.K // 注释符号 //注释部分 ; 分号 A:=CLOSE; AND 并且 X>Y AND Y>Z # 变周期符号 TMP1:=CLOSE#WEEK OR 或者 X>Y OR Y>Z ## 变周期前一 VOL##DAY <> 非 X <> Y ' 单引号 '大阳线' ------------------------------------------------------------------------------0076--横向统计 函数:ESTDATA(N) 描述:取得横向统计日线数据(1-N) 类别:扩展数据 参数:N 说明:在[横向统计管理]中定义并计算数据(本函数仅在日线分析周期有效)。 用基本公式做出的主图公式和副图公式,显示在个股或指数中,是纵向的,遍历当时 显示的个股或指数中的每根 K 线。然后指标大小、变化、交叉情况等,都体现在某一个股 或指数中。甲股和乙股,哪个 KDJ 中的 K 值大?用纵向变量(指标),原来就一点招数 都没有。又比如,两市 A 股中,今天有几只个股的收盘价在 10 日均线之上,用纵向变量 (指标)也没有办法,因为纵向变量(指标)只能在某一个股或指数中才可以比较。而多 股间横向的比较和统计,是很有参考价值的。所以,相对于原来的纵向变量(指标),就 有了横向变量这一说。 横向指标用在公式中,也是遍历每根 K 线的,与一般的基本函数的遍历有点不同,因 为它的数据来源不同,是对应于每根 K 线的日子以及哪个日子中对应板块中的个股数和选 择条件等。 横向统计涉及全场数据的计算,而且可以增加到数千项之多,运算量惊人,目前无法 做到实时刷新(动态显示),只能手工刷新(建议盘后进行)。 横向变量主要用于盘后。要动态刷新,目前没有即时刷新的设置,可能考虑到计算量 较大吧。要是不怕麻烦,过几分钟就刷新一下(刷新一次,就相当于重新计算一遍),也 可以看到"动态"涨跌值排名。 横向变量在公式中的输出,与 K 线的日子有绝对的关系,与当时显示的个股或指数没 有多大关系,在某个股中的输出和其他任一个股中的输出都一样。 横向变量所用的统计方法,是对所选板块中的个股或指数,进行全盘的统计。最近所 加的"最大值"、"最小值"是两个极值,是对排序头尾的取值。而要取横向排序中的第二名、 第三名,单用横向变量目前还做不到。但不排除此功能以后会开发出来。 排名名次要用扩展数据!横向变量目前做不到。 如果做横向变量或扩展数据,在当时选择的计算周期如果是日线,则今天刷新,"原本 排列"就保存在昨天。横向变量实际上即是横向的,从时间上又是纵向的。 扩展数据是横向的,引用时从时间上又是纵向的。 ------------------------------------------------------------------------------0077--扩展数据 函数:EXTDATA(N) 描述:取得日线扩展数据(1-13); 分析家 N 取 1--11 类别:扩展数据 参数:N 取 1--13 说明:在[扩展数据管理]中定义并计算数据(本函数仅在日线分析周期有效)。 有些数据,非常重要,可是随着时间的推移,就再也找不到了。比如说某个股一天之 中的总成交次数,又比如说某个股在上个月的 1 号,涨幅排名是第几?这些信息,要么以 后就查不到了,要么在公式中也无法引用。而扩展数据库能解决这些问题。扩展数据库能 够随日线保存这些数据,而且是计算好了的结果,所以引用时速度也很快。 扩展数据有两个用处:1、保存计算值。2、保存计算值的排名结果。目前飞狐的扩展 数据,可以最多做 13 个。太多了好像也没有多大意思,因为扩展数据计算历史数据有点 慢,而且也较占空间。历史的数据量大,当然慢了。可是计算好之后,以后只要更新当天 的,速度还是较快的。计算扩展数据,某个股,一个交易日,一次只能得到一个结果数据, 而且所选之指标,也应该是唯一的。 想保存所有分笔成交记录?扩展数据是做不到的。 缺省数据:某一天,或者说个股停盘等原因,没有计算结果,系统就将缺省数据保存 到扩展数据库中。 在进行排序时,有两种排序方式,一种为 0-N 自然排序,一种为 1-1000 归一化排序, 区别在于:自然排序按自然数来排列名次,排名在第几结果就是几,第一名,返回 0;第 二名,返回 1;第 N 名,返回 N-1。而归一化排序时将排序归一化到 0-1000 之间,第一 位为 0,最后一位为 1000,采用公式"排名*1000/参加排名的股票数"来进行计算。归一化 排序的好处是,不随股票数目的增加而对排序结果有较大的影响。 怎么引用扩展数据?EXTDATA(N);N 指引用第几组扩展数据,从 1 到 13。比如把分 笔成交次数的扩展数据建立在第一组中,引用时,就用 EXTDATA(1);这个公式,在某个股 中,就输出此股在当天的总成交次数。扩展数据,有横向的性质,特别是用排名时。同时 又是纵向的,只要有数据,以前的日子里,也可以返回所得值。而且从理论上说,扩展数 据库是可以永远保存的。由于计算量较大,目前扩展数据不支持即时刷新。不过可以手工 刷新。 ------------------------------------------------------------------------------0078--峰点公式 为了能找到合适的 COND,用于举例子,先介绍一组概念: 高点:在 2N+1 根 K 线中,中间这根 K 线的 H,要大于等于左右 N 根 K 线的 H。在 N+1 根 K 线中,有等高点出现,取最先出现的。 低点:在 2N+1 根 K 线中,中间这根 K 线的 L,要小于等于左右 N 根 K 线的 L。在 N+1 根 K 线中,有等低点出现,取最先出现的。 峰点:高点和低点,合称为峰点。 这个定义,意合于技术分析的老祖宗道氏:"只要平均指数的最高点超过了前期的最高 点,它就处于牛市时期;当最低点低于前期的最低点时,它处于熊市时期。"这里我们撇开 向上、向下分形和分形峰状点等概念,以免把概念复杂化。 也为了不让公式一来就过于复杂,我们先取 N 为 2 来做公式。简介到后面,可以看到, N 是可以作为峰点公式的参数进行调整的。 公式名称:FENG2 公式说明:供引用 公式内容: {峰点参数暂定为 2} A:=REF(H,2);{中间 K 线的最高价} B:=A>=REF(H,4) AND A>=REF(H,3) AND A>=REF(H,1) AND A>=H;{中间 K 线的最 高价大于等于两边共四根 K 线的最高价} D:=BACKSET(B,3);{将当前位置和之前 2 个周期的数值设为 1} HD:FILTER(D,2);{找到高点后,过滤掉其后 2 周期内可能出现的等高点。输出高点} A2:=REF(L,2);{中间 K 线的最低价} B2:=A2<=REF(L,4) AND A2<=REF(L,3) AND A2<=REF(L,1) AND A2<=L;{中间 K 线 的最低价小于等于两边共四根 K 线的最低价} D2:=BACKSET(B2,3);{将当前位置和之前 2 个周期的数值设为 1} LD:FILTER(D2,2);{找到低点后,过滤掉其后 2 周期内可能出现的等低点。输出低点} {后面有些例子,就从这个公式中引用信号。} 用法: DRAWICON(COND,PRICE,TYPE), 当 COND 条件满足时,在 PRICE 位置画 TYPE 号图标。15 种图标编码为 1-15(1-3 为小脸,4-5 为上下箭头,6-7 为红绿小旗,8-9 为 三角形,10-12 为信号灯,13-15 为 O、X、四方形)。TYPE 为字符串时可显示用户自制 BMP 图。 示例:DRAWICON(CLOSE>OPEN,LOW,4)表示当收阳时在最低价位置画 4 号图标。 DRAWICON(C>O, L, 'MyBMP')表示当收阳时在最低价位置画 FmlDLL 子目录下的自 制图标 MyBMP.BMP。 1、COND 条件,一般是指判断的结果,不是 0 就是 1。如用其它数据,大于等于 1 的,条件满足;小于 1,条件就不满足。 2、TYPE 图标,现在已经有 12 种,用下面的公式,在 000829 上可以全部显示出来。 当 TYPE 取大于等于 12 的数时,都显示黄球。 当 TYPE 取 0 时,显示的是笑脸(这个公式中没有做进去,自己可以试一下)。 B:="FENG2.HD"; D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1); A:=D>REF(D,1); DRAWICON(REF(A,1),1.05*H,1); DRAWICON(REF(A,2),1.05*H,2); DRAWICON(REF(A,3),1.05*H,3); DRAWICON(REF(A,4),1.05*H,4); DRAWICON(REF(A,5),1.05*H,5); DRAWICON(REF(A,6),1.05*H,6); DRAWICON(REF(A,7),1.05*H,7); DRAWICON(REF(A,8),1.05*H,8); DRAWICON(REF(A,9),1.05*H,9); DRAWICON(REF(A,10),1.05*H,10); DRAWICON(REF(A,11),1.05*H,11); DRAWICON(REF(A,12),1.05*H,12); DRAWICON(REF(A,13),1.05*H,13); DRAWICON(REF(A,14),1.05*H,100);{主图叠加} 当红球和绿球连续显示时,立体感会强一些。 DRAWICON(C>=MA(C,30),MA(C,30),10); DRAWICON(C< MA(C,30),MA(C,30),11);{主图叠加} 3、PRICE 是用于定位图标的位置的。一般用 1.01*H,或者 0.99*L 等。现在可用 ALIGN(0-5)指定对齐位置。 用这个公式来试(主图叠加) B:="FENG2.HD"; D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1); A:=D>REF(D,1); E:=REF(H,1); DRAWICON(A,E,10),ALIGN0; DRAWICON(A,E,11),ALIGN1; DRAWICON(A,E,12),ALIGN2; DRAWICON(A,E,3),ALIGN3; DRAWICON(A,E,4),ALIGN4; DRAWICON(A,E,5),ALIGN5; 可以初步得出结论: ALIGN0:信号出现在 PRICE 的正中; ALIGN1:信号出现在 PRICE 下边(十分靠近); ALIGN2:信号出现在 PRICE 上边(十分靠近); ALIGN3:信号出现在主图的中间; ALIGN4:信号出现在主图的最上边; ALIGN5:信号出现在主图的最下边; 在高低点上作图标,可以使高低点更明确了。 A:="FENG2.LD"; B:="FENG2.HD"; DRAWICON(A,L,11),ALIGN1; DRAWICON(B,H,10),ALIGN2;{主图叠加} 4、可以自由调用 MyBMP.BMP 图到显示位置,大大增强了输出的效果。你只要看到 好看的图,可以随时抓拍过来,做成 BMP 文件,放到 FmlDLL 子目录下,就可以调用了。 A:="FENG2.LD"; B:="FENG2.HD"; DRAWICON(A,L,'PIG'),ALIGN1; DRAWICON(B,H,'PIG'),ALIGN2;{主图叠加。如果你没有 PIG.BMP 文件,则不可显 示。} DRAWICON(1,MA(C,5),'S28'); DRAWICON(1,MA(C,10),'S31'); DRAWICON(1,MA(C,20),'S14'); DRAWICON(1,MA(C,30),'S25');{主图叠加。如果你没有 PIG.BMP 文件,则不可显示。} 举个例子: A:="FENG2.LD"; B:="FENG2.HD"; DRAWICON(A,L,11),ALIGN1; DRAWICON(B,H,10),ALIGN2; D:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1); E:=D>REF(D,1); F:=BACKSET(E,REF(BARSLAST(B),1)+2); G:=F>REF(F,1); DRAWLINE(G,H,E,H,1),pointdot,linethick1,coloryellow;{主图叠加} 这根线有些趋势线的意思了。由于趋势线的主观性颇强,只有多设参数才能满足多数 人的要求。 DRAWLINE 画出的线,应该比手工画出的线精确一些(DRAWLINE 画线的灵敏度, 要比手工画线低,所以说 DRAWLINE 画出的线精确,就未必对)。 主要用于画斜线,水平线我们一般可以另想办法。因为在图中显示直线,并 非 DRAWLINE 的"专利"。 比如: A:="FENG2.LD"; B:="FENG2.HD"; D:=BACKSET(ISLASTPERIOD,BARSLAST(A)+1); E:=D>REF(D,1); F:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1); G:=F>REF(F,1); 前高:REF(H,BARSLAST(G)); 前低:REF(L,BARSLAST(E));{主图叠加} 说明:在图形上显示数字 用法: DRAWNUMBER(COND,PRICE,NUMBER,PRECISION),当 COND 条件满足时, 在 PRICE 位置书写数字 NUMBER(可以为常数或数组序列),PRECISION 为小数显示位 数(取值范围 0-3)。可 ALIGN0-5 定义对齐方式。 示 例 : DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-REF(C,1))/REF(C,1)*100,2) 表 示 当日涨幅大于 8%时在最高价位置显示涨幅(相对开盘价的百分比)。 这个函数的特色是,在 NUMBER 位置可以放变量。 NUMBER,数字。DRAWNUMBER 是 DRAWTEXT 的"兄弟",也可以用 ALIGN(0-5) 来定义水平位置,方法相同。 A:="FENG2.LD"; B:="FENG2.HD"; DRAWICON(A,L,11),ALIGN1; DRAWICON(B,H,10),ALIGN2; D1:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1); E1:=D1>REF(D1,1);{离目前最近的一个高点} D2:=BACKSET(E1,REF(BARSLAST(B),1)+2); E2:=D2>REF(D2,1);{倒数第二个高点} DRAWTEXT(E1,H*1.02,'高点价:'),COLORGREEN,ALIGN2; DRAWNUMBER(E1,H*1.02,H,2),COLORGREEN,ALIGN1; DRAWTEXT(E2,H*1.02,'高点价:'),COLORYELLOW,ALIGN2; DRAWNUMBER(E2,H*1.02,H,2),COLORYELLOW,ALIGN1;{主图叠加} A:="FENG2.LD"; B:="FENG2.HD"; DRAWICON(A,L,11),ALIGN1; DRAWICON(B,H,10),ALIGN2; D1:=BACKSET(ISLASTPERIOD,BARSLAST(B)+1); E1:=D1>REF(D1,1);{离目前最近的一个高点} D2:=BACKSET(E1,REF(BARSLAST(B),1)+2); E2:=D2>REF(D2,1);{倒数第二个高点} D3:=BACKSET(E2,REF(BARSLAST(B),1)+2); E3:=D3>REF(D3,1);{倒数第三个高点} DRAWTEXT(E1,H*1.01,'☆TEXT:'),COLORRED,ALIGN0; DRAWTEXT(E2,H*1.01,'★TEXT:'),COLORGREEN,ALIGN1; DRAWTEXT(E3,H*1.01,'?TEXT:'),COLORYELLOW,ALIGN2;{主图叠加} 描述:绘制折线段 类别:绘图 说明:在图形上绘制折线段 用法: POLYLINE(COND,PRICE),当 COND 条件满足时,以 PRICE 位置为顶点画折线 连接。 示例:POLYLINE(HIGH>=HHV(HIGH,10),HIGH)表示在创 10 天新高点之间画折线。 POLY,多个的。 支持 POINTDOT、LINETHICK、COLOR、SHIFT 这四个描述函数。 A:="FENG2.LD"; B:="FENG2.HD"; DRAWICON(A,L,11),ALIGN1; DRAWICON(B,H,10),ALIGN2; POLYLINE(A,L),POINTDOT,COLORGREEN; POLYLINE(B,H),LINETHICK2,COLORMAGENTA;{主图叠加} 参数可调整的峰点公式: A:=REF(H,N)=HHV(H,2*N+1);{当前位置 N 天之前的最高价是最近 2*N+1 根 K 线中 的最高价} B:=FILTER(A,N); {当高点附近有等高的 K 线出现时,会影响后续高点的判断,所以要 过滤} D:=BACKSET(B,N+1);{将当前位置及前 N 周期的数值设为 1,所以要用 N+1} HD:=FILTER(D,N); {当高点附近有等高的 K 线出现,取第一个,过滤掉后面 N 个周 期之内出现的} A2:=REF(L,N)=LLV(L,2*N+1);{求低点的过程与求高点的过程同理} B2:=FILTER(A2,N); D2:=BACKSET(B2,N+1);{参数 N:1,3,999} LD:=FILTER(D2,N);{主图叠加} DRAWICON(HD,H,10),ALIGN2;{在高点附近显示红球} DRAWICON(LD,L,11),ALIGN1;{在低点附近显示绿球} 可以说,这个公式用了未来函数 BACKSET,但是用在日 K 线中,盘后是没有未来数 据的,因为引用的全是已经发生过的不可变的数据了。 至于即时盘中的未来数据,那是说不到底的事,基本所有的公式,都有即时盘中未来 数据。 红球绿球作为峰点标志,在显示 K 线不多的情况下,还比较清楚。但当 K 线数较多时, 因为球的大小是不变的,所以看起来比较乱。故可用以下公式: A:=REF(H,N)=HHV(H,2*N+1); B:=FILTER(A,N); D:=BACKSET(B,N+1); HD:=FILTER(D,N); A2:=REF(L,N)=LLV(L,2*N+1);B2:=FILTER(A2,N); D2:=BACKSET(B2,N+1);LD:=FILTER(D2,N); STICKLINE(REF(HD,1),REF(H,1),REF(H,1),18,0),COLORMAGENTA; STICKLINE(REF(LD,1),REF(L,1),REF(L,1),18,0),COLORGREEN; 函数:HHVBARS(X,N) 描述:上一高点位置 类别:引用 参数:X 为数组,N 为计算周期 返回:返回数组 说明:求 N 周期内 X 最高值到当前周期数,N=0 表示从第一个有效值开始统计 示例:HHVBARS(HIGH,0)求得历史新高到当前的周期数 HHV、HHVBARS 这两个函数一起用,可以找到当前 N 天中的最高点。 A:=BACKSET(ISLASTPERIOD,HHVBARS(H,N)+1); B:=COUNT(A,N)=1;{取得前 N 个周期内的最高点位置} REF(H,BARSLAST(B)); DRAWICON(B,H,1),ALIGN2;{主图叠加。N:30,1,9999} 函数:LLVBARS(X,N) 描述:上一低点位置 类别:引用 参数: 无 返回: 无 说明:求 N 周期内 X 最低值到当前周期数,N=0 表示从第一个有效值开始统计 示例:LLVBARS(HIGH,10)求得 10 日最低点到当前的周期数 当前 N 天之内的最高点和最低点就一目了然了: A:=BACKSET(ISLASTPERIOD,HHVBARS(H,N)+1); B:=COUNT(A,N)=1;{取得前 N 个周期内的最高点位置} REF(H,BARSLAST(B)); DRAWICON(B,H,1),ALIGN2; A2:=BACKSET(ISLASTPERIOD,LLVBARS(L,N)+1); B2:=COUNT(A2,N)=1;{取得前 N 个周期内的最低点位置} REF(L,BARSLAST(B2)); DRAWICON(B2,L,2),ALIGN1;{主图叠加。N:30,1,9999} 这个公式求前期高低点,在 600036 等次新股上试调整参数就露马脚了,并不完善。 问题出在 HHVBARS 起算点等原因上。 下面这个公式可以说是完美解决方案: HH:HHV(H,N),LINETHICK2; LL:LLV(L,N),LINETHICK2;{主图叠加,参数 N:30,1,9999} 当 N 个周期之内,有两个最高价,即有等高的情况出现,HHVBARS 会返回哪个最高 价到当前的周期数呢? 用副图公式观察一下,N 取 10: HHVBARS(H,N); 我们可以得出结论,返回的是前一个最高价到当前的周期数。同样,当在 N 个周期之 内,有两个等低的最低价出现时,LLVBARS 会返回前一个最低价到当前的周期数。 ------------------------------------------------------------------------------0079--窄幅整理 (HHV(C,20)-LLV(C,20)/C<0.08; ------------------------------------------------------------------------------0080--N 天前到 M 天前之间的最高价 REF(HHV(H,20),40); ------------------------------------------------------------------------------0081--某时间段最高价 HH:=IF(YEAR=1998 AND MONTH>=8 AND MONTH<=12,H,0); HHV(HH,0);{此例求 1998 年 8 月 1 日到 1998 年 12 月 31 日间的最高价} ------------------------------------------------------------------------------0082--二十日内是否有过涨停 TT:=C/REF(C,1)>1.095; COUNT(TT,20)>0; ------------------------------------------------------------------------------0083--放量创新高 AA:=MA(V,5); BB:=REF(AA,2); CC:=HHV(C,30); AA/BB>2 AND C=CC; ------------------------------------------------------------------------------0084--突破长期平台整理 V1:=MA(V,5); V2:=V/REF(V1,1); PZ1:=MA(C,150); PZ2:=HHV(H,150); PZ3:=LLV(L,150); PZ4:=(PZ2-PZ1)/PZ1; PZ5:=(PZ1-PZ3)/PZ1; PZ:=REF(PZ4,1)<0.15 AND REF(PZ5,1)<0.15; TP1:=HHV(H,150); TP:=H=TP1; V2>=2 AND PZ AND TP ------------------------------------------------------------------------------0085--尾盘大单拉升或打压 AA:=TIME>=145500; BB:=SUM(V,0)/240;//当天均量 CC:=SUM(V,10)/10;//10 分钟内的成交均量 DD:=REF(C,10); AA AND CC/BB>3 AND C/DD>1.02; ------------------------------------------------------------------------------0086--MACD 柱状体变宽语法 Moving Average Convergence/Divergence , MACD , 移动平均收敛/发散指针 Param(LONG , 26 ,20 100) Param(SHORT , 12 , 5 ,40) Param(M , 9 , 2 , 60) DIFF:EMA( CLOSE , SHORT ) - EMA( CLOSE LONG) ,LINETHICK0,COLOR99FFFF; DEA:EMA( DIFF , M ) ,LINETHICK0,COLORFF9966; MACD: 2 * ( DIFF - DEA ) ,LINETHICK0,COLOR9966FF; STICKLINE(MACD>0,0,MACD,6,1) ,COLOR9966FF; STICKLINE(MACD<=0,0,MACD,6,1) ,COLORCCFF66; PARTLINE(C>0,DIFF) ,COLOR99FFFF; PARTLINE(C>0,DEA) ,COLORFF9966; 英译: DIFF=Difference = 差异=差离值 DEA=Difference Exponential Average= 差异的指数平滑移动平均=差离值平均值 MACD=Moving Average Convergence/Divergence = 移动平均收敛/发散 , 利用快速和慢速两条指数平滑移动平均线,计算两者之间的差离值 DIFF 再利用差离值 DIFF,来计算差离值平均值 DEA 本公式 MACD 柱状,即可明显体现出了 DIFF 与 DEA 两者的收敛交会与发散分离的 情况, 用以研判买进或卖出的时机 ------------------------------------------------------------------------------0087--傅立叶变换 用法:FFT(X , N) 傅立叶变换,对数列 X 进行傅立叶变换,或变换处理后反变换 示例: 当 N=0 时,对数列 X 进行傅立叶变换; 当 N=1 时,对数列 X 进行傅立叶变换后,再反变换回来,与原 X 一致; 当 N>1 时,对数列 X 进行傅立叶变换后,舍去周期小于 N 的成分后再反变换回来; 傅立叶变换是最常用的积分变换。原理和对数变换等差不多,广泛应用于工程技术领 域。可傅立叶变换的算法,涉及高等数学的微积分知识,非三言两语说得清楚。 傅立叶变换的应用方面:把 FFT(CLOSE,30),在主图中上移、下移之后,可以构成 非常光滑的信道。 AA:FFT(CLOSE,30); XX:AA*1.05; YY:AA*0.95; ------------------------------------------------------------------------------0088--周期切换 函数: DATATYPE 别名: DATAPERIOD,、数据周期类型 用法: DATATYPE 回传值竹范围为 0-11 分别表示分笔成交、1 分钟、5 分钟、15 分钟、30 分钟、60 分钟、 日、周、月、年、多日、多分钟 范例:切换到日线时跑最高价、切换到周线时跑最低价。考虑到什么周期秀什么线的 问题 XH:=IF( DATATYPE=6 , 1 , 0 ) ; XL:=IF( DATATYPE=7 , 1 , 0 ) ; AA:=MA(C , XH)/MA(C , XH) ; BB:=MA(C , XL)/MA(C , XL) ; HH:=HIGH ; LL:=LOW ; 日线最高价:AA*HH , COLORGREEN ; 周线最低价:BB*LL , COLORYELLOW ; 范例:切换到指数类 STKTYPE=0 跑 10 均线,切换到个股类 STKTYPE=5 跑 30 均 线。 XA:=IF( STKTYPE=0 , 1 , 0 ) ; XB:=IF( STKTYPE=5 , 1 , 0 ) ; AA:=IF( XA=1 , MA(C,10) , 0 ) ; BB:=IF( XB=1 , MA(C,30) , 0 ) ; 指针线:AA+BB ; 范例:标记当天分时 K 线的当天 K 线序号。过了午夜 12 点,就又要等早盘开盘后序 号数字才会出现 XA:=CURRENTDATE=DATE ; XB:=REF(XA , 1)<>XA ; XC:HHVBARS(XB , 0) + XA ; 应用:13 均线当天当下最后数值向后延申,画平台线。 XA:=CURRENTDATE=DATE ; XB:=REF(XA , 1)<>XA ; XC:=HHVBARS(XB , 0) + XA ; XD:=MA(C,13); XE:=REFX(XD , 300); XF:IF(XC>=0 , XE , 0) ,LINETHICK0,COLOR99FFFF; PARTLINE(XC>=1 , XF) ,COLOR99FFFF; ------------------------------------------------------------------------------0089--公历农历 范例:公历日期 YY:=YEAR*10000; MM:=MONTH*100; DD:=DAY ; 公历日期:YY+MM+DD ,LINETHICK0; 范例:农历日期 LY:=LYEAR*10000; LM:=LMONTH*100; LD:=LDAY; 农历日期:LY+LM+LD ,LINETHICK0; 范例:两个日期相差天数→横坐标切换→自然日坐标和交易日坐标效果不一样 两日期相差天数 A: DATEDIFF(1020929,1021003),LINETHICK0; 两日期相差天数 B: DATEDIFF(LSOLARTERMDATE(1), DATE),LINETHICK0; 范例:9 点:30 分:59 秒以前的分时 K 线,指定一个值=1 给它,其它为=0 N:=30; XA:IF((HOUR=8) OR (HOUR=9 AND MINUTE>=0 AND MINUTE<=N) , 1 , 0 ) , STICK ; 上面和下面的语法,其意义相同: 范例:9 点:30 分:59 秒 以前的分时 K 线 ,指定一个值=1 给它,其它为=0 N:=30; XA:(HOUR=8) OR (HOUR=9 AND MINUTE>=0 AND MINUTE<=N) , STICK ; 范例:开盘第一根分时 K 线,指定一个值=1 给它,其它为 0 XA:REF(DATE,1)<>DATE , STICK; 范例:每天的分时 K 线,指定它的当天 K 线序号给它 XA:=REF(DATE,1)<>DATE , STICK; XB:BARSLAST(XA=1) + 1 ,STICK; ------------------------------------------------------------------------------0090--添加自己的特色指针子选单 方法如下: 在 C:\CHIEFOX\SYSTEM\下建立 SPECINDI.INI 文件,例如其内容如下: [特色指针] 追涨体系=0,RSI;0,KDJ; 条件选股=0,BIAS;3,K110;2,BIAS 打开记事本,输入上面文字后,存盘时记得扩展名由 TXT→改为 INI 批注: 各指针间以分号相隔。 指针名称逗号前的数字表示公式类型: 0:技术指针,1:条件选股 2:交易系统 3:五彩 K 线 再启动看看: 功能选单:特色→特色指针,将会出现子选单"追涨体系"、"条件选股"。 ------------------------------------------------------------------------------0091--5 日均线转折价 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK27 参数 PARAM( N,5,2,300 ) MMA:MA( CLOSE , N ) ; RMA:=REF( MMA , 1 ) ; MMB:=MA( CLOSE , N-1 ) ; RMB:=REF( MMB , 1 ) ; 均线今转折:( RMA * N ) - ( RMB * ( N-1) ) , LINETHICK5 , POINTDOT ; 均线明转折:( MMA * N ) - ( MMB * ( N-1 ) ) , LINETHICK5 , POINTDOT ; 说明: 1. REF( X , N ) 函数:将线图 X 向右平移 N 周期。 2. X , SHIFT N 函数:将线图 X 向右平移 N 周期。(这两者之间的差别验证看看就 知道了) 3. 收盘站在转折价之上→均线将走正斜率。 收盘等于转折价→均线将走零斜率。 收盘落入转折价之下→均线将走负斜率。 5 日均线 使 CROSS(CLOSE , MA( CLOSE , 5 ) )成立转折价 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK40 参数 PARAM( N,5,2,300 ) MMA:MA (CLOSE , N ) ; TT:=MA( C , N-1 ) ; DD:=REF( TT , 1 ) ; PARTLINE( CLOSE>0, DD ) , CROSSDOT , COLOR6A9BFF ; PARTLINE( CLOSE>0 , TT ) , CROSSDOT , COLORFFAB60 ; EXPLAINEX( CLOSE>0 , '均线今转折 ' , DD , 2 , 0 ) , COLOR6A9BFF; EXPLAINEX( CLOSE>0 , '均线明转折 ' , TT , 2 , 0 ) , COLORFFAB60 ; 说明: BB=MA( C , 4 ) RB=REF( BB , 1 ) 令 今转折价为 CC CC=(4*RB) / 5 + (CC) / 5 5*CC=4*RB + CC ; 4*CC=4*RB CC=RB 同理可证: 令 明转折价为 MM MM=BB 5 日均线 使 CROSS(CLOSE , MA( CLOSE , 5 ) )成立 转折价(含周均线) 将公式建立在:技术指针( ○主图 ●主图叠加 ) 先建立即将被引用的表达式 公式名称:KKK45 参数 PARAM( N,5,2,300 ) MMA:MA (CLOSE , N ) ; TT:MA( C , N-1 ) ; DD:REF( TT , 1 ) ; 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK45.1 参数 PARAM( N,5,2,300 ) MMA:"KKK45.MMA"(N) ; MMW:"KKK45.MMA#WEEK"(N) ; TT:="KKK45.TT"(N) ; DD:="KKK45.DD"(N) ; WT:="KKK45.TT#WEEK"(N) ; WD:="KKK45.DD#WEEK"(N) ; PARTLINE( CLOSE>0, DD ) , CROSSDOT , COLOR6A9BFF ; PARTLINE( CLOSE>0 , TT ) , CROSSDOT , COLORFFAB60 ; PARTLINE( CLOSE>0, WD ) , CROSSDOT , COLOR88FB66 ; PARTLINE( CLOSE>0, WT ) , CROSSDOT , COLORB982FD; EXPLAINEX( CLOSE>0 , '均线今转折 ' , DD , 2 , 0 ) , COLOR6A9BFF; EXPLAINEX( CLOSE>0 , '均线明转折 ' , TT , 2 , 0 ) , COLORFFAB60 ; EXPLAINEX( CLOSE>0 , '\N 均线今周转折 ' , WD , 2 , 0 ) , COLOR88FB66 ; EXPLAINEX( CLOSE>0 , '均线下周转折 ' , WT , 2 , 0 ) , COLORB982FD ; ------------------------------------------------------------------------------0092--平均真实波幅 ATR BANDS METASTOCK FORMULAS ATR BANDS STDHA := MOV(C,20,E)+2*ATR(20) ; STDLA := MOV(C,20,E)-2*ATR(20) ; STDHA; STDLA 真实波幅 TRUE RANGE 是以下三者最大的一项: (A). 当天最高价至最低价的幅度。 (B). 当天最高价至昨天收盘价的幅度。 (C). 当天最低价与昨天收盘价的幅度。 公式名称:KKK43 将公式建立在:技术指针 ( ○主图 ●主图叠加 ) RC:=REF( C , 1 ) , LINETHICK0 ; XA:=IF( RC>H , RC , 0 ) ; XB:=IF( H>=RC AND RC>L , H , 0 ) ; XC:=IF( RC<=L , H , 0 ) ; XD:=XA+XB+XC ; YA:=IF( RC>H , L , 0 ) ; YB:=IF( H>=RC AND RC>L , L , 0 ) ; YC:=IF( RC<=L , RC , 0 ) ; YD:=YA+YB+YC ; ATR:=SMA( (XD - YD) , 20 , 1 ) ; STDHA:EMA( C , 20 ) + 2*ATR ; STDLA:EMA( C , 20 ) - 2*ATR ; ------------------------------------------------------------------------------0093--SYSPARAM(1)函数的说明 SYSPARAM(1)函数:主要应用在,线图会随十字游标的移动而变化。 公式名称:KKK12 将公式建立在:技术指针 ( ○主图 ●主图叠加 ) SS:=SYSPARAM( 1 ) ; DD:=SUM( 1 , 0 ) ; CC:CLOSE * 1.07 , LINETHICK0 , COLORYELLOW ; PARTLINE( SS>=DD , CC ) , COLORYELLOW ; 注: DD:SUM( 1 , 0 ) ; SS:SYSPARAM( 1 ) ; 上面两者,显然有明显的不同之处。 1. DD 是一条变量型时间数列→代表 K 线的序号下标。 2. SS 是一组包含 N 条的常数型时间数列( N=这支股票的 K 线总数)。 ------------------------------------------------------------------------------0094--真实波幅 AND 平均真实波幅。 真实波幅 TRUE RANGE 是以下三者最大的一项: (A). 当天最高价至最低价的幅度。 (B). 当天最高价至昨天收盘价的幅度。 (C). 当天最低价与昨天收盘价的幅度。 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK36 收盘价:CLOSE , POINTDOT , LINETHICK6 ; RC:REF( C , 1 ) , LINETHICK0 ; XA:=IF( RC>H , RC , 0 ) ; XB:=IF( H>=RC AND RC>L , H , 0 ) ; XC:=IF( RC<=L , H , 0 ) ; XD:XA+XB+XC ; YA:=IF( RC>H , L , 0 ) ; YB:=IF( H>=RC AND RC>L , L , 0 ) ; YC:=IF( RC<=L , RC , 0 ) ; YD:YA+YB+YC ; ATR:SMA( ( XD - YD ) , 14 , 1 ) , LINETHICK0 ; 真实波幅 TRUE RANGE 是以下三者最大的一项: (A). 当天最高价至最低价的幅度。 (B). 当天最高价至昨天收盘价的幅度。 (C). 当天最低价与昨天收盘价的幅度。 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK36 收盘价:CLOSE , POINTDOT , LINETHICK6 ; RC:REF( C , 1 ) , LINETHICK0 ; XA:=IF( RC>=H , RC , 0 ) ; XB:=IF( RC< H , H , 0 ) ; XD:XA+XB ; YA:=IF( RC>L , L , 0 ) ; YB:=IF( RC<=L , RC , 0 ) ; YD:YA+YB ; TR:SMA( ABS( XD - YD ) , 14 , 1 ) , LINETHICK0 ; ------------------------------------------------------------------------------0095--条件成立当日低点向后划水平线直到水平线跌破。 条件 A,例如 CROSS( K , 80 ), 在 条件 A 成立的当天取当根 K 棒的“最低价 X”作为“水平直线”的起点,然后一直随着 未来的 K 棒自动向右延伸,“直到”有一天的“收盘价小于”当初条件成立时的那个“最低价 X” 时,这一条“水平直线”便到了终点。 将下面公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK29 参数 PARAM( N,9,1,100 ) 参数 PARAM( M1,3,2,40 ) 参数 PARAM( M2,3,2,40 ) RSV:=( CLOSE-LLV(LOW,N) ) / ( HHV(HIGH,N)-LLV(LOW,N) ) * 100 ; K:=SMA( RSV , M1 , 1 ) , COLORRED ; D:=SMA( K , M2 , 1 ) , COLORYELLOW ; AA:=CROSS( K , 80 ) ; BB:=BARSLAST( AA=1 ) ; DD:=REF( LOW , BB ) ; EE:=CROSS( DD , CLOSE ) ; FF:=SUM( EE , BB ) ; GG:=( REF( FF , 1 )=0 AND FF=1 ) ; HH:=( REF(DD,1)=DD ) ; PARTLINE( HH=1 , DD ) ; DRAWLINE( AA=1 , DD , GG=1 , DD , 0 ) , COLORC080FF ; ------------------------------------------------------------------------------0096--分析周期切换→均线参数自动切换(1) 日线 MA5,MA10,MA20,MA30,MA72 周线 MA6,MA12,MA24,MA72 其它周期参数,自行类推。 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK25.2 (完成品) XA:=IF( DATAPERIOD=6 , 5 , 0 ) ; XB:=IF( DATAPERIOD=6 , 10 , 0 ) ; XC:=IF( DATAPERIOD=6 , 20 , 0 ) ; XD:=IF( DATAPERIOD=6 , 30 , 0 ) ; XE:=IF( DATAPERIOD=6 , 72 , 0 ) ; TT:=SUM( 1 , 0 ) ; A1:=ISLASTBAR ; A2:=BACKSET( A1=1 , TT-4 ) ; A3:=BARSLAST( A2=1 ) ; X1:=A3 + 1 ; MA5:MA( C , XA ) * X1 ; B1:=ISLASTBAR ; B2:=BACKSET( B1=1 , TT-9 ) ; B3:=BARSLAST( B2=1 ) ; X2:=B3 + 1 ; MA10:MA( C , XB ) * X2 ; C1:=ISLASTBAR ; C2:=BACKSET( C1=1 , TT-19 ) ; C3:=BARSLAST( C2=1 ) ; X3:=C3 + 1 ; MA20:MA( C , XC ) * X3 ; D1:=ISLASTBAR ; D2:=BACKSET( D1=1 , TT-29 ) ; D3:=BARSLAST( D2=1 ) ; X4:=D3 + 1 ; MA30:MA( C , XD ) * X4 ; E1:=ISLASTBAR ; E2:=BACKSET( E1=1 , TT-71 ) ; E3:=BARSLAST( E2=1 ) ; X5:=E3 + 1 ; MA72:MA( C , XE ) * X5 ; YA:=IF( DATAPERIOD=7 , 6 , 0 ) ; YB:=IF( DATAPERIOD=7 , 12 , 0 ) ; YC:=IF( DATAPERIOD=7 , 24 , 0 ) ; YD:=IF( DATAPERIOD=7 , 72 , 0 ) ; A11:=ISLASTBAR ; A22:=BACKSET( A11=1 , TT-5 ) ; A33:=BARSLAST( A22=1 ) ; Y1:=A33 + 1 ; MB6:MA( C , YA ) * Y1 ; B11:=ISLASTBAR ; B22:=BACKSET( B11=1 , TT-11 ) ; B33:=BARSLAST( B22=1 ) ; Y2:=B33 + 1 ; MB12:MA( C , YB ) * Y2 ; C11:=ISLASTBAR ; C22:=BACKSET( C11=1 , TT-23 ) ; C33:=BARSLAST( C22=1 ) ; Y3:=C33 + 1 ; MB24:MA( C , YC ) * Y3 ; D11:=ISLASTBAR ; D22:=BACKSET( D11=1 , TT-71 ) ; D33:=BARSLAST( D22=1 ) ; Y4:=D33 + 1 ; MB72:MA( C , YD ) * Y4 ; 说明: 只显示后面 15(预设)天的线图(不使用 VBS): 将下列公式建立在:技术指针 ( ●主图 ○主图叠加 ) 公式名称:KKK17.1 参数 PARAM( N、15、1、300 ) AA:=ISLASTBAR ; BB:=BACKSET( AA=1 , N ) ; Y:=BARSLAST( BB=1 ) ; X:=Y + 1 ; OO:OPEN * X ; MM:MA( CLOSE , 5 ) * X ; 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK25 (半成品) XA:=IF( DATAPERIOD=6 , 5 , 0 ) ; XB:=IF( DATAPERIOD=6 , 10 , 0 ) ; XC:=IF( DATAPERIOD=6 , 20 , 0 ) ; XD:=IF( DATAPERIOD=6 , 30 , 0 ) ; XE:=IF( DATAPERIOD=6 , 72 , 0 ) ; MA5:MA( C , XA ) ; MA10:MA( C , XB ) ; MA20:MA( C , XC ) ; MA30:MA( C , XD ) ; MA72:MA( C , XE ) ; YA:=IF( DATAPERIOD=7 , 6 , 0 ) ; YB:=IF( DATAPERIOD=7 , 12 , 0 ) ; YC:=IF( DATAPERIOD=7 , 24 , 0 ) ; YD:=IF( DATAPERIOD=7 , 72 , 0 ) ; MB6:MA( C , YA ) ; MB12:MA( C , YB ) ; MB24:MA( C , YC ) ; MB72:MA( C , YD ) ; 注: 当前分析周期类型: DATAPERIOD ; DATAPERIOD 函数 → 回传值的范围介于 0 -- 10 之间 。分别代表 当前分析周期 类型。 0 → 分笔成交 1 → 1 分钟线 2 → 5 分钟线 3 → 15 分钟线 4 → 30 分钟线 5 → 60 分钟线 6 → 日线 7 → 周线 8 → 月线 9 → 年线 10 → 多日线 小技巧: 在图形分析窗口可用 键盘精灵 切换分析周期。 ------------------------------------------------------------------------------0097--分析周期切换→均线参数自动切换(2) 日线 MA5,MA10,MA20,MA30,MA72 周线 MA6,MA12,MA24,MA72 其它周期参数,自行类推。 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK25.5 (完成品) XA:=( DATAPERIOD=6 )*5 ; XB:=( DATAPERIOD=6 )*10 ; XC:=( DATAPERIOD=6 )*20 ; XD:=( DATAPERIOD=6 )*30 ; XE:=( DATAPERIOD=6 )*72 ; {常数型 时间数列 ,将之代入 MA 函数 会正确} MA5:MA( C , XA ) ; MA10:MA( C , XB ) ; MA20:MA( C , XC ) ; MA30:MA( C , XD ) ; MA72:MA( C , XE ) ; YA:=( DATAPERIOD=7 )*6 ; YB:=( DATAPERIOD=7 )*12 ; YC:=( DATAPERIOD=7 )*24 ; YD:=( DATAPERIOD=7 )*72 ; MB6:MA( C , YA ) ; MB12:MA( C , YB ) ; MB24:MA( C , YC ) ; MB72:MA( C , YD ) ; 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK25 (半成品) XA:=IF( DATAPERIOD=6 , 5 , 0 ) ; XB:=IF( DATAPERIOD=6 , 10 , 0 ) ; XC:=IF( DATAPERIOD=6 , 20 , 0 ) ; XD:=IF( DATAPERIOD=6 , 30 , 0 ) ; XE:=IF( DATAPERIOD=6 , 72 , 0 ) ; {有点变量型时间数列的味道,因为 IF 函数在做怪,将之代入 MA 函数会失真} MA5:MA( C , XA ) ; MA10:MA( C , XB ) ; MA20:MA( C , XC ) ; MA30:MA( C , XD ) ; MA72:MA( C , XE ) ; YA:=IF( DATAPERIOD=7 , 6 , 0 ) ; YB:=IF( DATAPERIOD=7 , 12 , 0 ) ; YC:=IF( DATAPERIOD=7 , 24 , 0 ) ; YD:=IF( DATAPERIOD=7 , 72 , 0 ) ; MB6:MA( C , YA ) ; MB12:MA( C , YB ) ; MB24:MA( C , YC ) ; MB72:MA( C , YD ) ; 注: 当前分析周期类型: DATAPERIOD ; PP:( DATAPERIOD=6 ) ; { PP 为常数型时间数列 } ------------------------------------------------------------------------------0098--调用某某公式内的时间数列线 公式名称:BB SS:=HIGH< REF( HIGH , 1 ) ; {不输出的表达式,如果被引用还是会变成不输出的表 达式} RR:REF( HIGH , 6 ) ; {输出的表达式,如果被引用还是会变成输出的表达式} 公式名称: BBQ TT:"BB.SS" ; {不输出的表达式} PP:"BB.RR" ; {输出的表达式} 1. 调用公式 BB 内的 SS 时间数列。调用公式 BB 内的 RR 时间数列。 2. 当 SS 线内存有预设参数时,例如有两个参数,可视情况写成 PP:"BB.SS"(N,M) 。 3. 例如 K:="KD.K"( 10 , 4 , 0 ) ; → 调用公式 KD 内的 K 时间数列 。 3. 例如 D:="KD.D"( 10 , 4 , 4 ) ; → 调用公式 KD 内的 D 时间数列 。 4. 例如 K:="KD.K" ; → 使用公式 KD 预设的参数 ,( 9 , 3 , 0 )。 4. 例如 K:="KD.D" ; → 使用公式 KD 预设的参数 ,( 9 , 3 , 3 )。 公式名称:KD 参数 PARAM( N,9,1,100 ) 参数 PARAM( M1,3,2,40 ) 参数 PARAM( M2,3,2,40 ) RSV:=( CLOSE-LLV( LOW , N ) ) / ( HHV( HIGH , N )-LLV( LOW , N ) )*100 ; K:SMA( RSV , M1 , 1 ) ; {K 数列内包含了两个参数因子:N,M1} D:SMA( K , M2 , 1 ) ; {D 数列内包含了三个参数因子:N,M1,M2} (1) 多头: 周线 9K>9D 时选出日线 9K>9D 的股票 (2) 空头: 周线 9K<9D 时选出日线 9K<9D 的股票 公式 A. 先建立即将被引用的表达式 建立一个专门被用来引用(QUOTE)的公式区。 将公式建立在:技术指针( ●主图 ○主图叠加 ) 公式名称:KDD 参数 PARAM( N,9,1,100 ) 参数 PARAM( M1,3,2,40 ) 参数 PARAM( M2,3,2,40 ) RSV:=( CLOSE-LLV(LOW,N) ) / ( HHV(HIGH,N)-LLV(LOW,N) ) * 100 ; K:SMA( RSV , M1 , 1 ) , COLORRED ; D:SMA( K , M2 , 1 ) , COLORYELLOW ; 公式 B. 将公式建立在:技术指针( ●主图 ○主图叠加 ) 公式名称:KDD1 K:"KDD.K" ; D:"KDD.D" ; WK:"KDD.K#WEEK" ; WD:"KDD.D#WEEK" ; 公式 B. 将公式建立在:条件选股 公式名称:KDD2(多头) K:="KDD.K" ; D:="KDD.D" ; WK:="KDD.K#WEEK" ; WD:="KDD.D#WEEK" ; K>D AND WK>WD 公式 C. 将公式建立在:条件选股 公式名称:KDD3(空头) K:="KDD.K" ; D:="KDD.D" ; WK:="KDD.K#WEEK" ; WD:="KDD.D#WEEK" ; K< D AND WK< WD ------------------------------------------------------------------------------0099--三角函数 AND 角度线 ∠A 的对边长度 = A ∠B 的对边长度 = B ∠C 的对边长度 = C → 斜边 u=3.14159 1 度 = ( u / 180 ) 弧度 ∠B = 22.5 度 = ( 1 / 8 ) * u 弧度 ∠B = 45 度 = ( 1 / 4 ) * u 弧度 SIN( B ) = B / C COS( B ) = A / C TAN( B ) = B / A → B = A * TAN( B ) 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK30 AA:=SUM( 1 , 0 ) - 1 ; BB22: AA * TAN( ( 1 / 8 ) * 3.14159 ) ; BB45: AA * TAN( ( 1 / 4 ) * 3.14159 ) ; 将公式建立在:技术指针( ○主图 ●主图叠加 ) 公式名称:KKK30.1 参数 PARAM( N、45、0、80 )→预设为 45 度。 AA:=SUM( 1 , 0 ) - 1 ; BB: AA* TAN( N * ( 3.14159 / 180 ) ) ; ------------------------------------------------------------------------------0100--个股和大盘联动 K 线 渗入“总报酬率”的观念,就可画出个股和大盘联动 K 线。 公式名称:KKK4 将公式建立在:技术指针 ( ○主图 ●主图叠加 ) 参数 PARAM( N,30,1,300 ) 参数 PARAM( M,1,0,1 ) AA:=SUM( 1 , 0 ) ; BB:=IF( AA=1 , 1 , 0 ) ; TT:=ISLASTBAR ; DD:=BACKSET( TT=1 , N + 1 ) ; EE:=BACKSET( TT=1 , N ) , LINETHICK0 ; FF:=IF( DD>EE , 1 , 0 ) ; GG:=IF( M=1 , FF , BB ) ; PP:=BARSLAST( GG=1 ) , LINETHICK0; ; X:=REF( INDEXC , PP ) ; Y:=REF( CLOSE , PP ) ; OO:( INDEXO / X ) * Y , LINETHICK0 ; HH:( INDEXH / X ) * Y , LINETHICK0 ; LL:( INDEXL / X ) * Y , LINETHICK0 ; CC:( INDEXC / X ) * Y , LINETHICK0 ; CC%:( INDEXC / X ) - 1 , LINETHICK0 ; { 基准日至今,大盘总报酬率 } DC%:( CLOSE / Y ) - 1 , LINETHICK0 ; { 基准日至今,个股总报酬率 } STICKLINE( CC>OO , HH , LL , 0.1 , 0 ) , COLORRED ; STICKLINE( CC>OO , CC , OO , 7 , 1 ) , COLORRED ; STICKLINE( CC<=OO , HH , LL , 0.1 , 0 ) , COLORCYAN ; STICKLINE( CC<=OO , CC , OO , 7 , 0 ) , COLORCYAN ; 说明: 1. 从后面算来(第 N+1 日) 为基准日。例如,N=10; 2. 求算从后面算来(N 日)→个股和大盘指数的联动 K 线: (每日大盘开盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价 (每日大盘最高盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价 (每日大盘最低盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价 (每日大盘收盘指数/基准日当天的大盘收盘指数)*基准日当天的收盘价 3. 公式的用意是: 以基准日为基准至今:大盘总报酬率多少,个股的总报酬率就多少。联动在一起。 公式技巧(0101~0200) --------------------------------------------------------------0101--含职工股 FINANCE(8)>0 --------------------------------------------------------------- 0102--次新中小 N(1,255,30) BARSCOUNT(C)< N AND FINANCE(7)<=10000 --------------------------------------------------------------0103--收盘大于开盘 CLOSE>=DYNAINFO(4) --------------------------------------------------------------0104--涨跌幅度 N(0,0.1,0.05) DYNAINFO(14)>=N --------------------------------------------------------------0105--小盘选股 CAPITAL<=500000 AND FINANCE(33)>=0.01 AND CLOSE<=30 --------------------------------------------------------------0106--低市盈率选股 N(10,30,30) DYNAINFO(39)<=N 选择市盈率较小的股票. 市盈率小于 PARAM#1 --------------------------------------------------------------- 0107--业绩选股 N(0,100,0.4) FINANCE(33)>N 业绩选股,每股收益在 0.4 元以上 每股收益在 PARAM#1 元以上 --------------------------------------------------------------0108--小盘股 N(700,50000,3000) FINANCE(7)<=N 选择流通股较小的股票 流通股小于 PARAM#1 万股 --------------------------------------------------------------0109--大盘股 N(15000,30000,20000) FINANCE(7)>=N 流通股大于 PARAM#1 万股 --------------------------------------------------------------0110--净资产收益率选股 N(0,300,20) FINANCE(37)>(N/100) 净资产收益率高于 N 的股票 净资产收益率大于百分之 PARAM#1 --------------------------------------------------------------0111--B 股板块 FINANCE(5)>0 含有 B 股的股票 选择含 B 股的股票 --------------------------------------------------------------0112--无国家股板块 FINANCE(2)=0 国家股为零的股票. 选择不含国家股的股票 --------------------------------------------------------------0113--每股净资产选股 N(1,5,2.5) FINANCE(34)>N 选出每股净资产大于 N 元的股票. 每股净资产大于 PARAM#1 元 --------------------------------------------------------------0114--每股未分配利润选股 N(0.1,2,1) FINANCE(32)>N 每股未分配利润大于 N 的股票 每股未分配利润大于 PARAM#1 元 --------------------------------------------------------------0115--股东权益比率选股 N(1,100,50) FINANCE(36)>(N/100) 股东权益比率大于 N 的股票. 股东权益比率大于百分之 PARAM#1 --------------------------------------------------------------0116--每股公积选股 N(1,4,2) FINANCE(18)>N 每股公积金大于 PARAM#1 元 --------------------------------------------------------------0117--举牌概念股 N(1,100,50) FINANCE(7)/FINANCE(1)>=(N/100) 流通股在总股本中的比重很大的股票,这类股票相对来说更容易被收购和举牌,因此被 市场称为举牌概念股. 流通股占总股本的比重高于 PARAM#1%,有被收购和举牌的概念. --------------------------------------------------------------0118--指数效应股 M(1,100,10) FINANCE(7)/FINANCE(1)<=(M/100) 流通股占总股本的比例小于 M%,这类股票对指数的影响比较大,容易成为主力拉抬指 数的工具. 流通股占总股本的比重低于 PARAM#1%,这类股票对指数的影响比较大. --------------------------------------------------------------0119--H 股板块 FINANCE(6)>0 选择含有 H 股的股票,该板块具有明显的联动效应. 选择含有 H 股的股票. --------------------------------------------------------------0120--含转配股 FINANCE(9)>0 选择含有转配股的股票,这类股票在特定的时候具有一定的联动效应. 选择含有转配股的股票. --------------------------------------------------------------0121--主营业务利润率选股 N(1,100,30) FINANCE(21)/FINANCE(20)>=(N/100) 主营业务利润率高于 N 的股票,主营业务利润率越高则说明主营业务越鲜明,公司的发 展越稳健. 主营业务利润率大于 PARAM#1% --------------------------------------------------------------0122--市净率选股 N(1,50,5) C/FINANCE(34)< N 市净率=市价/每股净资产 市净率>N 市净率越低公司股价越有被低估的可能,这类股票从理论上讲具有更高的安全性. 市价/每股净资产小于 PARAM#1 倍,该比率越低,从基本分析来看理论上越安全. --------------------------------------------------------------0123--流动比率选股 N(0.1,5,1) FINANCE(11)/FINANCE(15)>N 流动比率大于 N 的股票 流动资产/流动负债大于 PARAM#1 倍,该比率越大其财务风险在一定程度上越小. --------------------------------------------------------------0124--次新股选股 N(1,60,30) BARSCOUNT(C)< N 次新股选股 上市时间在 N 个交易日(缺损值为 30 个交易日)的股票 上市天数小于 PARAM#1 天,选出近期上市的新股. --------------------------------------------------------------0125--上市时段选股 Y(1990,2000,1999)M1(1,12,4)M2(1,12,4) COUNT(BARSCOUNT(C)=1 AND YEAR=Y AND MONTH>=M1 MONTH<=M2,0) 寻找 Y 年 M2 月到 M1 月上市的股票,即寻找一定时间 段上市的股票。如:寻找 1999 年 4 月份上市的股票,可输入参数 AND Y:1999 M1:4 M2:4 在 PARAM#1 年 PARAM#2 月至 PARAM#3 月上市的股票 --------------------------------------------------------------0126--涨幅选股 N(0.01,0.1,0.03) DYNAINFO(14)>=N 选择目前涨幅大于 N 的股票,这类股票有可能成为今天的强势股,特别是在开市有一段 时间并且大盘呈现一路阴跌的情况下. 选择当前涨幅大于 PARAM#1 的股票 --------------------------------------------------------------0127--委比选股 N(0.5,1,0.5) DYNAINFO(15)>N 选择当前委比大于等于 N 的股票,委比越大则说明买盘越强劲,(但这也不是绝对的,有 可能被人为操纵). 选择当前委比大于 PARAM#1 的股票 --------------------------------------------------------------0128--委差选股 N(1,9999,200) DYNAINFO(16)>N 选择(委买量-委卖量)的差为正数并且大于 N 手的股票,差值越大买盘越强. 选择当前(委买量-委卖量)大于 PARAM#1 手的股票(参数取正值) --------------------------------------------------------------0129--内外盘选股(上涨) DYNAINFO(22)>DYNAINFO(23) AND C>REF(C,1) 内盘大于外盘,股票仍上涨。这类股票存在一定异动,有庄家活动的可能. 内盘大于外盘,股票仍上涨。 --------------------------------------------------------------0130--内外盘选股(下跌) DYNAINFO(23)>DYNAINFO(22) AND C< REF(C,1) 外盘大于内盘,股价仍下跌.这类股票存在一定异动,有庄家活动的可能. 外盘大于内盘,股价仍下跌. --------------------------------------------------------------0131--阶段涨幅选股 D1(900101,1331231,990504)D2(900101,1331231,990802)P(-90,1000,20) A:=HHV(IF(DATE=D1,C,0),0); B:=HHV(IF(DATE=D2,C,0),0); B/A>=(1+P/100) 选择某一阶段中一定涨幅的股票 PARAM#1 日——PARAM#2 日涨幅大于 PARAM#3%的股票 --------------------------------------------------------------0132--即时量比选股 N(1,100,1) DYNAINFO(17)>=N 选择量比大于 N 的股票 当前的量比大于 PARAM#1 的股票 --------------------------------------------------------------0133--大手笔成交选股(买) N(1,10000,200) BUYVOL>=N 主动性买盘成交量大于 N 的股票 (只能在分笔成交周期中使用) 当前主动性买盘的单比成交大于 PARAM#1 的股票 --------------------------------------------------------------- N(1,10000,200) SELLVOL>N 当前主动性卖盘的单比成交量大于 PARAM#1 的股票 --------------------------------------------------------------0135--买盘大手笔挂单 N(1,10000,1000) (BIDVOL(1)+BIDVOL(2)+BIDVOL(3))>=N 选择买盘中挂有大手笔的股票 (仅用于分笔成交周期中) 当前买盘中的三笔挂单之和大于等于 PARAM#1 的股票 --------------------------------------------------------------0136--卖盘大手笔挂单 N(1,10000,1000) (ASKVOL(1)+ASKVOL(2)+ASKVOL(3))>=N 选择卖盘中挂有大手笔的股票 (仅用于分笔成交周期中) 当前卖盘中三笔挂单之和大于等于 PARAM#1 的股票 --------------------------------------------------------------0137--换手率选股 N(0.01,100,5) DYNAINFO(37)>=N/100 单日换手率大于 N 的股票 当前换手率大于等于 PARAM#1%的股票 --------------------------------------------------------------0138--涨速选股 N(0.01,100,1) DYNAINFO(24)>=N/100 选择当前涨速大于 N 的股票 当前五分钟涨速大于等于 PARAM#1%的股票 --------------------------------------------------------------0139--振幅选股 N(0.1,100,5) DYNAINFO(13)>=N/100 选择今日振幅在 N 的股票 当前振幅大于等于 PARAM#1%的股票 --------------------------------------------------------------0140--股价-均价选股 DYNAINFO(7)>DYNAINFO(11) 分时图中目前股价高于均价的股票 --------------------------------------------------------------0141--N 日内创新高 N(2,10,3) HHV(HIGH,N)=HHV(HIGH,0) AND BARSCOUNT(C)>=N 选择 PARAM#1 日内创出历史新高的股票 --------------------------------------------------------------0142--N 日内创新低 N(1,5,3) LLV(L,3)=LLV(L,0) AND BARSCOUNT(C)>=N 选择 PARAM#1 日内创出历史新低的股票 --------------------------------------------------------------0143--M 日内阴线多于阳线 M(3,300,30)N(50,100,60) COUNT(OPEN>CLOSE,M)/M >= N/100 PARAM#1 日内阴线数量超过 PARAM#2% --------------------------------------------------------------0144--M 日内阳线多于阴线 M(3,300,30)N(50,100,60) COUNT(OPEN< CLOSE,M)/M >= N/100 PARAM#1 日内阳线数量超过 PARAM#2% --------------------------------------------------------------0145--N 日内上涨多于下跌 N(1,300,120)M(50,100,60) COUNT(C>REF(C,1),M)/M >= N/100 PARAM#1 日内上涨(收盘价高于昨收)的天数超过 PARAM#2% --------------------------------------------------------------0146--N 日内下跌多于上涨 N(1,300,120)M(50,100,60) COUNT(C< REF(C,1),N)/N >= M/100 PARAM#1 日内下跌(收盘价低于昨收)的天数超过 PARAM#2% --------------------------------------------------------------0147--连续 N 天收阳线 N(3,10,7) UP:=CLOSE>OPEN; COUNT(UP,N)=N 连续 N 天收阳线 选择连续 PARAM#1 个交易日收阳线的股票 --------------------------------------------------------------0148--连续 N 天收阴线 N(3,10,5) DOWN:=OPEN>CLOSE; COUNT(DOWN,N)=N 连续 N 日收阴线 选择连续 PARAM#1 个交易日收阴线的股票 --------------------------------------------------------------0149--连续 N 天上涨 N(3,20,5) COUNT(C>REF(C,1),N)=N 选择连续 N 个交易日都上涨的股票 选择连续 PARAM#1 个交易日上涨的股票 --------------------------------------------------------------0150--连续 N 日下跌 N(3,20,5) COUNT(C< REF(C,1),N)=N N 日内收盘价为连续下跌的股票 选择连续 PARAM#1 日都下跌的股票 --------------------------------------------------------------0151--首次创新高 BARSSINCE(C>HHV(IF(BARSCOUNT(C)=1,HIGH,0),0))+1=1 选择上市后首次创出新高的的股票 --------------------------------------------------------------0152--创历史新高 HHV(CLOSE,0)=CLOSE 收盘价创历史新高 --------------------------------------------------------------0153--创历史新低 LLV(CLOSE,0) = CLOSE 收盘价价创历史新低 --------------------------------------------------------------0154--单日放量 N(0.1,100,15) A:=VOL/CAPITAL>=(N/100); A AND (NOT(REF(A,1))) 单日换手率大于 N% 单日换手率大于 PARAM#1% --------------------------------------------------------------0155--阶段缩量 N(1,100,5)N1(1,100,10) SUM(VOL,N1)/CAPITAL<=(N/100) N1 日内换手率小于百分之 N PARAM#2 个周期的阶段换手率小于 PARAM#1% --------------------------------------------------------------0156--阶段放量 N(1,100,10)N1(1,100,5) SUM(VOL,N1)/CAPITAL>=(N/100) N1 日内换手率大于百分之 N PARAM#2 个周期的阶段换手率小于 PARAM#1% --------------------------------------------------------------0157--持续放量 M(1,100,3) B:=VOL>REF(VOL,1); COUNT(B,M)=M 成交量连续 M 日放大 今日成交量大于昨日成交量,这种情况连续 PARAM#1 天出现. --------------------------------------------------------------0158--持续缩量 M(1,100,3) B:=VOL< REF(VOL,1); COUNT(B,M)=M 成交量连续 M 日缩小 今日成交量小于昨日成交量,这种情况连续 PARAM#1 天出现. --------------------------------------------------------------0159--间隔放量 N(20,60,30)N1(0.1,100,4)N2(1,100,2)N3(1,100,3) A:=MA(VOL,5); BARSCOUNT(C)>=N AND HHV(A,N)< N1*LLV(A,N) AND COUNT(VOL>N2*A,N)>N3 成交量分布比较均匀,偶尔有所放大,但马上又缩小.如果发生在底部区域,且盘整时间 较长,则很有可能是庄家的吸货行为. PARAM#1 日内五日均量的最大值小于最小值的 PARAM#2 倍, 成交量大于等于五日均量的 PARAM#3 倍的情况发生的次数多于 PARAM#4 次 即: 成交量分布比较均匀,偶尔有所放大,但马上又缩小.如果发生在底部区域,且盘整时间 较长,则很有可能是庄家的吸货行为. --------------------------------------------------------------0160--放量上攻 N(0.1,10,1)N1(1,10,3)N2(1,1000,20)N3(1,100,5) UP:=REF(C,1)< C ; A:= (C-REF(C,1))/REF(C,1)>=(N/100) ; SUM(VOL,N1)/CAPITAL>=(N2/100) AND COUNT(VOL>REF(VOL,1),N3)=N3 AND COUNT(A,N3)=N3 为庄家的拉升行为,可谨慎介入. 成交量连续 PARAM#4 日放大,且每日股价涨幅均大于 PARAM#1%; PARAM#2 日内换手率大于 PARAM#3% --------------------------------------------------------------0161--温和放量上攻 N(2,10,3)N1(1,40,10) UP:=MAX(C,OPEN)>REF(MAX(C,OPEN),1); A:=VOL>REF(VOL,1); COUNT(IF((UP AND A),1,0),N)=N AND C>OPEN AND (C-REF(MAX(C,OPEN),1))/REF(MAX(O,C),1)<=(3/100) AND VOL/CAPITAL<=(N1/100) 连续 PARAM#1 个周期放大并保持上涨势头 当日换手率小于 PARAM#2% --------------------------------------------------------------0162--突然放量 N(1,300,10)M(1,40,3) VOL>REF(HHV(VOL,N),1)*M 成交量较前 N 周期的最大成交量增大 M 倍 当前成交量高于 PARAM#1 个周期中最大成交量的 PARAM#2 倍 --------------------------------------------------------------0163--平台整理 N(1,100,30)N1(1,100,11) COUNT(CLOSE,0)>N (HHV(CLOSE,N)-LLV(CLOSE,N))/LLV(CLOSE,N)<=(N1/100) N 天振动幅度在 M%的股票 平台整理 PARAM#1 个周期 平台整理幅度 PARAM#2% --------------------------------------------------------------0164--尾盘打压 N(0,20,2) HOUR>14 AND MINUTE>56 AND CLOSE/REF(CLOSE,2) <= 1-N/100 本指标仅适用于 1 分钟线 14:56 以后 2 分钟跌幅超过 PARAM#1% --------------------------------------------------------------0165--尾盘拉升 N(0,20,2) AND HOUR>14 AND MINUTE>56 AND CLOSE/REF(CLOSE,2) >= 1+N/100 14:56 以后 2 分钟涨幅超过 PARAM#1% --------------------------------------------------------------0166--盘中逆势走强股 N(930,1500,930)M(930,1500,1030) A:=HHV(IF(TIME=N,INDEXC,0),0); B:=HHV(IF(TIME=M,INDEXC,0),0); D:=HHV(IF(TIME=N,C,0),0); E:=HHV(IF(TIME=M,C,0),0); E/D>B/A 选择当天某一时段中走势强于大盘的股票 时间 PARAM#1 点——PARAM#2 点之间涨幅高于大盘涨幅的股票 --------------------------------------------------------------0167--突破长期盘整 N(10,60,30)N1(5,50,30) REF(((HHV(H,N)-LLV(L,N))/LLV(L,N)),1)<=(N1/100) AND C>=REF(HHV(H,N),1) AND BARSCOUNT(C)>N 前 PARAM#1 日在上下 PARAM#2%的幅度内整理,今日突破。 --------------------------------------------------------------0168--阶段强势股 N(700101,1341231,990519)N1(700101,1341231,990913) A:=SUM(IF(DATE-N=0,INDEXC,0),0); B:=SUM(IF(DATE-N1=0,INDEXC,0),0); E:=SUM(IF(DATE-N=0,C,0),0); F:=SUM(IF(DATE-N1=0,C,0),0); ((F-E)/E)>((B-A)/A) 选择某一阶段内走势强于大盘的股票. PARAM#1 日--PARAM#2 日之间涨幅高于大盘的股票 --------------------------------------------------------------0169--阶段弱势股 N(700101,1341231,990519)N1(700101,1341231,990913) A:=SUM(IF(DATE=N,INDEXC,0),0); B:=SUM(IF(DATE=N1,INDEXC,0),0); E:=SUM(IF(DATE=N,C,0),0); F:=SUM(IF(DATE=N1,C,0),0); ((F-E)/E)<((B-A)/A) PARAM#1 日--PARAM#2 日之间涨幅小于大盘的股票 --------------------------------------------------------------0170--大盘同步选股 N(1,100,10)M(1,100,50) COUNT((C>O AND INDEXC>INDEXO) OR (C< O AND INDEXC< INDEXO),N)/N > M/100 PARAM#1 周期中与大盘走势相同(同收阴线或同收阳线)的比例超过 PARAM#2% --------------------------------------------------------------0171--N 日内强势股 N(1,300,20)M(1,100,3) A:=(C-REF(O,N))/REF(O,N); B:=(INDEXC-REF(INDEXO,N))/REF(INDEXO,N); A>B AND A/B>=M PARAM#1 日涨幅大于等于同期大盘涨幅的 PARAM#2 倍 0101--含职工股 FINANCE(8)>0 --------------------------------------------------------------0172--均线多头排列 N(1,100,5)N1(1,1000,10)N2(1,1000,20)N3(1,1000,30) MA(CLOSE,N)>MA(CLOSE,N1) AND MA(CLOSE,N1)>MA(CLOSE,N2) AND MA(CLOSE,N2)>MA(CLOSE,N3) AND REF(MA(CLOSE,N),1)>REF(MA(CLOSE,N1),1) AND REF(MA(CLOSE,N1),1)>REF(MA(CLOSE,N2),1) AND REF(MA(CLOSE,N2),1)>REF(MA(CLOSE,N3),1) AND REF(MA(CLOSE,N),2)>REF(MA(CLOSE,N1),2) REF(MA(CLOSE,N1),2)>REF(MA(CLOSE,N2),2) AND REF(MA(CLOSE,N2),2)>REF(MA(CLOSE,N3),2) 均线系统呈多头排列,多方占据一定优势. AND PARAM#1,PARAM#2,PARAM#3,PARAM#4 日均线呈多头排列 --------------------------------------------------------------0173--均线空头排列 N(1,1000,5)N1(1,1000,10)N2(1,1000,20)N3(1,1000,30) MA(CLOSE,N) < MA(CLOSE,N1) AND MA(CLOSE,N1) < MA(CLOSE,N2) AND MA(CLOSE,N2) < MA(CLOSE,N3) AND REF(MA(CLOSE,N),1)< REF(MA(CLOSE,N1),1) AND REF(MA(CLOSE,N1),1)< REF(MA(CLOSE,N2),1) AND REF(MA(CLOSE,N2),1)< REF(MA(CLOSE,N3),1) AND REF(MA(CLOSE,N),2)< REF(MA(CLOSE,N1),2) REF(MA(CLOSE,N1),2)< REF(MA(CLOSE,N2),2) AND REF(MA(CLOSE,N2),2)< REF(MA(CLOSE,N3),2) 均线系统呈空头排列,这时的形势不利与多方迅速组织起强有力的反攻. PARAM#1,PARAM#2,PARAM#3,PARAM#4 日均线呈空头排列 --------------------------------------------------------------0174--强势整理 N(1,20,2)M(1,10,5) A1:=ABS((C-REF(C,1))/REF(C,1))<=0.05 AND ABS((O-REF(C,1))/REF(C,1))<=0.05 AND C>=REF(C,1) AND L<=REF(H,1); A2:=REF(C,1)>REF(O,1) AND (REF(C,1)/REF(O,1))>=1+N/100 AND REF(C,1)/REF(C,2)>=1.04 AND REF(C,1)>REF(C,2) AND REF(C,1)>REF(C,3) AND REF(C,1)>REF(C,4) AND REF(C,1)>REF(C,5) AND REF(C,1)>REF(C,6) AND AND REF(C,1)>REF(C,7) AND REF(C,1)>REF(C,8) AND REF(C,1)>REF(C,9); A3:=IF(A1 AND A2,3,0); A4:=BARSLAST(A1 AND A2); A8:=REF(C,A4+1); A5:=ABS((C-REF(C,1))/REF(C,1))<=0.03 AND ABS((O-REF(C,1))/REF(C,1))<=0.03; A6:=(C>=A8 AND C/A8<=(1+M/100)); A4=COUNT(A5 AND A6,A4) 强势整理:一根实体超过 N%的长阳,后面跟若干个振幅不超过 M%的 K 线 强势整理:一根实体超过 PARAM#1%的长阳,后面跟若干个振幅不超过 PARAM#2% 的K线 --------------------------------------------------------------0175--高开大阴线 M(1,10,4)N(1,20,5) OPEN>CLOSE AND OPEN/REF(C,1) >= 1+M/100 AND CLOSE/OPEN<=1-N/100 收盘为高开大阴线 跳空高开 PARAM#1%,当日股价较开盘价跌幅大于 PARAM#2 --------------------------------------------------------------0176--低开大阳线 M(1,10,4)N(1,20,7) OPEN< CLOSE AND OPEN/REF(C,1) <= 1-M/100 AND CLOSE/OPEN>=1+N/100 收盘为低开大阳线 跳空低开 PARAM#1%,当日股价较开盘价涨幅大于 PARAM#2 --------------------------------------------------------------0177--跳空缺口选股 HIGH< REF(LOW,1) OR LOW>REF(HIGH,1) --------------------------------------------------------------0178--大买单提取 N(1,1000,200) SUM(IF(BUYVOL>=N,VOL,0),0) 提取今日主动性买盘成交量中的大手笔成交,并对其求和. 该指标的值越大,则说明当日多方的力量越强大. 统计主动性买盘成交量大于 PARAM#1 手的成交量总和 --------------------------------------------------------------0179--今日大单笔数 N(1,10000,200) COUNT(VOL>N,0) 统计今日大于 N 手的买卖单的笔数,笔数越多,则说明成交越活跃. 统计今日成交量大于 PARAM#1 手的数量 --------------------------------------------------------------0180--大盘同步指标 N(1,1000,7) COUNT((C>O AND INDEXC>INDEXO) OR (C< O AND INDEXC< INDEXO),N)/N 统计 N 日中和大盘保持一致,同收阳线或同收阴线的日数所占的比例, 用法:比例越接近 1,该股和大盘走势越一致。 N(PARAM#1)天中与大盘走势保持一致,同收阳线和阴线的天数/N 天 --------------------------------------------------------------0181--大手笔之差 N(1,1000,100)N1(1,1000,100) SUM(IF(BUYVOL>=N,VOL,0),0)-SUM(IF(SELLVOL>=N1,VOL,0),0) 求当日大手笔的买单与大手笔的卖单之差,该差值为正则说明多方占据优势,形势有利 于多方,可看涨.该值越大多方优势月明显. 大于等于 PARAM#1 手的主动性买盘之和大于等于 PARAM#2 手的主动性卖单之和 --------------------------------------------------------------0182--活跃股指标 MA(VOL,3)/CAPITAL --------------------------------------------------------------0183--阶段强势指标 N(1,300,20) A:=COUNT(C>O AND INDEXC< INDEXO,N); B:=COUNT(INDEXC< INDEXO,N); D:A/B A:N 天中大盘收阴线个股收阳线的天数; B;N 天中大盘收阴线的天数; D:A/B D 值越大则说明股票在这一阶段中走势越强. PARAM#1 天中大盘收阴线个股收阳线的天数/大盘收阴线的天数 --------------------------------------------------------------0184--内外盘比率 SUM(BUYVOL,0)/SUM(SELLVOL,0) 统计今日的主动性买盘之和和主动性卖盘之和 ,并求前者与后者的比值.该比值大于 1 则说明多方占据一定优势,比值越大优势越明显,该股可谨慎看涨. --------------------------------------------------------------0185--内外盘之差 SUM(BUYVOL,0)-SUM(SELLVOL,0) 统计今日的主动性买盘之和和主动性卖盘之和 ,并求前者与后者的差值.该差值大于 0 则说明多方占据一定优势,差值越大优势越明显,该股可谨慎看涨. --------------------------------------------------------------0186--平均每笔成交 SUM(VOL,0)/BARSCOUNT(C) 用当日成交量除以当日成交笔数,求得当日平均每一笔成交的成交手数,该值越大,成交 越活跃,庄家的活动越明显, 特别是当该比值前期一直很小,近期明显放大,庄家活动的迹象更加明显.如果出现在底 部,则有可能是庄家在吸货. --------------------------------------------------------------0187--QHLSR 阻力指标 QHL:=(C-REF(C,1))-(VOL-REF(VOL,1))*(REF(H,1)-REF(L,1))/REF(VOL,1); A:=SUM(IF(QHL>0,QHL,0),5); E:=SUM(IF(QHL>0,QHL,0),10); B:=ABS(SUM(IF(QHL<0,QHL,0),5)); F:=ABS(SUM(IF(QHL<0,QHL,0),10)); D:=A/(A+B); G:=E/(E+F); QHL5: IF(SUM(IF(QHL>0,1,0),5)=5,1,IF(SUM(IF(QHL<0,1,0),5)=5,0,D)) ; QHL10:G --------------------------------------------------------------0188--盘中强势指标 TIM:=IF(HOUR>12, (HOUR-13)*60+MINUTE+120,(HOUR-9)*60+MINUTE-30); ZLB:= SUM(VOL,0)*240/TIM/DYNAINFO(38); ZDL:ZLB*(SUM(BUYVOL,0)-SUM(SELLVOL,0))/(SUM(BUYVOL,0)+SUM(SELLVOL,0)) *100 本指标只能用于分笔成交分析 --------------------------------------------------------------0189--大卖单提取 N(1,1000,100) SUM(IF(SELLVOL>=N,VOL,0),0) 提取今日主动性卖盘成交量中的大手笔成交,并对其求和. 该指标的值越大,则说明当日空方的力量越强大. 统计主动性卖盘成交量大于 PARAM#1 手的成交量总和 --------------------------------------------------------------0190--阶段总成交额 N(700101,1341231,990901)N1(700101,1341231,990917) SUM(IF(DATE>=N AND DATE<=N1,AMOUNT,0),0) 统计一段时间的总成交额 参数 N 为统计时间长度 PARAM#1--PARAM#2 的成交额(前面日期必须小于等于后面日期) --------------------------------------------------------------0191--筑底指标 N1(5,250,125)N2(1,20,5)N3(5,60,20) A:=COUNT(C>=REF(C,1),N1)/COUNT(C< REF(C,1),N1); B:MA(A,N2); D:MA(A,N3) B 值小于 0.6 时为很好的买点,股票在此筑底的可能性很大,可耐心持有. 统 计 PARAM#1 日 中 收 阳 及 收 阴 的 比 率 为 AA 的 PARAM#2 日 移 动 平 均 A 的 PARAM#3 日移动平均 --------------------------------------------------------------0192--阶段换手率 N(700101,1341231,990913)N1(700101,1341231,990917) SUM(IF(DATE>=N AND DATE<=N1,VOL,0),0)/CAPITAL 统计一段时间的总换手率 参数 N 表示统计时间长度 PARAM#1--PARAM#2 的换手率(前面日期必须小于等于后面日期) --------------------------------------------------------------0193--阶段涨幅 N(700101,1341234,990518)N1(700101,1341231,990917) A:=HHV(IF(DATE=N1,CLOSE,0),0); B:=HHV(IF(DATE=N,CLOSE,0),0); UPR:(A/B-1)*100 统计一段时间来的股价涨幅 参数 N 为统计时间长度 PARAM#1--PARAM#2 的涨幅(前面日期必须小于等于后面日期) --------------------------------------------------------------0194--阶段总成交量 N(700101,1341231,990601)N1(700101,1341231,990917) SUM(IF(DATE>=N AND DATE<=N1,VOL,0),0) 统计一段时间的总成交量 参数 N 为统计时间长度 PARAM#1--PARAM#2 的成交量(前面日期必须小于等于后面日期) --------------------------------------------------------------0195--外盘笔数、内盘笔数、总成笔数 外盘笔数:COUNT(BUYVOL,0); 内盘笔数:COUNT(SELLVOL,0); 总成笔数:BARSCOUNT(C); --------------------------------------------------------------0196--每笔手数、外内比率 每笔手数:SUM(VOL,0)/BARSCOUNT(C); 外内比率:SUM(BUYVOL,0)/SUM(SELLVOL,0); --------------------------------------------------------------0197--外内手差、大手之差 外内手差:SUM(BUYVOL,0)-SUM(SELLVOL,0); 大 手 之 差 :SUM(IF(BUYVOL>=N,VOL,0),0)-SUM(IF(SELLVOL>=N,VOL,0),0);{N : 1,10000,100} --------------------------------------------------------------0198--外大手数、内大手数 外大手数:SUM(IF(BUYVOL>=N,VOL,0),0);{N:1,10000,100} 内大手数:SUM(IF(SELLVOL>=N,VOL,0),0);{N:1,10000,100} --------------------------------------------------------------0199--外内笔差、外大笔数 外内笔差:COUNT(BUYVOL,0)-COUNT(SELLVOL,0); 外大笔数:COUNT(BUYVOL>=N,0);{N:1,10000,100} --------------------------------------------------------------0200--内大笔数、大手笔差 内大笔数:COUNT(SELLVOL>=N,0);{N:1,10000,100} 大手笔差:COUNT(BUYVOL>=N,0)-COUNT(SELLVOL>=N,0);{N:1,10000,100} 公式技巧(0201~0235) ----------------------------------------------------------------0201--早晨之星 BACKSET( REF(CLOSE,2)/REF(OPEN,2) < 0.95 AND REF(OPEN,1) < REF(CLOSE,2) AND ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.03 AND CLOSE/OPEN>1.05 AND CLOSE>REF(CLOSE,2), 3) ----------------------------------------------------------------0202--黄昏之星 BACKSET( REF(CLOSE,2)/REF(OPEN,2) > 1.03 AND REF(OPEN,1) > REF(CLOSE,2) AND ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.02 AND CLOSE/OPEN<0.97 AND CLOSE< REF(CLOSE,2), 3) ----------------------------------------------------------------0203--十字星 CLOSE=OPEN AND HIGH<>LOW ----------------------------------------------------------------0204--长十字 CLOSE=OPEN AND HIGH/LOW > 1.03 ----------------------------------------------------------------0205--垂死十字 CLOSE=OPEN AND CLOSE=LOW AND CLOSE<>HIGH ----------------------------------------------------------------0206--早晨十字星 BACKSET( REF(CLOSE,2)/REF(OPEN,2) < 0.95 AND REF(OPEN,1) < REF(CLOSE,2) AND REF(OPEN,1)=REF(CLOSE,1) AND CLOSE/OPEN>1.05 AND CLOSE>REF(CLOSE,2), 3) ----------------------------------------------------------------0207--黄昏十字星 BACKSET( REF(CLOSE,2)/REF(OPEN,2) > 1.05 AND REF(OPEN,1) > REF(CLOSE,2) AND REF(OPEN,1)=REF(CLOSE,1) AND CLOSE/OPEN<0.95 AND CLOSE< REF(CLOSE,2), 3) ----------------------------------------------------------------0208--射击之星 MIN(OPEN,CLOSE)=LOW AND HIGH-LOW > 3*(MAX(OPEN,CLOSE)-LOW) AND CLOSE > MA(CLOSE,5) ----------------------------------------------------------------0209--倒转锤头 MIN(OPEN,CLOSE)=LOW AND HIGH-LOW > 3*(MAX(OPEN,CLOSE)-LOW) AND CLOSE < MA(CLOSE,5) ----------------------------------------------------------------0210--锤头 HIGH = MAX(OPEN,CLOSE) AND HIGH-LOW > 3*(HIGH-MIN(OPEN,CLOSE)) AND CLOSE < MA(CLOSE,5) ----------------------------------------------------------------0211--吊颈 HIGH = MAX(OPEN,CLOSE) AND HIGH-LOW > 3*(HIGH-MIN(OPEN,CLOSE)) AND CLOSE > MA(CLOSE,5) ----------------------------------------------------------------0212--穿头破脚 BACKSET( (REF(CLOSE,1)/REF(OPEN,1)>1.03 AND CLOSE/OPEN<0.96 AND CLOSE< REF(OPEN,1) AND OPEN>REF(CLOSE,1)) OR (REF(CLOSE,1)/REF(OPEN,1)<0.97 AND CLOSE/OPEN>1.04 AND CLOSE>REF(OPEN,1) AND OPEN< REF(CLOSE,1)), 2) ----------------------------------------------------------------0213--乌云盖顶 BACKSET( REF(CLOSE,1)/REF(OPEN,1)>1.03 AND CLOSE/OPEN<0.97 AND OPEN>REF(CLOSE,1) AND CLOSE< REF(CLOSE,1), 3) ----------------------------------------------------------------0214--曙光初现 BACKSET( REF(CLOSE,1)/REF(OPEN,1)<0.97 AND CLOSE/OPEN>1.03 AND OPEN< REF(CLOSE,1) AND CLOSE>REF(CLOSE,1), 2) ----------------------------------------------------------------0215--身怀六甲 BACKSET( ABS(REF(CLOSE,1)-REF(OPEN,1))/REF(CLOSE,1) > 0.04 AND ABS(CLOSE-OPEN)/CLOSE<0.005 AND MAX(CLOSE,OPEN) < MAX(REF(CLOSE,1),REF(OPEN,1)) AND MIN(CLOSE,OPEN) > MIN(REF(CLOSE,1),REF(OPEN,1)), 2) ----------------------------------------------------------------0216--十字胎 BACKSET( ABS(REF(CLOSE,1)-REF(OPEN,1))/REF(CLOSE,1) > 0.04 AND CLOSE=OPEN AND CLOSE < MAX(REF(CLOSE,1),REF(OPEN,1)) AND CLOSE > MIN(REF(CLOSE,1),REF(OPEN,1)), 2) ----------------------------------------------------------------0217--平顶 BACKSET(ABS(HIGH-REF(HIGH,1))/HIGH<0.001,2) ----------------------------------------------------------------0218--平底 BACKSET((ABS(LOW-REF(LOW,1))/LOW<0.001 AND ABS(REF(LOW,1)-REF(LOW,2))/REF(LOW,1)<=0.001),2) ----------------------------------------------------------------0219--大阳烛 CLOSE/OPEN>1.05 AND HIGH/LOW < CLOSE/OPEN+0.018 ----------------------------------------------------------------0220--大阴烛 OPEN/CLOSE > 1.05 AND HIGH/LOW < OPEN/CLOSE+0.018 ----------------------------------------------------------------0221--好友反攻 BACKSET( (REF(CLOSE,1)< REF(OPEN,1) AND CLOSE>OPEN AND ABS(CLOSE-REF(CLOSE,1))/CLOSE<0.002) OR (REF(CLOSE,1)>REF(OPEN,1) AND CLOSE< OPEN AND ABS(CLOSE-REF(CLOSE,1))/CLOSE<0.002), 2) ----------------------------------------------------------------0222--跳空缺口 BACKSET( HIGH< REF(LOW,1) OR LOW>REF(HIGH,1), 2) ----------------------------------------------------------------0223--三个白武士 BACKSET( REF(CLOSE,2)>REF(OPEN,2) AND REF(CLOSE,1)>REF(OPEN,1) AND CLOSE>OPEN AND REF(CLOSE,1)>REF(CLOSE,2) AND CLOSE>REF(CLOSE,1), 3) ----------------------------------------------------------------0224--三只乌鸦 BACKSET( REF(CLOSE,2)< REF(OPEN,2) AND REF(CLOSE,1)< REF(OPEN,1) AND CLOSE< OPEN AND REF(CLOSE,1)< REF(CLOSE,2) AND CLOSE< REF(CLOSE,1), 3) ----------------------------------------------------------------0225--双飞乌鸦 BACKSET( REF(CLOSE,1)< REF(OPEN,1) AND CLOSE< OPEN AND CLOSE/OPEN<0.98, 1) ----------------------------------------------------------------0226--上升三部曲 BACKSET( REF(CLOSE,4)/REF(OPEN,4)>1.03 AND REF(CLOSE,3)< REF(OPEN,3) AND REF(CLOSE,2)< REF(OPEN,2) AND REF(CLOSE,1)< REF(OPEN,1) AND REF(LOW,4)< REF(LOW,3) AND REF(LOW,4)< REF(LOW,2) AND REF(LOW,4)< REF(LOW,1) AND REF(HIGH,4)>REF(HIGH,3) AND REF(HIGH,4)>REF(HIGH,2) AND REF(HIGH,4)>REF(HIGH,1) AND CLOSE/OPEN>1.03 AND CLOSE>REF(CLOSE,4), 5) ----------------------------------------------------------------0227--下跌三部曲 BACKSET( REF(CLOSE,4)/REF(OPEN,4)<0.97 AND REF(CLOSE,3)>REF(OPEN,3) AND REF(CLOSE,2)>REF(OPEN,2) AND REF(CLOSE,1)>REF(OPEN,1) AND REF(LOW,4)< REF(LOW,3) AND REF(LOW,4)< REF(LOW,2) AND REF(LOW,4)< REF(LOW,1) AND REF(HIGH,4)>REF(HIGH,3) AND REF(HIGH,4)>REF(HIGH,2) AND REF(HIGH,4)>REF(HIGH,1) AND CLOSE/OPEN<0.97 AND CLOSE< REF(CLOSE,4), 5) ----------------------------------------------------------------0228--长下影 (MIN(CLOSE,OPEN)-LOW)/(HIGH-LOW)>0.667 ----------------------------------------------------------------0229--长上影 (HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW)>0.667,COLORBLUE ----------------------------------------------------------------0230--分离 BACKSET( OPEN=REF(OPEN,1) AND (CLOSE-OPEN)*(REF(CLOSE,1)-REF(OPEN,1))<0, 2) ----------------------------------------------------------------0231--光头阳线 HIGH=CLOSE AND HIGH<>LOW ----------------------------------------------------------------0232--光脚阴线 LOW=CLOSE AND HIGH<>LOW ----------------------------------------------------------------0233--孕育线 N(1,100,2)N1(1,100,2)N2(1,100,2)N3(1,100,1) BACKSET(REF(CLOSE,2)>REF(OPEN,2) AND (REF(CLOSE,2)-REF(OPEN,2))/REF(OPEN,2)>=N/100 AND REF(OPEN,1)>=REF(CLOSE,1) AND (REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<=N1/100 AND REF(OPEN,1)<=REF(CLOSE,2) AND REF(CLOSE,1)>=REF(OPEN,2) AND C>=OPEN AND (CLOSE-OPEN)/OPEN>=N2/100 AND CLOSE>=REF(OPEN,1) AND OPEN<=REF(CLOSE,1) AND (MAX(CLOSE,REF(C,2))-MIN(CLOSE,REF(CLOSE,2)))/MIN(CLOSE,REF(CLOSE,2))< =N3/100 ,3) 三根 K 线的组合,由两阳夹一阴组成,中间的一根阴线被两根阳线完全包围,呈孕育线形 态 第一根阳线实体大于等于 PARAM#1%; 第二根阴线实体小于等于 PARAM#2%; 第三根阳线实体大于等于 PARAM#3%; 两根阳线的收盘价相差不超过 PARAM#4 ----------------------------------------------------------------0234--如何编写筹码分布公式 这只是一个简单的示例,说明如何写筹码分布的公式代码。激活十字光标后有效。如 果自己有更好的原理、想法,可在代码中自己实现,比如加入历史衰减等等。过去,这类 公式需要借助于 DLL 来写,且计算好结果后,也不容易画出筹码分布,现在,有了飞狐的 循环及 DRAWSL()绘图函数,就很容易自己来实现了。以一个简单的按成交量平均分配为 例,示例如下: VARIABLE:PV[50]=0,PC[50]=0; HH:=HHV(HIGH,0); LL:=LLV(LOW,0); FV:=VOL; FH:=HIGH; FL:=LOW; P:=SYSPARAM(1); DD:=(HH[P]-LL[P])/49; FOR I=P DOWNTO 1 DO BEGIN SH:=(FH-LL[P])/DD+1; SL:=(FL-LL[P])/DD+1; DJ:=FV/(SH-SL+1); FOR J=SL TO SH DO PV[J]:=PV[J]+DJ; END; S:=0; FOR I=1 TO 50 DO IF S < PV THEN S:=PV; BL:=S/(SYSPARAM(3)-SYSPARAM(2))*2; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5),0,PV[1]/BL+1,1),COLORGRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD,0,PV[2]/BL+1,1),COLORGRA Y; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*02,0,PV[03]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*03,0,PV[04]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*04,0,PV[05]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*05,0,PV[06]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*06,0,PV[07]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*07,0,PV[08]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*08,0,PV[09]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*09,0,PV[10]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*10,0,PV[11]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*11,0,PV[12]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*12,0,PV[13]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*13,0,PV[14]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*14,0,PV[15]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*15,0,PV[16]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*16,0,PV[17]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*17,0,PV[18]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*18,0,PV[19]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*19,0,PV[20]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*20,0,PV[21]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*21,0,PV[22]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*22,0,PV[23]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*23,0,PV[24]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*24,0,PV[25]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*25,0,PV[26]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*26,0,PV[27]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*27,0,PV[28]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*28,0,PV[29]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*29,0,PV[30]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*30,0,PV[31]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*31,0,PV[32]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*32,0,PV[33]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*33,0,PV[34]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*34,0,PV[35]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*35,0,PV[36]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*36,0,PV[37]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*37,0,PV[38]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*38,0,PV[39]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*39,0,PV[40]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*40,0,PV[41]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*41,0,PV[42]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*42,0,PV[43]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*43,0,PV[44]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*44,0,PV[45]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*45,0,PV[46]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*46,0,PV[47]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*47,0,PV[48]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*48,0,PV[49]/BL+1,1),COLOR GRAY; DRAWSL(BARPOS=SYSPARAM(3),SYSPARAM(5)+DD*49,0,PV[50]/BL+1,1),COLOR GRAY; 注:代码未全部显示,只能在工具箱中复制。 ----------------------------------------------------------------0235--公式底部显示“开、高、低、收” A:=BACKSET(ISLASTBAR,BARSLAST(CROSS(K,D))+1); B:=A>REF(A,1); D1:=BARSCOUNT(C); G:=SYSPARAM(2)=D1; P:=G>REF(G,1); VERTLINE(B); DRAWNUMBER(B,K,K,2); DRAWTEXT(REF(P,40),0,'开:'); DRAWTEXT(REF(P,60),0,'高:'); DRAWTEXT(REF(P,80),0,'低:'); DRAWTEXT(REF(P,100),0,'收:'); DRAWNUMBER(REF(G,45),0,REFX(O,BARPOS-SYSPARAM(1)),2); DRAWNUMBER(REF(G,65),0,REFX(H,BARPOS-SYSPARAM(1)),2); DRAWNUMBER(REF(G,85),0,REFX(L,BARPOS-SYSPARAM(1)),2); DRAWNUMBER(REF(G,105),0,REFX(C,BARPOS-SYSPARAM(1)),2);