配色: 字号:
飞狐函数大全(含例句)
2012-08-29 | 阅:  转:  |  分享 
  
★飞狐常用函数大全入口[含示意及用法]







一.常数函数

1.常数函数



CAPITAL流通盘大小

用法:CAPITAL,返回流通盘大小,单位为手。对于A股得到流通A股,B股得到B股总股本,指数为0注意:该函数返回常数



CURRENTDATE计算时的当前日期

用法:CURRENTDATE,返回计算时的日期,该日期是从1900年开始的天数,例如2003年8月1日表示为1030801。注意:该函数返回常数



CURRENTTIME计算时的当前时间返回计算时的时间。

用法:CURRENTTIME,返回计算时的时间,格式为时分秒,有效范围(000000-235959)注意:该函数返回常数



DATACOUNT序列数据量

用法ATACOUNT,返回序列数据数量。注意:该函数返回常数



DATAPERIOD数据周期类型当前数据周期类型。

用法ATAPERIOD。返回值范围为0-12,分别表示分笔成交、1分钟、5分钟、15分钟、30分钟、60分钟、日、周、月、年、多日、多分钟、多秒



LBOUND(X)序列下界序列最小下标。

用法:LBOUND(X),返回序列X的下界(最小下标),即为第一个有效数据下标,若无有效数据返回0可通过



SETLBOUND(X,N)函数设置序列变量X的下界(最小下标)



MINDIFF最小变动价位返回当前证券最小变动价位。

用法:MINDIFF,对于深沪股票为0.01,深沪基金为0.001注意:该函数返回常数



STKTYPECATEGORY证券类型当前证券类型。

用法:STKTYPE返回值范围为0-13,分别表示指数、A股、B股、基金、债券、其它证券、外汇、期货、其它股票、商品现货、选择权、凭证权证、投资指数、板块指数



UBOUND(X)序列上界序列最大下标。

用法:UBOUND(X),返回序列的上界(最大下标)



VOLUNIT每手股数每手股数。VOLUNIT,返回每手股数(可在市场管理中设置),对于深沪股票为100,深沪债券为1000注意:该函数返回常数





二.引用函数

BACKSET(X,N)向前赋值



将当前位置到若干周期前的数据设为1。BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。

例如:BACKSET(CLOSE>OPEN,2)若收阳则将该周期及前一周期数值设为1,否则为0



BARSCOUNT(X)有效值周期数求总的周期数。BARSCOUNT(X)第一个有效数据到当前的天数例

例如:BARSCOUNT(CLOSE)对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数

BARSLAST(X)上一次条件成立位置上一次条件成立到当前的周期数。BARSLAST(X):上一次X不为0到现在的天数

例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1.1)表示上一个涨停板到当前的周期数

BARSSINCE(X)第一个条件成立位置第一个条件成立到当前的周期数。BARSSINCE(X):第一次X不为0到现在的天数

例如:BARSSINCE(HIGH>20)表示股价超过20元时到当前的周期数



COUNT(X,N)统计总数统计满足条件的周期数。COUNT(X,N),统计N周期中满足条件X的周期数,若N=0则从第一个有效值开始。

例如:COUNT(CLOSE


DMA(X,A)动态移动平均求动态移动平均。DMA(X,A),求X的动态移动平均。算法:若Y=DMA(X,A)则Y=AX+(1-A)Y'',其中Y''表示上一周期Y值,A必须小于1。

例如MA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价



EMA(X,N)指数平滑移动平均求指数平滑移动平均。EMA(X,N),求X的N日指数平滑移动平均。

算法:若Y=EMA(X,N)则Y=[2X+(N-1)Y'']/(N+1),其中Y''表示上一周期Y值。

例如:EMA(CLOSE,20)表示求20日指数平滑均价



FILTER(X,N)信号过滤过滤连续出现的信号。FILTER(X,N):X满足条件后,将其后N周期内的数据置为0。

例如:FILTER(CLOSE>OPEN,3)查找阳线,3天内再次出现的阳线不被记录在内



HHV(X,N)最高值求最高值。HHV(X,N),求N周期内X的最高值,N=0则从第一个有效值开始。

例如:HHV(HIGH,30)表示求30日最高价



HHVBARS(X,N)上一高点位置求上一高点到当前的周期数。HHVBARS(X,N):求N周期内X最高值到当前周期数,N=0表示从第一个有效值开始统计



例如:HHVBARS(HIGH,0)求得历史新高到到当前的周期数



LLV(X,N)最低值求最低值。LLV(X,N),求N周期内X的最低值,N=0则从第一个有效值开始。

例如:LLV(LOW,0)表示求历史最低价



LLVBARS(X,N)上一低点位置求上一低点到当前的周期数。LLVBARS(X,N):求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计

例如:LLVBARS(HIGH,10)求得10日最低点到当前的周期数



MA(X,N)简单移动平均求简单移动平均。MA(X,N),求X的N日简单移动平均值。算法:(X1+X2+X3+...+Xn)/N

例如:MA(CLOSE,20)表示求20日均价



REF(X,A)向前引用引用若干周期前的数据。REF(X,A),引用A周期前的X值。

例如:REF(CLOSE,1)表示上一周期的收盘价,在日线上就是昨收



REFX(X,A)向后引用引用若干周期后的数据。REFX(X,A),引用A周期后的X值。

例如:REFX(CLOSE,1)表示后一周期的收盘价,在日线上就是明收



SMA(X,N,M)移动平均求移动平均。用法:SMA(X,N,M),求X的N日移动平均,M为权重。算法:若



Y=SMA(X,N,M)则Y=(MX+(N-M)Y'')/N,其中Y''表示上一周期Y值,N必须大于M。

例如:SMA(CLOSE,20,1)表示求

20日移动平均价

SUM(X,N)求和求总和。用法:SUM(X,N),统计N周期中X的总和,N=0则从第一个有效值开始。SUM



(VOL,0)表示统计从第一根K线以来的成交量总和



SUMBARS(X,A)累加到指定值周期数向前累加到指定值到现在的周期数。用法:SUMBARS(X,A):将X向前累加直到大于等于A,返回这个区间的周期数

例如:SUMBARS(VOL,CAPITAL)求完全换手到现在的周期数



TMA(X,N,M)递归移动平均求递归移动平均。用法:TMA(X,N,M),求X的递归移动平均,N、M为权重。算法:若Y=TMA(X,N,M)则Y=(NY''+MX),其中Y''表示上一周期Y值。初值为MX

例如:TMA(CLOSE,0.9,0.1)表示求

X的递归移动平均。

WMA(X,A)加权移动平均求加权移动平均。用法:WMA(X,A),求X的加权移动平均。

算法:若Y=WMA

(X,A)则Y=(NX0+(N-1)X1+(N-2)X2)+...+1XN)/(N+(N-1)+(N-2)+...+1)X0表示本周期值,X1表示上一周期值...

例如:WMA(CLOSE,20)







三.统计函数

AVEDEV(X,N)平均绝对偏差平均绝对偏差。用法:AVEDEV(X,N)



DEVSQ(X,N)数据偏差平方和数据偏差平方和。用法EVSQ(X,N)



FORCAST(X,N)线性回归预测值线性回归预测值。用法:FORCAST(X,N)为X的N周期线性回归预测值。

如:FORCAST(CLOSE,20)表示求20周期线性回归预测



SLOPE(X,N)线性回归斜率线性回归斜率。用法:SLOPE(X,N)为X的N周期线性回归线的斜率。

如:SLOPE(CLOSE,20)表示求20周期线性回归线的斜率



STD(X,N)估算标准差估算标准差。用法:STD(X,N)为X的N日估算标准差



STDP(X,N)总体标准差总体标准差。用法:STDP(X,N)为X的N日总体标准差



VAR(X,N)估算样本方差估算样本方差。用法:VAR(X,N)为X的N日估算样本方差



