第 36 页 共 41 页
掉。使历史以来的成交量之和就是这段日期的成交量之和成立。 第二种方法的第二种写法 VOLSUM:=IF(DATE>=980803 AND DATE<=981220,V,0); SUM(VOLSUM,0); 选出一段时间某天有满足某条件的股票 在条件选股(快捷键Ctrl+T)对话框中,选择\历史阶段选股\设置时间段即可。 只要这个范围内的某一天符合条件选股公式中的条件那么就可以选出来。 但是具体哪一天符合就不知道了。如果要知道具体哪天满足条件,可以将条件选股做成一个普通的公式,在副图中输出看输出为1的就是。 怎么对比两只股票的买一价(或者对比其他的信息如收盘价)? 方法一:$引用符号 \表示取000014股票的收盘价,注意加入双引号 $符号只可以引用基础函数(HOLC) 方法二:CALCSTOCKINDEX 编写二个公式。 编写一个公式名为“买入价”的公式 买一价:DYNAINFO(20); 再编写一个公式AA,在其中引用买入价公式: CALCSTOCKINDEX('000001SZ','买入价',1); CALCSTOCKINDEX('000002SZ','买入价',1); 指标说明:CALCSTOCKINDEX 用法:CALCSTOCKINDEX(股票代码,指标名称,指标线), 返回股票该指标相应输出的计算值 例如:CALCSTOCKINDEX('600000SH','KDJ',3)表示上证600000股票的KDJ指标第三个输出即J之值 确定某时间段的最高点比如说:选出2011年1月1日到2011年2月1日的最高点,并获得该最高点对应的日期,如何编写这个公式? 首先用一个变量hh记录这个时间段的最高价,然后hhv(hh,0); 然后用H=hhv(hh,0)为条件输出这个条件的日期 {选出2011年1月1日到2011年2月1日的最高点,并获得该最高点对应的日期} HH:=IF(DATE>=1110101 AND DATE<1110201,H,0); HHH:=(HH=REFDATE(HHV(HH,0),1110201) AND (DATE>=1110101 AND DATE<1110201)); DATEE:=IF(HHH,DATE,0); DRAWTEXT_FIX(HHH,0,0,0,VAR2STR(DATEE,0)); 第 37 页 共 41 页
{此公式请求k线到2011年才会在窗口左上方显示日期,上市日期很近的此指标无输出值} KDJ金叉,金叉后十天内显示振幅? {KDJ二天内金叉,金叉后十天内振幅显示在金叉指标上} {11根K线 第一根金叉后面的10天振幅显示出来} -1,COLORGREEN; 1,COLORRED; ZF:=(H-L)/REF(C,1)*100; RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); SCC:IF(CROSS(K,D),1,ZF); DRAWTEXT(CROSS(K,D),1,'|'); DRAWTEXT(CROSS(K,D),2,'|'); DRAWTEXT(CROSS(K,D),3,'|'); DRAWTEXT(CROSS(K,D),4,'|'); DRAWTEXT(CROSS(K,D),5,'|'); 显示历史量比曲线 VV:=VOL; SUMVV:=SUM(REF(VOL,1),5); SV:=SUM(V,5); MINN:=FROMOPEN; SCC:VV/SUMVV/MINN*5*240; 如何在分时主图指标中引用日线的数据。(要点:被分时引用的指标要是主图叠加类型的,因为只有这类型的指标才可以在分时图中被选择) 比如在分时主图上画昨日的最高值最低值的线 1.先做一个次指标FSSUB: LASTHIGH:REF(HIGH,1); LASTLOW:REF(LOW,1); 2.再做一个主指标FS:(主图叠加类型) ZG:FSSUB.LASTHIGH#DAY; ZD:FSSUB.LASTLOW#DAY; 就可以在分时图主图上使用这个FS指标了 注意:跨周期引用需要下载完整的日K线(如果没有下载全数据假如前天数据有昨天没有那么这个显示的就是前天的最高、最低) 指标公式要点(指标输出要求不显示线或者不在左上方显示输出变量和值等信息。) 第 38 页 共 41 页
A:C,NODRAW; {可以在左上方显示变量和输出值,但是不画线。} NOTEXT1:MA(CLOSE,M1); {想输出线 不想输出左上方的变量和值信息} 如何查看大盘的历史换手率 个股历史换手率: VOL/ CAPITAL *100; 20120908以后的版本支持“大盘的流通盘调用” INDEXV/CAPITAL*100;{大盘历史换手率} 平滑函数的数值变化问题。 为什么 expma(c,500),不停请求k线这个值是变化的,按说指定日期的函数的值是个定值这个为什么不是。 expma(c,500)一开始没有500个k线,比如只有300个,expma(c,500)就用300值计算,不断请求后k线增加,计算值就会变化,直到k线达到500以上结果才固定下来。 (几个平滑函数如XMA都有这个问题。) 净利润同比增长率计算按照“净利润”计算不正确 净利润同比增长率按照“归属于母公司所有者的净利润”来计算而不是单纯的“净利润”计算的。 如何在函数输出结果后面加入百分比符号“%” ZF:DYNAINFO(14); DRAWTEXT_FIX(1,0.5,0.5,1,STRCAT(CON2STR(ZF,2),'%%')),COLORRED; drawabove函数,只是作为控制的关键词。 DRAWTEXT(CROSS(C,REF(C,2)) ,H,'看看A'),DRAWABOVE; DRAWTEXT(CROSS(C,REF(C,2)),H,'看看'); 以股票B每天收盘价的涨跌幅作为基准,股票A的涨跌幅在B基准上显示 例如,股票B涨了2%,股票A实际涨了4.32%,以股票B的涨幅为基准,在指标里面显示2.32(4.32-2=2.32) 方法一:两个公式 引用其中一个 公式一 0121zf: ZF:(C-REF(C,1))/REF(C,1)*100; 公式二引用公式一中的涨幅输出 0121zfyy AZF:=CALCSTOCKINDEX('600000SH','0121ZF',1); BZF:=CALCSTOCKINDEX('000001SZ','0121ZF',1); AZF-BZF; 第 39 页 共 41 页
方法二 应用基准品种 将A、B股票加入到一个板块0121中 .402强弱分析报表 设置B股票为基准品种 然后A股票的今日强就是这个相对涨幅 首先找出最近出现的第一绿色K线(图示中标注为1); 再统计第一个绿色K线前一个绿色K线(图示中标注为2); 计算1前面k线与2那天k线的价格变化幅度 SYIN:=O>C; N:IF(CURRBARSCOUNT=1,SUMBARS(SYIN,1),0),NODRAW; M:IF(CURRBARSCOUNT=1,SUMBARS(SYIN,2),0),NODRAW; { DRAWTEXT(CURRBARSCOUNT=N,L*0.95,'1'); DRAWTEXT(CURRBARSCOUNT=M,L*0.98,'2'); };{CURRBARSCOUNT=M 后面值不能为变量} CLN:=BACKSET(CURRBARSCOUNT=1,N); CLM:=BACKSET(CURRBARSCOUNT=1,M); DRAWTEXT(CLN AND SYIN AND CLM,L*0.95,'1'); DRAWTEXT(CLM AND SYIN AND (CLN=0),L*0.95,'2'); QJ:=(CLN=0 AND CLM=1); XJ:IF(CURRBARSCOUNT=1,REF(C,N),0),NODRAW;{1前面的收盘} ZS:IF(CURRBARSCOUNT=1,REF(C,M-1),0),NODRAW;{2那个阴线那天的收盘} ZFBD:=(XJ-ZS)/ZS*100; {DRAWTEXT(CURRBARSCOUNT=1,L*0.8,STRCAT('涨幅变动',CON2STR(ZFBD,3)));} DRAWTEXT_FIX(CURRBARSCOUNT=1,0.9,0.9,0, STRCAT('涨幅变动',CON2STR(ZFBD,3))); 根据流通盘将大单分8个等级,什么等级的流通盘对应不同的单笔成交量大单 LEVEL:=IF(CAPITAL>0 AND CAPITAL<300000,1,IF(CAPITAL>300000 AND CAPITAL<500000,2,IF(CAPITAL>500000 AND CAPITAL<1000000,3,IF(CAPITAL>1000000 AND CAPITAL<2000000,4,IF(CAPITAL>2000000 AND AND CAPITAL<3000000,5,IF(CAPITAL>3000000 CAPITAL<5000000,6,IF(CAPITAL>5000000 AND CAPITAL<10000000,7,8))))))); TJ1:=LEVEL=1 AND DYNAINFO(9)>=150; TJ2:=LEVEL=2 AND DYNAINFO(9)>=300; TJ3:=LEVEL=3 AND DYNAINFO(9)>=500; TJ4:=LEVEL=4 AND DYNAINFO(9)>=1000; 第 40 页 共 41 页
TJ5:=LEVEL=5 AND DYNAINFO(9)>=1500; TJ6:=LEVEL=6 AND DYNAINFO(9)>=2000; TJ7:=LEVEL=7 AND DYNAINFO(9)>=3000; TJ8:=LEVEL=8 AND DYNAINFO(9)>=5000; TJ1 OR TJ2 OR TJ3 OR TJ4 OR TJ5 OR TJ6 OR TJ7 OR TJ8; 筹码相关问题 集中度公式相关: http://tdx.com.cn/dispbbs.asp?boardid=12&Id=290101 右侧的90%成本[5,95]获利比例的价格区间 右侧的70%成本[15,85]获利比例的价格区间 CC:COST(85); DD:COST(15); CC1:COST(95); DD1:COST(5); SCRR70:(CC-DD)/(CC+DD)*100/2*3; {70%成本集中度} SCRR90:(CC1-DD1)/(CC1+DD1)*100/2*3;{90%成本集中度} 多分钟周期的虚拟成交量公式 M1:=5; M2:=10 TOTAL:=IF(PERIOD=1,5,IF(PERIOD=2,15,IF(PERIOD=3,30,IF(PERIOD=4,60,IF(PERIOD=14,120,IF(PERIOD=5,TOTALFZNUM,1)))))); MTIME:=MOD(FROMOPEN,TOTAL); CTIME:=IF(MTIME<0.5,TOTAL,MTIME); VVOL:IF(CURRBARSCOUNT=1,VOL*TOTAL/CTIME,DRAWNULL),NODRAW; STICKLINE(CURRBARSCOUNT=1,VVOL,0,-1,-1),COLOR00C0C0; VOLUME:VOL,VOLSTICK; MAVOL1:MA(VOLUME,M1); MAVOL2:MA(VOLUME,M2); {先用period输出,查看的本地相应分钟周期的Period数值,然后根据需要再写,这里本地的120分钟周期的 period是14} 分钟周期选股 250天均线和200天均线比较的30分钟周期选股不行??? 5分钟k线数据只提供最近25天 25*240分钟 有 有240*5根5分钟k线 有80*5根15分钟k线 第 41 页 共 41 页
有40*5根30分钟k线 20*5跟60分钟k线 参数要在可能的范围内 (现在新版本 分钟线支持100天数据下载) 在最后满足小实体被大实体包含的,小实体的收盘价处画一个横线 SS:=MAX(O,C); XX:=MIN(O,C); DBX:=SSREF(XX,1){大实体包含小实体}; NN:=BARSCOUNT(C); TJ:=NOT(BACKSET(DBX,NN));{将最后一个条件 以及之前的所有满足或不满足的K线都置为0} TJ1:=BACKSET(TJ,2); HXTJ:=TJ=0 AND TJ1=1 ; NNMM:=BARSLAST(HXTJ); CC:IF(BARSLAST(HXTJ)>=0 ,REF(C,NNMM),DRAWNULL); {没有画出来的说明当天的就是被大实体包的小实体}; 取得13日内J值<0的最小值 (取得13日内J值的最小值并且J值要小于0),并取得13日内J值<0的最小值当天的收盘价 {取得13日内J值<0的最小值 (取得13日内J值的最小值 并且J值要小于0) 取得13日内J值<0的最小值当天的收盘价 } TJ:=(LOD(KDJ.J,3)=1 AND KDJ.J<0); NN:=BARSCOUNT(CLOSE); TJJ:=BACKSET(TJ,NN); NTJJ:=NOT(TJJ); LASTMZTJ:=BACKSET(NTJJ,2) AND TJ;{取得最后一个满足条件的地方} MM:=BARSLAST(LASTMZTJ); IF(MM>=0,REF(C,MM),DRAWNULL);