东方财富通的函数(上)东方财富通是在通达信基础上建立起来的软件。
函数和通达信一样。
我此前的通达信函数是早期的,所以不全。
虽然后来补了一次,但不在一起。
这次东方财富通的函数,算是全了。
但东方财富通在处理千年虫的方法上,与通达信不同。
在转换二者公式运用DATE 函数时,要注意它们的区别。
[引用函数][DRAWNULL]说明:返回无效数用法:DRAWNULL例如:IF(CL0SE>REF(CL0SE,1),CL0SE,DRAWNULL),表示下跌时分析图上不画线[BACKSET]说明:将当前位置到若干周期前的数据设为1用法:BACKSET(X,N),若X不为0则将当前位置到N周期前的数值设为1 例如:BACKSET(CLOSE>OPEN,2),若收阳则将该周期及前一周期数值设为1,否则为0[BARSCOUNT]说明:求总的周期数用法:BARSCOUNT(X),第一个有效数据到当前的周期数例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数[CURRBARSCOUNT]说明:求到最后交易日的周期数用法:CURRBARSCOUNT(X)最新有效数据到当前的周期数例如:CURRBARSCOUNT对于日线数据取得距离最新交易日的交易日数[TOTALBARSCOUNT]说明:求总的周期数用法:TOTALBARSCOUNT,求总的周期数[BARSLAST]说明:上一次条件成立到当前的周期数用法:BARSLAST(X)上一次X不为0到现在的天数例如:BARSLAST(CL0SE/REF(CL0SE,1)>=,表示上一个涨停板到当前的周期数[COUNT]说明:统计满足条件的周期数用法:COUNT(X,N),统计N周期中满足X条件的周期数若N=0则从第一个有效值开始例如:COUNT(CLOSE>OPEN,20),表示统计20周期内收阳的周期数[HHV]说明:求最高值用法:HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始例如:HHV(HIGH,22),表示求22日最高价[HHVBARS]说明:求上一高点到当前的周期数用法:HHVBARS(X,N),求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计例如:HHVBARS(HIGH,0),求得历史新高到到当前的周期数[LLV]说明:求最低值用法:LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始例如:LLV(LOW,0),表示求历史最低价[LLVBARS]说明:求上一低点到当前的周期数用法:LLVBARS(X,N),求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计例如:LLVBARS(HIGH,22),求得22日最低点到当前的周期数[REVERSE]说明:求相反数用法:REVERSE(X),返回-X例如:REVERSE(OPEN),返回-OPEN[REF]说明:引用若干周期前的数据用法:REF(X,A),引用A周期前的X值例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上表示昨收价[REFDATE]说明:引用指定日期的数据用法:REFDATE(X,A),引用A日期的X值例如[SUM]说明:求总和用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始例如:SUM(VOL,0),表示统计从上市第一天以来的成交量总和[FILTER]说明:过滤连续出现的信号用法:FILTER(X,N),X满足条件后删除其后N周期内的数据,将其置为0例如:FILTER(CLOSE>OPEN,7),查找阳线,7天内再次出现的阳线不被记录在内[SUMBAR]说明:向前累加到指定值到现在的周期数用法:SUMBAR(X,A),将X向前累加直到大于等于A,返回这个区间的周期数例如:SUMBAR(VOL,CAPITAL),求完成一次100%累计换手到现在的周期数[SUMBARS]说明:向前累加到指定值到现在的周期数用法:SUMBARS(X,A)将X向前累加直到大于等于A,返回这个区间的周期数例如:SUMBARS(VOL,CAPITAL),求完成一次100%累计换手到现在的周期数[SMA]说明:返回移动平均用法:SMA(X,N,M),X 的N 日移动平均,M 为权重若Y=SMA(X,N,M)则Y=(X*M+Y'*(N-M))/N[MA]说明:返回简单移动平均用法:MA(X,M),X的M日简单移动平均[DMA]说明:求动态移动平均用法:DMA(X,A) 求X的动态移动平均算法若Y=DMA(X,A)贝U Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1例如:DMA(CLOSE,VOL/CAPITAL),表示求以换手率作平滑因子的平均价[EMA]说明:求指数移动平均用法:EMA(X,N),求X 的N 日指数平滑移动平均。
若Y=EMA(X,N)则Y=[2*X+(N-1)*Y']/(N+1), 其中Y'表示上一周期丫值例如:EMA(CLOSE,22)表示求22日指数平滑均价[WMA]说明:X的加权移动平均用法:WMA(X,N),统计N周期的数组X,若Y=WMA(X,N),贝UY=(N*X0+(N-1)*X1+(N-2)*X2)+...+1*XN)/(N+(N-1)+(N-2)+...+1),X0 表示本周期值,X1 表示上一周期值例如:WMA(CLOSE,30)表示求30日加权均价[EXPMA]说明:求指数移动平均(同EMA)用法:EXPMA(X,N),求X的N日指数平滑移动平均。
若Y=EXPMA(X,N)则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y 值例如:EXPMA(CLOSE,22)表示求22日指数平滑均价[MEMA]说明:返回平滑移动平均用法:MEMA(X,M),X的M日平滑移动平均。
MEMA(X,N)与MA的差别在于起始值为一平滑值,而不是初始值[EXPMEMA]说明:返回指数平滑移动平均用法:EXPMEMA(X,M),X 的M日指数平滑移动平均。
EXPMEMA同EMA(即EXPMA)的差别在于他的起始值为一平滑值[RANGE]说明:判断是否在某一区间用法:RANGE(A,B,C),A 在B 和C例如:RANGE(A,B,C),A大于B同时小于C时返回1,否则返回0[CONST]说明:取某值为常量用法:CONST(A),取A最后的值为常量.例如:CONST(INDEXC),表示取大盘现价[ISLASTBAR]用法:ISLASTBAR判断是否为最后一个周期说明:判断是否最后一个周期[BARSLASTCOUNT]说明:统计连续满足条件的周期数用法:BARSLASTCOUNT(X),统计连续满足条件的周期数例如:BARSLASTCOUNT(C>O),表示统计连续收阳的周期数[FILTERX]说明:反向过滤连续出现的信号用法:FILTERX(X,N):X满足条件后将其前N周期内的数据置为0例如:FILTERX(C>O,3),前三日出现过的阳线不被记录在内[LOD]说明:求低值名次用法:LOD(X,N),当前数据X是N周期内的第几个低值,N=0则从第一个有效值开始例如:LOD(LOW,20),表示是20个周期内的第几个低价。
[TMA]说明:返回递归移动平均用法:TMA(X,N,M),求X的递归移动平均,N、M为权重。
若Y=TMA(X,N,M),贝UY=(N*Y'+M*X), 其中Y'表示上一周期Y值,初值为M*X例如:TMA(CLOSE,,,表示求X的递归移动平均[指标函数][COST]说明:成本分布情况(矩形分布)用法:COST(10)表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上,为套牢盘。
该函数仅对日线分析周期有效[PEAK]说明:前M个ZIG转向波峰值用法:PEAK(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波峰的数值,M必须大于等于1。
若ABS为0或省略,则表示相对ZIG转向,否则为绝对ZIG转向例如:PEAK(1,5,1)表示%5最高价ZIG转向的上一个波峰的数值[PEAKBARS]说明:前M个ZIG转向波峰到当前距离用法:PEAKBARS(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波峰到当前的周期数,M必须大于等于1。
若ABS为0或省略,则表示相对ZIG转向否则为绝对ZIG转向例如:PEAK(0,5,1)表示%5开盘价ZIG转向的上一个波峰到当前的周期数[SAR]说明:抛物转向用法:SAR(N,S,M),N为计算周期,S为步长,M为极值例如:SAR(10,2,20表示计算10日抛物转向,步长为2%极限值为20%[SARTURN]说明:抛物转向点用法:SARTURN(N,S,M),N为计算周期,S为步长,M为极值若发生向上转向则返回1若发生向下转向则返回-1,否则为0,其用法与SAR函数相同[TROUGH]说明:前M个ZIG转向波谷值用法:TROUGH(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波谷的数值,M必须大于等于1。
若ABS为0或省略,则表示相对ZIG转向,否则为绝对ZIG转向例如:TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷的数值[TROUGHBARS]说明:前M个ZIG转向波谷到当前距离用法:TROUGHBARS(K,N,M,ABS)表示之字转向ZIG(K,N,ABS)的前M个波谷到当前的周期数,M必须大于等于1。
若ABS为0或省略,则表示相对ZIG转向,否则为绝对ZIG转向例如:TROUGH(2,5,2)表示5%最低价ZIG转向的前2个波谷到当前的周期数[WINNER]说明:获利盘比例(矩形分布)用法:WINNER(CLOSE),表示以当前收市价卖出的获利盘比例,例如返回表示10%获利盘;WINNER表示元价格的获利盘比例该函数不包含未来数据,且仅对日线分析周期有效,运算过程比较耗时[LWINNER]说明:近期获利盘比例用法:LWINNER(5,CLOSE),表示最近5天的那部分成本以当前收市价卖出的获利盘比例, 返回表示10%获利盘。
该函数不包含未来数据,运算比较耗时[PWINNER]说明:远期获利盘比例用法:PWINNER(5,CLOSE),表示5天前的那部分成本以当前收市价卖出的获利盘比例,返回表示10%获利盘。
该函数不包含未来数据,运算比较耗时[ZIG]说明:之字转向用法:ZIG(K,N),当价格变化量超过N%时转向,K表示0:开盘价,1 最高价,2最低价,3收盘价,其余:数组信息例如:ZIG(3,5),表示收盘价的5%的ZIG转向[数学函数][ABS]说明:求绝对值用法:ABS(X)返回X的绝对值例如:ABS(-23)返回23[ACOS]说明:反余弦值用法:ACOS(X),返回X的反余弦值[ASIN]说明:反正弦值用法:ASIN(X),返回X的反正弦值[ATAN]说明:反正切值用法:ATAN(X),返回X的反正切值[CEILING]说明:向数值增大方向舍入用法:CEILING(X)返回沿X数值增大方向最接近的整数例如:CEILING 求得4,CEILING 求得-3说明:反余弦值[COS]说明:余弦值用法:COS(X),返回X的余弦值[EXP]说明:指数用法:E XP(X)为e的X次幕例如:E XP(CLOSE)返回e 的CLOSE 次幕[FLOOR]说明:向数值减小方向舍入用法:FLOOR(X)返回沿X数值减小方向最接近的整数例如:FLOOR求得3,FLOOR求得-4向下[FRACPART]说明:取得数据的小数部分用法:FRACPART(X)返回数值的小数部分例如:FRACPART求得,FRACPART求得[INTPART]说明:取得数据的整数部分用法:I NTPART(X)返回沿X绝对值减小方向最接近的整数例如:I NTPART 求得12,INTPART 求得-3[LN]说明:求自然对数用法:L N(X)以e为底的对数例如:L N(CLOSE)求收盘价的对数[LOG]说明:求10为底的对数用法:LOG(X)取得X的对数说明:求模运算例如:LOG(IOOO)等于3[MAX]说明:求最大值用法:MAX(A,B)返回A 和B 中的较大值例如:MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值[MIN]说明:求最小值用法:MIN(A,B)返回A 和B 中的较小值例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值[MOD]用法:MOD(A,B)返回A 对B 求模,否则返回0例如:MOD(18,10)返回8[POW]说明:乘幕用法:POW(A,B)返回A的B次幕例如:POW(CLOSE,2求得收盘价的2次方[RAND]说明:随机整数用法:RAND(N),返回一个范围在1-N的随机整数例如:CLOSE*(RAND(10)/10+,输出收盘价乘以[的随机系数[REVERSE]说明:求相反数用法:REVERSE(X)返回-X例如:REVERSE(OPEN)返回-OPEN[ROUND]说明:四舍五入为整数,显示时不带小数用法:R OUND(X)将X四舍五入为整数例如:R OUND 求得3,ROUND 求得4,ROUND 求得-4[SGN]说明:求符号值用法:S GN(X),当X>0,X=0,X<0 分别返回1,0,-1[SIGN]说明:求符号值用法:SIGN(X),当X>0,X=0,X<0 分别返回1,0,-1[SIN]说明:正弦值用法:SIN(X),返回X的正弦值[SQRT]说明:开平方用法:SQRT(X)为X的平方根例如:SQRT(CLOSE收盘价的平方根[TAN]说明:正切值用法:TAN(X),返回X的正切值[时间函数] [PERIOD]说明:周期用法:结果从0到11依次分别是1/5/15/30/60分钟,日/周/月多分钟,多日,季,年[DATE]说明用法[TIME]说明:取得该周期的时分秒用法:TIME,函数返回有效值范围为(000000-235959)[YEAR]说明:取得该周期的年份用法:YEAR,函数返回有效值范围为(1970-2038)[MONTH]说明:取得该周期的月份用法:MONTH,函数返回有效值范围为(1-12)[WEEK]说明:取得该周期的星期数用法:WEEKDAY,函数返回有效值范围为(0-6),0表示星期天[DAY]说明:取得该周期的日期用法:DAY,函数返回有效值范围为(1-31)[HOUR]说明:取得该周期的小时数用法:HOUR,函数返回有效值范围为(0-23)对于日线及更长的分析周期值为0[MINUTE]说明:取得该周期的分钟数用法:MINUTE,函数返回有效值范围为(0-59)对于日线及更长的分析周期值为0[FROMOPEN]说明:取得当前时刻距开盘的时长用法:FROMOPEN,返回当前时刻距开盘有多长时间,单位为分钟例如:FROMOPEN,当前时刻为早上10点,则返回31[DATETOD1970]说明:距离1970年1月1日以来的天数用法:DATETOD1970(X),得到日期X距离1970年1月1日以来的天数例如:DATETOD1970(DATE)就返回今天距离1970年1月1日的天数[D1970TODATE]说明:得到1970年1月1日后的日期值用法:D1970TODATE(X),得到1970年1月1日后的日期值例如:D1970TODATE(1)就返回700102[IF]说明:根据条件求不同的值用法:IF(X,A,B),若X不为0则返回A,否则返回B例如:IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值[IFF]说明:根据条件求不同的值用法:IFF(X,A,B),若X不为0则返回A,否则返回B 例如:IFF(CLOSE>OPEN,HIGH,LOW),表示该周期收阳则返回最高值,否则返回最低值[IFN]说明:根据条件求不同的值用法:IFN(X,A,B),若X不为0则返回B,否则返回A例如:IFN(CLOSE>OPEN,HIGH,LOW),表示该周期收阴则返回最高值否则返回最低值[绘图函数][POLYLINE]说明:在图形上绘制折线段用法:POLYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接例如:POLYLINE(HIGH>=HHV(HIGH,20),HIGH) 表示在创20天新高点之间画折线[DRAWLINE]说明:在图形上绘制直线段用法:DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),当COND1 条件满足时,在PRICE1位置画直线起点;当COND2条件满足时,在PRICE2位置画直线终点;EXPAND为延长类型。