VARP(X,N)总体样本方差总体样本方差。用法:VARP(X,N)为X的N日总体样本方差

四.时间函数

BARPOS数据位置函数返回当前是第几根K线。对于日线数据就表示从上市到现在总共有多少交易日。



BARSTATUS数据位置状态函数返回数据位置状态。1表示第1根K线,2表示最后1根K线,0表示中间的K线。



D1970TODATE(X)1970日转换为日期取得1970日期X的日期值。



DATE年月日取得该周期从1900以来的的年月日。函数返回有效值范围为(700101-1341231),表示



19700101-20341231



DATEDIFF(DATE1,DATE2)间隔天数取得日期之间的时间间隔天数。DATE1,DATE2为序列变量或常数,



格式与DATE同,有效值范围为(800101-1301231),表示19800101-20301231。返回DATE1、DATE2两个日期之间的



相差的天数,如果DATE1晚于DATE2,则DATEDIFF函数返回负数。例如ATEDIFF(LSOLARTERMDATE(1),DATE)表示求当年小寒到当前周期相差的天数



DATETOD1970(X)日期转换为1970日取得日期X距离1970年1月1日以来的天数。DATETOD1970(DATE)返回当天距离1970年1月1日的天数。



DAY日期取得该周期的日期。函数返回有效值范围为(1-31)



DAYS1970天数取得该周期从1970以来的天数。返回自从1970年1月1日以来的天数,例如在1971年1月1日返回365。



HOUR小时取得该周期的小时数。函数返回有效值范围为(0-23),对于日线及更长的分析周期值为0



LDAY农历日期取得该周期的农历日期。函数返回有效值范围为(1-30)



LMONTH农历月份取得该周期的农历月份。函数返回有效值范围为(1-12)



LSOLARTERM(X)节气取得日期所在的二十四节气。X为序列变量或常数,格式与DATE同,有效值范围为



(700101-1341231),表示19700101-20341231。返回有效值范围为(0-24).0表示该周期不在节气日中,1-24分别

表示小寒、大寒、立春、雨水、惊蛰、春分、清明、谷雨、立夏、小满、芒种、夏至、小暑、大暑、立秋、处暑、白露、秋分、寒露、霜降、立冬、小雪、大雪、冬至



LSOLARTERMDATE(X)节气日期取得当年的节气日期。X为序列变量或常数,有效值范围为(1-24)分别表示小寒、大寒...冬至。返回当年的节气日期,格式与DATE同,有效值范围为(700101-1341231),表示

19700101-20341231。例如:LSOLARTERMDATE(1),求当年的小寒日期,返回的序列中2001年之内的都为1010105



LSOLARTERMDAY(X)节气后天数取得节气后的第几日。X为序列变量或常数,格式与DATE同,有效值范围为(800101-1301231),表示19800101-20301231。返回序列日期是前一节气后的第几日。

例如:LSOLARTERMDAY(DATE)表示求当前周期是前一节气后的第几日。



LYEAR农历年份取得该周期的农历年份。函数返回有效值范围为(1980-2030)



MINUTE分钟取得该周期的分钟数。函数返回有效值范围为(0-59),对于日线及更长的分析周期值为0



MONTH月份取得该周期的月份。函数返回有效值范围为(1-12)



OPENMINUTES(TIME)开盘分钟数取得开盘分钟数。返回已开盘分钟数(1-总开盘分钟数),开盘前的都为1,收盘后都为总开盘分钟数。

例如:OPENMINUTES(CURRENTTIME),在日线上可得到现在已开盘分钟数。

OPENMINUTES(TIME),在分钟线上可得到当时已开盘分钟数



T0TOTIME(X)秒数转换为时间取得从0点开始X秒后的时间值。



TIME时分秒取得该周期的时分秒。函数返回有效值范围为(000000-235959)



TIME0秒数取得该周期从当日0点以来的秒数。返回自从当日0点以来的秒数,对于日线以上的分析周期返回0



TIMETOT0(X)时间转化为秒数取得时间X距离当日0点的秒数。



WEEKDAY星期取得该周期的星期数。函数返回有效值范围为(0-6),0表示星期天



YEAR年份取得该周期的年份。函数返回有效值范围为(1970-2038)





五.逻辑函数

ALLEVERY(X,N)一直存在一直存在。用法:EVERY(X,N)返回N周期内一直满足条件X,N可为常数或变量,若N=0则从第一个有效值开始例如:EVERY(C>O,10)表示10个周期内一直是阳线

ANYEXIST(X,N)存在是否存在。用法:EXIST(X,N)返回N周期内是否存在满足条件X,N可为常数或变量,若N=0则从第一个有效值开始例如:EXIST(C>O,10)表示10个周期中存在阳线



BETWEEN(A,B,C)介于介于两个数之间。用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1,否则返回0

例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,20))表示收盘价介于10日均线和20日均线之间



CROSS(A,B)交叉函数两条线交叉。用法:CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0

例如:CROSS(MA(CLOSE,10),MA(CLOSE,20))表示10日均线与20日均线交金叉



IIFIF(X,A,B)条件函数根据条件取不同的值。用法:IF(X,A,B)若X不为0则返回A,否则返回B

例如:IF(CLOSE
ISDOWN当日下跌该周期是否收阴。用法:当收盘<开盘时,返回值为1,否则为0



ISEQUAL当日平盘该周期是否平盘。用法:当收盘=开盘时,返回值为1,否则为0

ISLASTBAR是否最后周期该周期是否为最后一个周期。最后一个周期返回值为1,其余为0



ISUP当日上涨该周期是否收阳。用法:ISUP当收盘>开盘时,返回值为1,否则为0



LAST(X,A,B)持续存在持续存在。用法:LAST(X,A,B)返回第前A周期到第前B周期是否一直满足条件X,若A为0,表示从第一天开始,B为0,表示到最后日止。例如:LAST(C>O,10,5)表示从第前10个周期到第前5个周期内一直是阳线



LONGCROSS(A,B,N)维持-交叉函数两条线维持一定周期后交叉。

用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0。

例如:LONGCROSS(MA(CLOSE,10),MA(CLOSE,20),5)

表示10日均线维持5周期后与20日均线交金叉



NOT(X)求逻辑非求逻辑非。用法:NOT(X)返回非X,即当X=0时返回1,否则返回0。

例如:NOT(ISDOWN)

表示平盘或收阳



RANGE(A,B,C)范围介于某个范围之间。

用法:RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0

例如:RANGE(CLOSE,MA(CLOSE,10),MA(CLOSE,20))表示收盘价大于10日均线并且小于20日均线





六.系统参数

SYSPARAM(1)画面上光标位置(K线序号)SYSPARAM(1)画面上光标位置(K线序号),注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定



SYSPARAM(2)主图可见K线最初位置SYSPARAM(2)主图可见K线最初位置,注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定



SYSPARAM(3)主图可见K线最后位置SYSPARAM(3)主图可见K线最后位置,注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定



SYSPARAM(4)主图可见K线最高价SYSPARAM(4)系统参数:主图可见K线最高价,注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定



SYSPARAM(5)主图可见K线最低价SYSPARAM(5)主图可见K线最低价,注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定



SYSPARAM(6)画面上光标数值SYSPARAM(6)画面上光标数值,注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定





七.期权函数



DELTADELTA指标期权价格变动对其标的物价格变动的比率。

用法ELTA(O,T,P,X,I,V,D)参数见OPTION函数



GAMMAGAMMA指标DELTA指标变动对其标的物价格变动的比率。

用法:GAMMA(O,T,P,X,I,V,D)参数见OPTION函数



OPTION(O,T,P,X,I,V,D)期权定价期权定价.

用法:OPTION(O,T,P,X,I,V,D)O为期权类型,0表示看涨期权,1表示看跌期权,2表示期货看涨期权,1表示期货看跌期权。T为到期天数,P为标的物现价,X为履约价格,I为年利率,V为年波动率,D为年红利率

例如:OPTION(0,100,22,20,6,15,0)求标的物现价为22,履约价格为20,年利率为6%,波动率为12%的100天后到期的看涨期权定价.OPTION(1,DATEDIFF(DATE,1040615),CLOSE,20,6,15,0)求履约期满日为2004年6月1日的看跌涨期权定价



RHO(O,T,P,X,I,V,D)RHO指标期权价格变动对利率变动的比率。

用法:RHO(O,T,P,X,I,V,D)参数见OPTION函数



THETA(O,T,P,X,I,V,D)THETA指标期权价格变动对时间变动的比率。

用法:THETA(O,T,P,X,I,V,D)参数见OPTION函数



VEGA(O,T,P,X,I,V,D)VEGA指标期权价格变动对其标的物价格波动率变动的比率。

用法:VEGA(O,T,P,X,I,V,D)参数见OPTION函数



VOLO(X,N,M)波动率

用法:VOLO(X,N,M)为样本数为N的X序列的波动率,M为交易周期数

例如:VOLO(CLOSE,90,250)表示计算90个样本收盘价数据的年波动率(输出以百分比为单位),以年250交易日计算





八.数学函数



ABS(X)绝对值求绝对值。

用法:ABS(X)返回X的绝对值。

例如:ABS(-23)返回23



ACOS(X)反余弦值反余弦值。

用法:ACOS(X)返回X的反余弦值



ASIN(X)反正弦值反正弦值。

用法:ASIN(X)返回X的反正弦值



ATAN(X)反正切值反正切值。

用法:返回X的反正切值



CEILING(X)向上舍入向数值增大方向舍入。CEILING(X)返回沿X数值增大方向最接近的整数。CEILING(3.3)求得3,CEILING(-3.5)求得-3

COS(X)余弦值余弦值。

用法:COS(X)返回X的余弦值

EXP(X)指数用法:EXP(X)为e的X次幂,e等于2.71828182845904。

例如:EXP(CLOSE)返回e的CLOSE次幂



FLOOR(X)向下舍入向数值减小方向舍入。用法:FLOOR(X)返回沿X数值减小方向最接近的整数。

例如:FLOOR(3.3)求得3,FLOOR(-3.5)求得-4向下舍入



FRACPART(X)取小数部分取得数据的小数部分。

用法:FRACPART(X)返回数值的小数部分。

例如:FRACPART(12.3)求得0.3,FRACPART(-3.5)求得-0.5



INTPART(X)取整取得数据的整数部分。

用法:INTPART(X)返回沿X绝对值减小方向最接近的整数。

例如:INTPART(12.3)求得12,INTPART(-3.5)求得-3



LN(X)自然对数求自然对数。

用法:LN(X)以e为底的对数。

例如:LN(CLOSE)求收盘价的对数



LOG(X)10为底的对数求10为底的对数。

用法:LOG(X)取得X的对数。

例如:LOG(1000)等于3



MAX(A,B)最大值求最大值。

用法:MAX(A,B)返回A和B中的较大值。

例如:MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回0



MIN(A,B)最小值求最小值。

用法:MIN(A,B)返回A和B中的较小值。

例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值



MOD(A,B)求模运算求模运算。用法:MOD(A,B)返回A对B求模。

例如:MOD(18,10)返回8



POW(A,B)乘幂乘幂。

用法:POW(A,B)返回A的B次幂。

例如:POW(CLOSE,2)求得收盘价的2次方



RAND(N)随机数随机整数。

用法:RAND(N)返回一个范围在1-N的随机整数。

例如:CLOSE(RAND(10)/10+0.4)输出收盘价乘以[0.5-1.4]的随机系数



REVERSE(X)求相反数求相反数。

用法:REVERSE(X)返回-X例如REVERSE(OPEN)返回-OPEN

ROUND(X)四舍五入为整数四舍五入为整数,显示时不带小数。用法:ROUND(X)将X四舍五入为整数。

例如:ROUND(3.3)求得3,ROUND(3.5)求得4,ROUND(-3.5)求得-4



SGN(X)符号值求符号值。

用法:SGN(X),当X>0,X=0,X<0分别返回1,0,-1



SIN(X)正弦值正弦值。

用法:SIN(X)返回X的正弦值



SQRT(X)开平方开平方。

用法:SQRT(X)为X的平方根。

例如:SQRT(CLOSE)收盘价的平方根



TAN(X)正切值正切值。

用法:TAN(X)返回X的正切值









用法:TROUGHBARSA(X,N,M)表示之字转向ZIGA(X,N)的前M个波谷到当前的周期数,M必须大于等于1。

例如:TROUGHBARSA(RSI1,10,2)



WINNER(X)获利盘比例获利盘比例。

用法:WINNER(CLOSE)表示以当前收市价卖出的获利盘比例,如返回0.2表示20%获利盘;

例如:WINNER(10)表示10元价格的获利盘比例。该函数仅对比较日线分析周期有效



IG(X,N)之字转向之字转向。

用法:ZIG(X,N),当序列或K线变化量超过N%时转向。X为序列或常数,为常数时表示0:开盘价,1:最高价,2:最低价,3:收盘价,4:高点用最高价、低点用最低价。例如:ZIG(3,10)表示收盘价的10%的ZIG转向。ZIG(MA(C,20),10)表示均线的10%的ZIG转向



ZIGA(X,N)绝对之字转向绝对变化量之字转向。

用法:ZIGA(X,N),当序列X变化量超过N时转向。

例如:ZIGA(RSI1,10)

九.扩展数据函数

BUYORDERS委托买进笔数取得大盘委托买进笔数。(本函数仅对大盘指数当日分笔、分钟周期有效)



BUYSHARES委托买进张数取得大盘委托买进张数。(本函数仅对大盘指数当日分笔、分钟周期有效)



ESTDATA(N)横向统计数据取得横向统计日线数据。ESTDATA(N),N取1--N或者ESTDATA(S),S为数据名称。在[横向统计管理]中定义并计算数据。



EXTDATA(N)扩展数据取得日线扩展数据。EXTDATA(N),N取1--13或者

EXTDATA(S),S为数据名称。在[扩展数据管理]中定义并计算数据。(本函数仅在日线分析周期有效)



SELFDATA(S)自定义数据取得自定义数据S为数据名称。SELFDATA(''发行价''),返回自定义的''发行价''数据。在[自定义数据管理]中定义并计算或编辑数据。



SELLORDERS委托卖出笔数取得大盘委托卖出笔数。(本函数仅对大盘指数当日分笔、分钟周期有效)



SELLSHARES委托卖出张数取得大盘委托卖出张数。(本函数仅对大盘指数当日分笔、分钟周期有效)



TRADEORDER成交笔数取得大盘成交笔数。(本函数仅对大盘指数当日分笔、分钟周期有效)



TRADESHARES成交张数取得大盘成交张数。(本函数仅对大盘指数当日分笔、分钟周期有效)





十.协方差函数



BETA(N)贝塔系数求当前证券的贝塔系数。

用法:BETA(N)为当前证券N收益与大盘收益相比的贝塔系数,该系数表明大盘每变动1%,则该股票将变动V%

例如:BETA(5)表示5周期贝塔系数



BETA2(X1,X2,N)相关放大系数求2个序列间的相关放大系数。

用法:BETA2(X1,X2,N)为X1与X2的N周期的相关放大系数,表示Y变化1,则X将变化V。

例如:BETA2(CLOSE,INDEXC,5)表示收盘价与大盘指数之间的5周期相关放大系数



BETADOWN(N)下跌贝塔系数求当前证券的下跌贝塔系数。

用法:BETADOWN(N)为当前证券N收益与大盘收益相比的下跌贝塔系数,该系数表明大盘每下跌1%,则该股票将下跌V%

例如:BETADOWN(5)表示5周期下跌贝塔系数



BETAUP(N)上涨贝塔系数求当前证券的上涨贝塔系数。

用法:BETAUP(N)为当前证券N收益与大盘收益相比的上涨贝塔系数,该系数表明大盘每上涨1%,则该股票将上涨V%

例如:BETAUP(5)表示5周期上涨贝塔系数



CORRTPL(TPLNAME,X,D,N)与模板相关系数与模板相关系数。

用法:CORRTPL(TPLNAME,X,D,N)D为常数,表示0:开盘价,1:最高价,2:最低价,3:收盘价,4:成交量,5:成交额。N表示仅计算最后多少个有效数据,为0表示计算所有。用于当前选股时N设为1可大大减小计算量,用于历史测试和训练模式应设为0避免有效数据过少而失真。

例如:CORRTPL(''一马平川'',CLOSE,3,1)表示求收盘价线与一马平川收盘价线的最后一组的相关系数



COVAR(X1,X2,N)协方差求2个序列的协方差。

用法:COVAR(X1,X2,N)为X1与X2的N周期的协方差

例如:COVAR(CLOSE,INDEXC,8)表示收盘价与大盘指数之间的8周期的协方差

CORR(X1,X2,N)相关系数求2个序列间的相关系数。用法:CORR(X1,X2,N)为X1与X2的N周期的相关系数例如:CORR(CLOSE,INDEXC,5)表示收盘价与大盘指数之间的5周期的相关系数





TROUGHBARSA(X,N,M)ZIGA前M个波谷位置前M个ZIGA转向波谷到当前周期数(绝对变化量)。





十一.指标函数



COST(X)成本分布成本分布情况。

用法:COST(20)表示20%获利盘的价格是多少。即有20%的持仓量在该价格以下,其余80%在该价格以上,为套牢盘。该函数仅对日线分析周期比较有效



FLATZIG(X,N)归一化之字转向归一化之字转向。

用法:FLATZIG(X,N),当序列或K线变化量超过N%时转向。X为序列或常数,为常数时表示0:开盘价,1:最高价,2:最低价,3:收盘价,4:高点用最高价、低点用最低价。与ZIG函数不同的是本函数返回值在0-1之间。

例如:FLATZIG(3,10)表示收盘价的10%的FLATZIG转向。FLATZIG(MA(C,20),10)表示均线的10%的FLATZIG转向



FLATZIGA(X,N)归一化绝对变化量之字转向归一化之字转向(绝对变化量)。

用法:FLATZIGA(X,N),当序列X变化量超过N时转向。与ZIGA函数不同的是本函数返回值在0-1之间。

例如:FLATZIGA(RSI1,10)



LWINNER(N,X)近期获利盘比例近期获利盘比例。

用法:LWINNER(20,CLOSE)表示最近20天的那部分成本以当前收市价卖出的获利盘比例。

例如返回0.2表示20%获利盘;该函数仅对日线分析周期有效



PEAK(X,N,M)前M个波峰值前M个ZIG转向波峰值。

用法:PEAK(X,N,M)表示之字转向ZIG(X,N)的前M个波峰的数值,M必须大于等于1。

例如:PEAK(1,5,1)表示5%最高价ZIG转向的上一个波峰的数值,



PEAK(MA(C,20),10,1)表示均线的10%的ZIG转向的上一个波峰的数值



PEAKA(X,N,M)ZIGA前M个波峰值前M个ZIGA转向波峰值(绝对变化量)。

用法:PEAKA(X,N,M)表示之字转向ZIGA(X,N)的前M个波峰的数值,M必须大于等于1。

例如:PEAKA(RSI1,10,1)



PEAKBARS(X,N,M)前M个波峰位置前M个ZIG转向波峰到当前周期数。

用法:PEAKBARS(X,N,M)表示之字转向ZIG(X,N)的前M个波峰到当前的周期数,M必须大于等于1。

例如:PEAKBARS(0,8,1)表示%8开盘价ZIG转向的上一个波峰到当前的周期数。



PEAKBARS(MA(C,20),8,1)表示均线的8%的ZIG转向的上一个波峰到当前的周期数



PEAKBARSA(X,N,M)ZIGA前M个波峰位置前M个ZIGA转向波峰到当前周期数(绝对变化量)。

用法:PEAKBARSA(X,N,M)表示之字转向ZIGA(X,N)的前M个波峰到当前的周期数,M必须大于等于1。

例如:PEAKBARSA(RSI1,10,1)



PPART(N)远期成本比例远期成本比例。

用法:PPART(N)表示N周期前的成本占总成本的比例,如返回0.2表示20%

例如:PPART(5)5天前的成本占总成本的比例。该函数仅对日线分析周期比较有效



PWINNER(N,X)远期获利盘比例远期获利盘比例。

用法:PWINNER(10,CLOSE)表示10天前的那部分成本以当前收市价卖出的获利盘比例。

例如返回0.2表示20%获利盘;该函数仅对日线分析周期比较有效



SAR(N,S,M)抛物转向抛物转向。

用法:SAR(N,S,M),N为计算周期,S为步长,M为极值。例如SAR(5,2,10)表示计算5日抛物转向,步长为2%,极限值为10%



SARTURN(N,S,M)抛物转向点抛物转向点。

用法:SARTURN(N,S,M)N为计算周期,S为步长,M为极值,若发生向上转向则返回1,若发生向下转向则返回-1,否则为0。其用法与SAR函数相同



TROUGH(X,N,M)前M个波谷值前M个ZIG转向波谷值。

用法:TROUGH(X,N,M)表示之字转向ZIG(X,N)的前M个波谷的数值,M必须大于等于1。

例如:TROUGH(2,8,3)表示%8最低价ZIG转向的前3个波谷的数值。



TROUGH(MA(C,20),5,2)表示均线的5%的ZIG转向的前2个波谷的数值



TROUGHA(X,N,M)ZIGA前M个波谷值前M个ZIGA转向波谷值(绝对变化量)。



TROUGHA(X,N,M)表示之字转向ZIGA(X,N)的前M个波谷的数值,M必须大于等于1。

例如:TROUGHA(RSI1,10,2)



TROUGHBARS(X,N,M)前M个波谷位置前M个ZIG转向波谷到当前周期数。

用法:TROUGHBARS(X,N,M)表示之字转向ZIG(X,N)的前M个波谷到当前的周期数,M必须大于等于1。

例如:TROUGHBARS(2,8,3)表示%8最低价ZIG转向的前3个波谷到当前的周期数。



TROUGHBARS(MA(C,20),5,2)表示均线的5%的ZIG转向的前2个波谷到当前的周期数。



TROUGHBARSA(X,N,M)ZIGA前M个波谷位置前M个ZIGA转向波谷到当前周期数(绝对变化量)。

用法:TROUGHBARSA(X,N,M)表示之字转向ZIGA(X,N)的前M个波谷到当前的周期数,M必须大于等于1。

例如:TROUGHBARSA(RSI1,10,2)



WINNER(X)获利盘比例获利盘比例。

用法:WINNER(CLOSE)表示以当前收市价卖出的获利盘比例,如返回0.2表示20%获利盘;

例如:WINNER(10)表示10元价格的获利盘比例。该函数仅对比较日线分析周期有效



IG(X,N)之字转向之字转向。

用法:ZIG(X,N),当序列或K线变化量超过N%时转向。X为序列或常数,为常数时表示0:开盘价,1:最高价,2:最低价,3:收盘价,4:高点用最高价、低点用最低价。例如:ZIG(3,10)表示收盘价的10%的ZIG转向。ZIG(MA(C,20),10)表示均线的10%的ZIG转向



ZIGA(X,N)绝对之字转向绝对变化量之字转向。

用法:ZIGA(X,N),当序列X变化量超过N时转向。

例如:ZIGA(RSI1,10)





十二.字符串函数

BLKNAME所属板块取证券所属分类板块名称。

例如:Explain(1,STKNAME+STKLABEL+''\n所属板块:''+BLKNAME)



F10FIND(S,N)F10资料查找当前证券的F10资料中查找字符串。

用法:F10FIND(S,N),将从当前股票的F10资料的第N个字符开始查找字符串S,返回找到的位置,返回-1表示未找到。

例如:F10FIND(''发行价'',1),将从F10资料的第1个字符开始查找字符串''发行价'',返回找到的位置。



F10TEXT(N,M)F10资料子字符串取得当前证券的F10资料中指定范围的子字符串。

用法:F10TEXT(N,M),将得到当前股票的F10资料中从第N个字符开使的M个字节长的字符串,M=0表示一直取到行尾。

例如:EXPLAIN(1,F10TEXT(F10FIND(''发行价'',1),0));输出F10资料中''发行价''所在行



INBLOCK(BLKNAME)是否板块成员当前证券是否属于板块。

用法:属于输出1否则为0。例如:INBLOCK(''上海A股'');INBLOCK(''金融板块'')



LOWERSTR(STR)小写字符串将字符串转换为小写。

用法:LOWERSTR(STR)

例如:VAR1:=LOWERSTR(MARKETLABEL,''sh'',2)=0输出1表示该股为上海证券



LTRIM(STR)除去开始空格除去字符串开始空格。

用法:LTRIM(STR)

例如:LTRIM(''SH'')返回SH



MARKETLABELSTKMARKET市场代码取证券所在市场代码字符串。

用法:MARKETLABEL

例如:VAR1:=STRCMP(MARKETLABEL,''SH'')=0输出1表示该股为上交所证券



MARKETNAME市场名称取证券所在市场名称。

用法:MARKETNAME

例如:Explain(1,MARKETNAME)



NUMTOSTR(N,M)数字转化为字符串将数字转化为字符串。

用法:NUMTOSTR(N,M),将N转化为字符串返回,精确到小数点后M位

例如:EXPLAIN(1,NUMTOSTR(0.12345,2))输出0.123



RTRIM(STR)除去尾部空格除去字符串尾部空格。

用法:RTRIM(STR)

例如:RTRIM(''SH'')返回SH



SELFSTRING(S)自定义字符串数据取得自定义字符串数据。

用法:SELFSTRING(S),取得名为S的自定义字符串数据。

例如:EXPLAIN(1,SELFSTRING(''所属板块''))输出命名为[所属板块]的自定义字符串数据。注:在[自定义数据管理]中定义单值字符串数据并编辑或从外部提取、导入



STKCOUNT(BLKNAME)板块含证券数量板块所包含证券数量。

用法:STKCOUNT(BLKNAME)属于输出1否则为0例如:STKCOUNT(''上海A股'');STKCOUNT(''金融板块'')



STKFROMBLK(BLK,N)取板块成员代码取得板块成员的证券代码。

用法:STKFROMBLK(BLK,N)返回BLK板块中的第N个成员的证券代码

例如:explain(1,STKFROMBLK(''上海A股'',1));在[解]中显示[上海A股]板块中的第1个成员的证券代码



STKINBLOCK(STK,BLK)证券是否板块成员指定的证券是否属于板块。

用法:STKINBLOCK(STK,BLK)证券代码STK参数表示的证券是否属于BLK板块,属于输出1否则为0

例如:STKINBLOCK(STKLABEL,''上海A股'');STKINBLOCK(''SH600000'',''金融板块'')



STKLABEL证券代码取证券代码字符串。

用法:STKLABEL



STKNAME证券名称取证券名称字符串。

用法:STKNAME



STKNAMEEX(S)指定证券名称取指定证券名称字符串。STKNAMEEX(S),S为证券代码。

例如STKNAMEEX(''600000'')或STKNAMEEX(''SH600000'')返回浦发银行



STRCMP(STR1,STR2)字符串比较比较字符串。

用法:STRCMP(STR1,STR2)STR1>STR2输出1;STR1=STR2输出0;STR1
例如:VAR1:=STRCMP(STKLABEL,''000001'')为0表示证券代码为000001



STRFIND(STR,S,N)查找字符串在字符串中查找另一个字符串。

用法:STRFIND(STR,S,N),从字符串STR的第N个字符开始查找字符串S1,返回找到的位置,若没有找到就返回0。

例如:STRFIND(''ABCDEF'',UPPERSTR(''cde''),1)返回3



STRLEFT(STR,N)字符串的左部取得字符串的左边部分。

用法:STRLEFT(STR,N),返回字符串STR的左边N个字符例如:EXPLAIN(1,STRLEFT(STKLABEL,3))输出证券代码前3位



STRLEN(STR)字符串长度取字符串长度。

用法:STRLEN(STR)

例如:check:=STRLEN(USERNAME)>0为0表示用户注册名为空



STRMID(STR,N,M)字符串的中部取得字符串的中间部分。

用法:STRMID(STR,N,M),返回字符串STR的第N个字符开始的长度为M个字符的字符串,M为0则取到末尾。

例如:EXPLAIN(1,STRMID(''ABCDEF'',3,3))输出CDE



STRNCMP(STR1,STR2,LEN)部分字符串比较指定长度比较字符串。

用法:STRNCMP(STR1,STR2,LEN)

例如:VAR1:=STRNCMP(STKNAME,''ST'',2)=0输出1表示该股为ST股



STRRIGHT(STR,N)字符串的右部取得字符串的右边部分。

用法:STRRIGHT(STR,N),返回字符串STR的右边N个字符

例如:EXPLAIN(1,STRRIGHT(STKLABEL,3))输出证券代码后3位



STRTONUM(STR)字符串转化为数字将字符串转化为数字。

用法:STRTONUM(STR),将STR转化为数字。

例如:STRTONUM(''1.2345'')返回数值1.2345



TPLDATACOUNT(TPLNAME)K线模板数据数量K线模板数据数量。

用法:TPLDATACOUNT(TPLNAME)

例如:TPLDATACOUNT(''一马平川'');“一马平川”K线模板数据数量



UPPERSTR(STR)大写字符串将字符串转换为大写。

用法:UPPERSTR(STR)

例如:EXPLAIN(1,UPPERSTR(''sh''))输出SH

.





十三.交易函数



FREEMARGIN(ZHMC)可用资金投资账户的可用资金。

用法:表示取得名称为ZHMC的帐户的可用资金

例如:FREEMARGIN(''模拟训练''),表示[模拟训练]的可用资金



IVSBS(ZHMC,ZQDM,T)交易类型投资记录买卖情况。

用法:IVSBS(ZHMC,ZQDM,T)表示取得名称为ZHMC的帐户中对证券代码为ZQDM的历史投资记录买卖情况,ZQDM为空字符串则为当前证券。参数T为交易类型,0:任意交易1:多头买入2:多头卖出3:空头买入4:空头卖出。返回序列中0表示无此类交易,1表示有

例如:IVSBS(''模拟训练'','''',0),表示[模拟训练]帐户中当前证券的任意交易情况



IVSPRICE(ZHMC,ZQDM,T)交易价格投资记录买卖价格。

用法:IVSPRICE(ZHMC,ZQDM,T)表示取得名称为ZHMC的帐户中对证券代码为ZQDM的历史投资记录买卖价格,ZQDM为空字符串则为当前证券。参数T为交易类型,0:任意交易1:多头买入2:多头卖出3:空头买入4:空头卖出

例如:IVSPRICE(''模拟训练'','''',1),表示[模拟训练]帐户中当前证券的历史交易中多头买入价格



IVSVOL(ZHMC,ZQDM,T)交易量投资记录买卖量。

用法:IVSVOL(ZHMC,ZQDM,T)表示取得名称为ZHMC的帐户中对证券代码为ZQDM的历史投资记录买卖量,ZQDM为空字符串则为当前证券。参数T为交易类型,0:任意交易1:多头买入2:多头卖出3:空头买入4:空头卖出

例如:IVSVOL(''模拟训练'',''SH600001'',2),表示[模拟训练]帐户中SH600001的历史交易中多头卖出量





13.交易函数



FREEMARGIN(ZHMC)可用资金投资账户的可用资金。

用法:表示取得名称为ZHMC的帐户的可用资金

例如:FREEMARGIN(''模拟训练''),表示[模拟训练]的可用资金



IVSBS(ZHMC,ZQDM,T)交易类型投资记录买卖情况。

用法:IVSBS(ZHMC,ZQDM,T)表示取得名称为ZHMC的帐户中对证券代码为ZQDM的历史投资记录买卖情况,ZQDM为空字符串则为当前证券。参数T为交易类型,0:任意交易1:多头买入2:多头卖出3:空头买入4:空头卖出。返回序列中0表示无此类交易,1表示有

例如:IVSBS(''模拟训练'','''',0),表示[模拟训练]帐户中当前证券的任意交易情况



IVSPRICE(ZHMC,ZQDM,T)交易价格投资记录买卖价格。

用法:IVSPRICE(ZHMC,ZQDM,T)表示取得名称为ZHMC的帐户中对证券代码为ZQDM的历史投资记录买卖价格,ZQDM为空字符串则为当前证券。参数T为交易类型,0:任意交易1:多头买入2:多头卖出3:空头买入4:空头卖出

例如:IVSPRICE(''模拟训练'','''',1),表示[模拟训练]帐户中当前证券的历史交易中多头买入价格



IVSVOL(ZHMC,ZQDM,T)交易量投资记录买卖量。

用法:IVSVOL(ZHMC,ZQDM,T)表示取得名称为ZHMC的帐户中对证券代码为ZQDM的历史投资记录买卖量,ZQDM为空字符串则为当前证券。参数T为交易类型,0:任意交易1:多头买入2:多头卖出3:空头买入4:空头卖出

例如:IVSVOL(''模拟训练'',''SH600001'',2),表示[模拟训练]帐户中SH600001的历史交易中多头卖出量十四.易理函数

DZGX(DZ1,DZ2)地支关系取得地支间的关系。

用法ZGX(DZ1,DZ2)DZ1,DZ2为地支代码的数组或常数,有效值范围为(0-11)函数返回地支关系代码,有效值范围为(0-5)依次表示无关(0)、DZ1生DZ2(1)、DZ1克DZ2(2)、相冲(3)、相害(4)、DZ1刑DZ2(5)



DZXH(DZ1,DZ2,DZ3,DZ4)地支相合取得地支间的相合关系。

用法ZXH(DZ1,DZ2,DZ3,DZ4)DZ1,DZ2,DZ3,DZ4为地支代码的数组或常数,有效值范围为(0-11)若求六合,则DZ3为-1,DZ4除算申子辰化合成水局外为-1函数返回合成的五行代码,有效值范围为(-1-4),-1表示无相合关系



GANZHI(DATE,TIME,TYPE)干支取得时间的年月日时干支代码。

用法:GANZHI(DATE,TIME,TYPE)TYPE为常数,取0--3,分别表示计算的是年、月、日、时的干支;DATE为数组或常数,有效值范围(年月日80010100-130123123);TIME为数组或常数,有效值范围(时分秒000000-235959)函数返回有效值范围为(0-59)



KGUA(TYPE,N)K线卦象取得K线卦象代码。

用法:KGUA(TYPE,N)TYPE表取爻次序,为0表示以第一个周期为初爻,当前周期为上爻,不为0则反之。N为所取的周期数,为0取3个周期,不为0表示取6个周期。函数返回K线卦象代码,若N为0,返回八卦(1-8),否则返回六十四卦



NUMBERSUM(NUMBER,N)各位数字之和取得各位数字之和。

用法:NUMBERSUM(NUMBER,N)返回各位数字之和,N为所取的小数位数.NUMBERSUM(CLOSE,2),则收盘价为9.53时返回17;NUMBERSUM(19000000+DATE,0),返回年+月+日之和



WUXING(X,TYPE)五行取得天干、地支、八卦对应的五行。

用法:WUXING(X,TYPE),TYPE为常数,取0--2,分别表示计算的是天干、地支、八卦对应的五行代码,X为对应的代码。函数返回有效值范围为(0-4)



WXGX(X1,X2)五行关系取得五行相生相克的关系。

用法:WXGX(X1,X2),X1、X2为对应的五行代码。函数返回有效值范围为(0-2),依次表示X1无关X2、X1生X2、X1克X2



WXLD(JI,LD)五行力度取得不同时间的力度(旺相休囚死)对应的五行。用法:WXLD(JI,LD)。LD为五行四季力度,有效值范围为(4-0),依次表示旺(4)、相(3)、休(2)、囚(1)、死(0);JI为四季数,有效值范围为(0-4),依次表示春、夏、秋、冬、四季土。函数返回五行代码



WXSS(WX,SS)五行盛衰取得五行盛衰十二阶段(原生旺死绝)对应的地支。用法:WXSS(WX,SS),WX为五行代码的数组或常数,SS五行盛衰十二阶段,有效值范围为(0-11);依次表示绝、胎、养、长生、沐浴、冠带、临官、帝旺、衰、病、死、墓函数返回地支代码,0-11分别表示子、丑...亥



ZQDMNUM证券代码数字取得证券代码数字。

用法:ZQDMNUM。返回证券代码数,如0001返回1,600001返回600001,带字母的返回0



QDMSUM证券代码数之和取得证券代码数之和。

用法:ZQDMSUM。返回证券代码数之和,如0001返回1,600205返回13,指数返回3

#3



十五.其它函数



CHECKUSER(0)检测用户限制公式使用。

用法:check:=CHECKUSER(0)注册用户返回1,否则返回0。check:=CHECKUSER(1)对非注册用户不可用该公式



COLORRGB(R,G,B)RGB颜色值RGB颜色值。

用法:COLORRGB(R,G,B)返回RGB颜色值(常数)。

例如RAWGBK(C>O,COLORRGB(255,0,0),COLORRGB(255,255,0),0);表示图形上最后一组C>O时从左到右从红色到黄色渐变填充子图。



FFT(X,N)傅立叶变换傅立叶变换。

用法:FFT(X,N):对序列X进行傅立叶变换或变换处理后反变换。

例如:FFT(CLOSE,30)当N=0时对序列X进行傅立叶变换。当N=1时对序列X进行傅立叶变换并反变换回来,与原X一致。当N>1时对序列X进行傅立叶变换并略去周期小于N的成分再反变换回来



LINEVALUE(COND1,PRICE1,COND2,PRICE2,EXPAND,LOG)趋势线数值计算趋势线数值。

用法:LINEVALUE(COND1,PRICE1,COND2,PRICE2,EXPAND,LOG)计算(COND1,PRICE1)和(COND2,PRICE2)2点决定的直线的数值。COND为数组,PRICE为数组或常数,LOG为1表示按对数计算,EXPAND为1表示向左延长.可用于趋势线预警、选股等。计算方式:先得到COND2条件满足的后点,再向左求COND1条件满足的前点,仅根据此2点计算。

如:LINEVALUE(DATE=1020129,LOW,DATE=1020606,LOW,0,1)表示计算连接2002年1月29日低点和2002年6月6日低点的以对数方式计算的趋势线



SORT(X,D,N1,N2)排序对序列或数组进行排序。

用法:SORT(X,D,N1,N2),对X序列或数组从序号N1到N2进行排序,D为0升序,D为1降序。返回N1到N2的数据数量。如:VARIABLE:X[10]=0;VAR1:C;n1:=SORT(VAR1,0,1,DATACOUNT);n2:=SORT(X,0,1,10);



SORTPOS(X,D,N1,N2)排序位置对序列或数组进行排序后的原本位置。

用法:SORTPOS(X,D,N1,N2),对X序列或数组从序号N1到N2进行排序后X存放原数值对应的位置,D为0升序,D为1降序。返回N1到N2的数据数量。

如:VARIABLE:X[10]=0;VAR1:C;n1:=SORTPOS(VAR1,0,1,DATACOUNT);n2:=SORTPOS(X,0,1,10);



STKINDI(STKLABEL,INDINAME,INDITYPE,PERIOD)引用指标引用任意证券任意周期的任意指标输出。

用法:STKINDI(STKLABEL,INDINAME,INDITYPE,PERIOD)STKLABEL指定证券代码,如为空表示当前证券。INDITYPE为指标类型,有效值范围为(0-2),依次表示技术指标、条件选股、交易系统公式;PERIOD为周期类型,有效值范围为(-1-12),依次表示:当前周期、分笔成交、1分钟、5分钟、15分钟、30分钟、60分钟、日、周、月、年、多日、多分钟、多秒线

例如:STKINDI(''1A0001'',''MA.MA1'',0,DATAPERIOD);计算1A0001的当前周期MA指标的MA1指标线STKINDI('''',''RSI.RSI1'',0,DATAPERIOD);计算当前证券的当前周期MA指标的MA1指标线



USERNAME取用户注册名取用户注册名。

用法:USERNAME。check:=STRCMP(USERNAME,''userid'')>0,为0表示用户注册名为userid















十六.绘图函数

DRAWBKBMP(COND,BMP)画背景图根据条件设置背景图。

用法RAWBKBMP(COND,BMP);当图形上最后一组COND条件满足时,以MyBMP做背景。

例如RAWBKBMP(C>O,''MyBMP'');表示图形上最后一组C>O时背景显示子FmlDLL目录下的MyBMP.bmp图。



DRAWGBK(COND,COLOR1,COLOR2,D)画渐变背景色绘制渐变背景色。

用法RAWGBK(COND,COLOR1,COLOR2,D);当COND条件满足时,以COLOR1到COLOR2渐变色填充子图区域,D=0表示从左到右,D=1表示从上到下。

例如RAWGBK(C>O,COLORRGB(255,0,0),COLORRGB(255,255,0),0);表示图形上最后一组C>O时从左到右从红色到黄色渐变填充子图。



DRAWICON(COND,PRICE,TYPE)画图标在图形上绘制小图标。

用法RAWICON(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



DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND)画直线在图形上绘制直线段。

用法:DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND)。当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。

例如:DRAWLINE(HIGH>=HHV(HIGH,10),HIGH,LOW<=LLV(LOW,10),LOW,1)表示在创10天新高与创10天新低之间画直线并且向右延长。



DRAWNUMBER(COND,PRICE,NUMBER,PRECISION)显示数字在图形上显示数字。

用法:DRAWNUMBER(COND,PRICE,NUMBER,PRECISION)。当COND条件满足时,在PRICE位置书写数字NUMBER(可以为常数或数组序列)PRECISION为小数显示位数(取值范围0-3)。可ALIGN0-5定义对齐方式r。

例如:DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-REF(C,1))/REF(C,1)100,2)表示当日涨幅大于8%时在最高价位置显示涨幅(相对开盘价的百分比)。



DRAWSL(COND,PRICE,SLOPE,LEN,D)画斜线在图形上绘制指定斜率、长度和方向的直线。

用法:DRAWSL(COND,PRICE,SLOPE,LEN,D)当COND条件满足时,以PRICE位置为起点绘制斜率为每个周期价差SLOPE,长度为LEN周期的直线,LEN为0则无限延伸,D为1、2分别表示从起点向左、双向绘制,其余表示向右绘制。

例如:DRAWSL(low=llv(low,50),low,(refx(low,5)-low)/5,5,1)



DRAWTEXT(COND,PRICE,TEXT)显示文字在图形上显示文字。

用法:DRAWTEXT(COND,PRICE,TEXT)当COND条件满足时,在PRICE位置书写文字TEXT,可用''\n''换行,可ALIGN0-5定义对齐方式。

例如:DRAWTEXT(CLOSE/OPEN>1.08,LOW,''大阳线'')表示当日涨幅大于8%时在最低价位置显示''大阳线''字样。



DRAWYITEXT(COND,PRICE,CODE,TYPE)显示易学文字在图形上显示易学文字,可ALIGN0-3定义对齐方式。

用法:DRAWYITEXT(COND,PRICE,CODE,TYPE)当COND条件满足时,在PRICE位置书写TYPE类型的CODE的对应文字。TYPE为常数,取0--1,分别表示计算的是干支、64卦,CODE为对应的代码。

例如:DRAWYITEXT(CLOSE/OPEN>1.05,LOW,GANZHI(DATE100,2),0)。表示当日涨幅大于5%时在最低价位置显示日干支;

十七.线型描述函数







ALIGH画图标、文字的对齐方式画图标、文字的对齐方式。对于DRAWICON,0图标中对齐;1图标上缘;2图标中缘;3图中;4图上;5图下对于DRAWTEXT,DRAWNUMBER,0中对齐;1左对齐;2右对齐;3图中;4图上;5图下。对于DRAWYITEXT,3为竖排例如:drawicon(cross(ma(c,5),ma(c,20)),H,3),align3;

CIRCLEDOT小圆圈线画小圆圈线。

例如:CLOSE,CIRCLEDOT;



COLOR改变指标线颜色改变指标线颜色。

例如:ma1:ma(close,5),coloryellow;ma1:ma(close,5),colorff0000;

黑色:COLORBLACK;

蓝色:COLORBLUE;

棕色:COLORBROWN;

青色:COLORCYAN;

灰色:COLORGRAY;

绿色:COLORGREEN;

晶红色:COLORMAGENTA;

红色:COLORRED;

白色:COLORWHITE;

黄色:COLORYELLOW;



COLORSTICK彩色棒状线以零轴为中心画彩色棒状线,零轴下为阴线颜色,零轴上为阳线颜色。

例如:CLOSE-OPEN,COLORSTICK;



CROSSDOT叉状线或x状线画叉状线或x状线。

例如:CLOSE,CROSSDOT;



LINEDASH长虚线画长虚状。

例如:MA(CLOSE,20),LINEDASH;



LINEDASHDOT长短虚线画长短虚线。

例如:MA(CLOSE,20),LINEDASHDOT;



LINEDOT短虚线画短虚线。

例如:MA(CLOSE,20),LINEDOT;



LINESTICK棒状指标线同时画棒状线与指标线。

例如:VOL,LINESTICK;



linethick改变指标线粗细改变指标线粗细。

例如:ma1:ma(close,5),linethick3;LINETHICK0表示不画出指标线,不影响坐标,但可在顶部显示数值



POINTDOT点状线画点状线。

例如:CLOSE,POINTDOT;



PRECISION显示x位小数指标图上指标数值显示x位小数,x取值范围0-7。例如:MA1:ROUND(MA(C,10)),PRECISION0;显示四舍五入的整数



SHIFT指标线右移指标线向后(向右)偏移x个周期。

例如:MA1:MA(C,10),SHIFT2;将MA1指标线向后偏移2个周期.最多可偏移255个周期



STICK棒状线画棒状线。

例如:VOL,STICK;



VOLSTICK成交量柱状线画成交量柱状线。

例如:VOL,VOLSTICK;











十八.控制语句函数





“.#$@”引用操作符引用操作符.例如:"INDIE.VAR"(P1,P2)引用INDI指标的VAR输出,计算参数为P1,P2"SYSTEM.FMLNAME.ENTERLONG"(P1,P2)引用交易系统FMLNAME的多头买入信号"EXPLORER.FMLNAME"(P1,P2)引用条件选股FMLNAME的选股信号"MACD#WEEK"(26,10,5)引用周线数据的MACD指标"VOL##DAY"引用日线数据的前一周期的VOL指标"SZ000001$CLOSE"引用SZ市场的000001证券的收盘价"DLLNAME@FNCNAME"(P1,P2)引用DLLNAME.DLL的FNCNAME函数,计算参数为P1,P2



[]数组下标对下标对应的数组或序列元素进行取值或赋值.数组下标从1

开始直到数据数量

例如:VARIABLE:VARR1[10]=0,SARR[5]=''str'';VARR1[1]=VARR1[10];定义1个含10个元素的数组并进行取值和赋值



AND逻辑与逻辑与运算.用法:AANDB表示条件A与条件B同时成立



BEGIN...END复合语句把多条语句看作一条语句。语法:BEGIN...END



BREAK跳出循环跳出循环。语法:BREAK;



DO执行语句执行语句。语法:FORvar=n1TOn2DOexpr;WHILEcondDOexpr



ENTERLONG多头买入信号交易系统之多头买入信号。

例如:ENTERLONG:CROSS(VAR1,VAR2)



ENTERSHORT空头买入信号交易系统之空头买入信号。

例如:ENTERSHORT:CROSS(VAR1,VAR2)

EXIT终止公式执行终止公式执行。语法:EXIT;



EXITLONG多头卖出信号交易系统之多头卖出信号。

例如:EXITLONG:CROSS(VAR1,VAR2)



EXITSHORT空头卖出信号交易系统之空头卖出信号。

例如:EXITSHORT:CROSS(VAR1,VAR2)



FFL.VarData传递数组数据与VBS、JS脚本间传递数组变量数据。

例如:var=FFL.VarData("VAR1")



FFL.VarStartIndex传回数组数值起始位置VBS、JS脚本传回数组变量有效数值起始位置。

例如:FFL.VarStartIndex("VAR1")=10



FOR循环语句FOR循环语句。

语法:FORvar=n1TOn2DOexpr;从var=n1开始到var=n2开始循环执行expr语句,每执行一次var加1。FORvar=n1DOWNTOn2DOexpr2;从var=n1开始到var=n2开始循环执行expr语句,每执行一次var减1



IF条件语句IF条件语句。

语法:IFcondTHENexpr1ELSEexpr2当满足cond条件的时候,执行语句expr1,否则执行expr2语句



INPUT声明设置参数声明并设置参数。

语法:INPUT:pname1(dft,min,max,step),pname2(dft,min,max,step)...;pname表示参数名,dft表示缺省值。min表示最小值,max表示最大值。step表示优化步长,除default外都可省略例如:INPUT:N(5),M(10,1,100,2);表示定义参数N,缺省值为5,定义参数M,缺省值为10,最小值为1,最大值为100,优化步长为2

OR逻辑或运算逻辑或运算。用法:AORB表示条件A与条件B只要有一个成立即可



REFLINE设置坐标线设置坐标线。

语法:REFLINE:N1,N2,...,Nx;例如:REFLINE:0,20,50,80,100;表示画出对应值为0,20,50,80,100的坐标线



SCRIPTTYPE脚本类型设置脚本类型。

例如:t1:=SCRIPTTYPE(0);设置VBScript脚本,t1:=SCRIPTTYPE(1);设置JScript脚本



SETLBOUND设置下界设置序列变量下界(有效数据起始下标),函数返回序列下界。

用法:SETLBOUND(X,N),设置序列变量X的下界(最小下标),N为0或N超过上界则整个序列数据都无效。

例如:VAR1:C;n1:=SETLBOUND(VAR1,10);



VARIABLE声明初始化变量声明并初始化变量。

语法:VARIABLE:varname1=initvalue1,varname2=initvalue2...;

例如:VARIABLE:x=1,y=CLOSE,ARR[10]=0,SARR[5]=''str'';表示定义常数变量x并初始化为1,申明序列变量y并初始化为收盘价,申明含10个浮点数的数组并全部初始化为0,申明含5个字符串的数组并都初始化为''str''

WHILE循环语句WHILE循环语句。语法:WHILEcondDOexpr当满足cond条件的时候,循环执行语句expr





十九.专业财务数据函数



PROFFIN(N,M)专业财务数据专业财务数据。

用法:PROFFIN(N,M)表示取得M个报告期之前的第N号专业财务数据。

例如PROFFIN(1001,0)表示最近一期总股本,N的取值请参阅下面列表



PROFFINLAST(N)数据截止期位置专业财务数据截止期位置。

用法:PROFFINLAST(N)表示最近报告期的第N号专业财务数据距离现在的周期数N的取值请参阅下面列表



PROFFINON(N,Y,MD)指定日期数据指定日期的专业财务数据。

用法:PROFFINON(N,Y,MD)表示取得Y年M月D日的第N号专业财务数据

如:PROFFINON(1001,2000,0101)取得2000年1月1日的总股本,N的取值请参阅下面列表



PROFFINTERM(M)数据报告期专业财务数据报告期。

用法:PROFFINTERM(M)表示取得M个报告期之前的财务报表是年报、中报还是季报返回1:第一季度季报,2:中报,3:第三季度季报,4:年报



SETPROFFIN(X)设置数据设置专业财务数据。在本函数后的其它专业财务函数将受到本次属性设置的影响,用法:SETPROFFIN(X)表示将专业财务数据属性设定为X,X从低到高每一位表示一个含义。第1位:包含年报,第2位:包含中报,第3位:包含季报,第4位:包含最新财务指标,第5位:调整中报、季报财务指标。例如SETPROFFIN(01011)表示取得年报、中报,最新一期数据无论是那个报告期都要包括在内,中报不作调整。如果不调用本函数,系统默认值为01111



DRAWYITEXT(REF(CLOSE,2)>REF(OPEN,2)ANDREF(CLOSE,1)>REF(OPEN,1)ANDCLOSE>OPEN,LOW,KGUA(1,1),1)表示连二阳时在最低价位置显示K线卦象。



FILLRGN(COND,PRICE1,PRICE2)画区间彩带绘制指标区间彩带。

用法:FILLRGN(COND,PRICE1,PRICE2),当COND条件满足时,以COLOR填充PRICE1和PRICE2的区间。例如:FILLRGN(MA1>MA2,MA1,MA2),colorred表示MA1>MA2时以红色填充MA1和MA2之间的区域。



PARTLINE(COND,PRICE)画分段线分段绘制指标线。

用法:PARTLINE(COND,PRICE),满足COND条件绘制PRICE连线。

例如:PARTLINE(C>REF(C,1),C),colorred表示收盘大于前收以红色绘制收盘价连线。



POLYLINE(COND,PRICE)画折线在图形上绘制折线段。

用法:POLYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接。

例如:POLYLINE(HIGH>=HHV(HIGH,10),HIGH)表示在创10天新高点之间画折线。



STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY)画柱线在图形上绘制柱线。

用法:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY)当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线。宽度为WIDTH(10为标准间距),EMPTH大于1则画空心柱。

例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,8,1)表示画K线中阳线的空心柱体部分。STICKLINE(CLOSE>OPEN,HIGH,LOW,0.8,1)表示画K线中阳线的高低线部分。



VERTLINE(COND)画垂直线在图形上绘制垂直线段。

用法:VERTLINE(COND),在COND条件满足的周期处画垂直线。

例如:VERTLINE(HIGH>=HHV(HIGH,20))表示在创20天新高时画垂直线。

献花(0)
+1
(本文系hsy1775首藏)