: | : | :期货程序化 | :期货程序化研究 | :期货量化学习 | :期货量化 |
返回列表 发帖

[语法与函数]自编公式支持的函数

[语法与函数]自编公式支持的函数

1.策略模型函数

  

1.引用数据函数

  
   

AVPRICE

   
   

取得均价(在盘后对于国内三个期货交易所指结算价)

   
   

SETTLE

   
   

取得结算价(只有在日线周期盘后才能取得当日的结算价)

   

说明:如果用在周期小于'日'的K线上如5分钟K线,一小时k线,每根k线返回的值表示这根k线当日开盘时到这根k线的为止的结算价(均价)

   

如果用在周期大于等于'日'的K线上,返回当根K线结束时间所在日的结算价.

   
   

CLOSE

   
   

取得收盘价(在盘中指最新价),也可简写为    C 。

   
   

HIGH

   
   

求高价,也可简写为 H 。

   
   

LOW

   
   

求最低价,也可简写为L 。

   
   

OPEN

   
   

求开盘价,也可简写为O 。

   
   

OPI

   
   

取持仓量

   
   

REF(X,N)

   
   

引用X在N个周期前的值
例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价

   
   

VOL

   
   

求成交量,也可简写为V 。

   
   

GETPRICE

   
   

根据文华码取出某一合约的价格(任何周期上都返回当日的日线价格)。
用法:
    GETPRICE(1209, 'CLOSE');返回文华码为1209的合约合约的收盘价。
其中'CLOSE'可以替换为以下:
    'OPEN': 开盘
    'HIGH': 最高
    'LOW': 最低
    'CLOSE': 收盘
    'NEW': 最新
    'AVPRICE':均价
    'SETTLE': 结算
    'YCLOSE': 昨收
    'YSETTLE':昨结算
    'BID1': 买1
    'BIDVOL1':买1量
    'ASK1': 卖1
    'ASKVOL1':卖1量
    'VOLUME': 成交量
    'OPI': 持仓量
    'DELTAVOL':现手
    'DELTAOPI':增仓

   

注意,该函数历史数据返回加载时刻的价格(与其k线的时间无关),加载后实时生成的k线返回k线时间对应的实时价格

   
  


  2.
金融统计函数

  
   

BARSLAST(X)

   
   

求上一次条件成立到当前的周期数。

   
   

COUNT(X,N)

   
   

表示统计在N周期内满足X条件的周期数。如果N为0则表示从已申请到的数据的第一天开始算起。
例:WR:=-100*(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));    COUNT(WR>80,5);表示统计在5个周期内满足WR>80的次数

   
   

DMA(X,A)

   
   

返回X的动态移动平均,其中A为常数,并且必须介于0及1之间。
计算方法:DMA(N)=DMA(N-1)*(1-A)+X(N)*A 其中DMA(N-1)为第(N-1)天的DMA值。

   
   

EMA(X,N)

   
   

表示求X在N周期内的平滑移动平均。(指数加权)
计算方法:EMA(X,N)=[2*X+(N-1)*EMA(X,(N-1))]/(N+1) 其中EMA(X,(N-1))为第(N-1)天的EMA值

   
   

EMA2(X,N)

   
   

表示求X在N周期内的加权平均。(线性加权)
计算方法:EMA2(X,N)=(N*X0+(N-1)*X1+(N-2)*X2+...+1*XN-1)/(N+(N-1)+(N-2)+...+1),X0表示本周期值,X1表示上一周期值...

   
   

HHV(X,N)

   
   

得到X在N周期内的最高值,如果N=0,则从本地数据的第一个有效周期开始算起。
例:HHV(HIGH,13);求13个周期内的最高价的最大值。

   
   

HHVBARS(X,N)

   
   

得到X在N周期内的最高值位置到当前的周期数。如果N=0,则从本地数据的第一个有效周期开始算起。
例:HHVBARS(VOL,0); 求历史成交量最大的周期到当前的周期数

   
   

LLV(X,N)

   
   

得到X在N周期内的最小值,如果N=0,则从本地数据的第一个有效周期开始算起。
例:LLV(LOW,25);表示求25个周期内最低价的最小值

   
   

LLVBARS(X,N)

   
   

得到X在N周期内的最小值的位置到当前的周期数。如果N=0则从本地数据的第一个有效周期开始算起。
例:LLVBARS(VOL,0); 求历史成交量最小的周期到当前的周期数

   
   

MA(X,N)

   
   

求X在N周期内的简单移动平均。
计算方法:MA=(A1+A2+A3+A4+A5)/5 求A在5个周期内的简单移动平均

   
   

SAR(N,Step,Max)

   
   

得到抛物转向值。N为计算周期,Step为步长,Max为极值。(系统函数,计算步骤后台自动完成)
例:SAR(17,0.03,0.3);表示计算17个周期抛物转向,步长为3%,极限值为30%

   
   

SMA(X,N,M)

   
   

得到X在N个周期内的移动平均,M为权重(M为常数)。
计算方法:SMA(N)=SMA(N-1)*(N-M)/N+X(N)*M/N

   
   

SUM(X,N)

   
   

得到X在N周期内的总和,如果N=0,则从第一个有效周期开始算起。
例: SUM(VOL,10);表示统计10周期内的成交量总和

   
   

SUMBARS(X,A)

   
   

得到X向前累加直到大于A时的周期数。   

   
   

TRMA(X,N)

   
   

求X在N周期内的三角移动平均。

   
   

TSMA(X,N)

   
   

求X在N周期内的时间序列移动平均。
计算方法:TSMA(X,N)= FOCAST(X,N)+SLOPE(X,N)

   
  


  3.
数理统计函数

  
   

AVEDEV(X,N)

   
   

求X在N周期内的平均绝对偏差

   
   

DEVSQ(X,N)

   
   

数据偏差平方和。

   
   

FORCAST(X,N)

   
   

得到X的N周期线性回归预测值。
例:FORCAST(CLOSE,5);表示求5周期线性回归预测

   
   

VAR(X,N)

   
   

得到X在N周期内的样本方差

   
   

VARP(X,N)

   
   

得到X在N周期内的总体样本方差

   
   

SLOPE(X,N)

   
   

求线性回归的斜率

   

用法:

   

SLOPE(X,N)得到X的N周期的线型回归的斜率。

   

例:SLOPE(CLOSE,5);表示求收盘价5个周期线性回归线的斜率

   
   

STD(X,N)

   
   

求标准差。

   

用法:

   

STD(X,N)求X在N个周期内的标准差。

   
   

STDP(X,N)

   
   

求总体标准差。

   

用法:

   

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

   
   

数理统计举例说明:

   
   

设一个数列,数列中数据的总个数为N,以今天(2005-10-14)五天内的A0605收盘价为例,N就为5。数列的内容为:{2766,2805,2814,2886,2885}。
    1、算术平均值MA(CLOSE,5):数据总和除以总个数N。 (2766+2805+2814+2886+2885)/5=2831.20。    可以用公式MA(CLOSE,5),从今天的值上看出。
    2、偏差:每个数据,减去算术平均值的结果。 2766-2831.20=-65.2, 2805-2831.20=-26.2, 2814-2831.20=-17.2, 2886-2831.20=54.8,    2885-2831.20=53.8, 各偏差相加,应该是等于0的。
    3、平均绝对偏差AVEDEV(X,N):将偏差的绝对值相加,除以总个数N。 (65.2+26.2+17.2+54.8+53.8)/5=43.44
    4、数据偏差平方和DEVSQ(X,N):将偏差的平方相加。 (-65.2)2+ (-26.2)2+ (-17.2)2+ (54.8)2+ (53.8)2=11130.80
    5、总体样本方差VARP(X,N):将偏差的平方相加,总和除以总个数N。用公式可以这样算: (-65.2)2+ (-26.2)2+    (-17.2)2+ (54.8)2+ (53.8)2/5=2226.16
    6、样本方差VAR(X,N):是总体方差的N/(N-1)倍。 2226.16*5/(5-1)=2782.70 估算样本方差,总比总体样本方差大一点,当N够大时,两者趋于相等。

   
  


  4.
逻辑判断函数

  
   

BETWEEN(A,B,C)

   
   

判断条件“A位于B及C之间”是否成立,如果条件成立则返回1 (yes),否则返回0 (no)。
例:BETWEEN(CLOSE,MA5,MA40); 表示收盘价介于5日均线与40日均线之间。

   
   

CROSS(X,Y)

   
   

表示X上穿Y。
例:CROSS(CLOSE,MA(CLOSE,5));表示收盘线从下方向上穿过5日均线

   
   

FILTER(COND,N)

   
   

过滤连续出现的信号。
用法:
    FILTER(COND,N) 当COND条件成立时,将其后N周期内的数据置为0。
例:FILTER(CLOSE>OPEN,3) 查找阳线,3天内再次出现的阳线不被记录在内
注:不能与BKPRICE,BARSBK,SKPRICE,BARSSK一起使用

   
   

EXIST(COND,N)

   
   

判断N个周期内是否有满足条件COND的情况发生。
例:EXIST(CLOSE>REF(HIGH,1),10);表示10个周期中是否存在收盘价大于前一个周期的最高价

   
   

EVERY(COND,N)

   
   

判断过去N个周期内是否一直满足条件COND。
例:EVERY(CLOSE>OPEN,5);表示5个周期内一直是阳线

   
   

LAST(COND,N1,N2)

   
   

判断过去N1到N2周期内是否一直满足条件COND。
例:LAST(CLOSE>OPEN,10,5);表示从过去第10个周期到第5个周期内一直是阳线

   
   

LONGCROSS(A,B,N)

   
   

如果A在前N个周期内都小于B,本周期上穿B,则返回1。否则返回0。
例:LONGCROSS(CLOSE,MA(CLOSE,10),20);表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线

   
   

IFELSE(C,A,B)

   
   

如果条件C成立则取A值,否则取B值
例:A:=IFELSE(MA5>MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0));当MA5>MA10时,取是否满足DIFF上穿DEA,否则(MA5不大于MA10),当K,D死叉时,令A赋值为2,若上述条件都不满足,A赋值为0
    A=1,BPK;//当MA5>MA10,以DIFF上穿DEA作为开多仓条件
    A=2,SPK;//当MA5不大于MA10,以K D死叉作为开空仓条件

   
   

ISDOWN

   
   

判断该周期是否收阴。

   
   

ISEQUAL

   
   

判断该周期是否平盘。

   
   

ISUP

   
   

判断该周期是否收阳。

   
   

VALUEWHEN(COND,DATA)

   
   

当条件COND满足时,取当时的DATA的值,否则取得前面一个满足条件COND的值。
例:VALUEWHEN(HIGH>REF(HIGH,5),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价。

   
  


  5.
数学运算函数

  
   

ABS(X)

   
   

求X的绝对值
例:ABS(SAR(17,0.03,0.3));返回抛物转向SAR(17,0.03,0.3)的绝对值。

   
   

ACOS(X)

   
   

求X的反余弦值

   
   

ASIN(X)

   
   

求X的反正弦值

   
   

ATAN(X)

   
   

求X的反正切值

   
   

COS(X)

   
   

返回X的余弦值

   
   

EXP(X)

   
   

返回e的X次幂

   
   

CUBE(X)

   
   

返回X的三次方。

   
   

CEILING(X)

   
   

向上舍入,返回沿X数值增大方向最接近的整数。

   
   

FLOOR(X)

   
   

向下舍入,返回沿X数值减小方向最接近的整数。

   
   

INTPART(X)

   
   

取X的整数部分,返回沿X绝对值减小方向最接近的整数。

   
   

LN(X)

   
   

得到X的自然对数,以e为底的对数。
例:LN(OPEN);求开盘价的自然对数。

   
   

LOG(X)

   
   

得到X的常用对数,取得X的以10为底的对数。
例:LOG(OPEN);求开盘价的以10为底的对数。

   
   

MAX(A,B)

   
   

求A,B中的较大者。
例:MAX(CLOSE-OPEN,0);表示若收盘价大于开盘价返回它们的差值,否则返回0。

   
   

MIN(A,B)

   
   

求A,B中的较小者。
例:MIN(OPEN,CLOSE);返回开盘价和收盘价中的较小值。

   
   

MOD(A,B)

   
   

返回A对B得到模。
例:MOD(CLOSE,500);收盘价除以500所得余数

   
   

NOT(X)

   
   

当X为0时返回1,否则返回0。
例:NOT(TIME=090530);表示该周期对应的时间不是9:05:30AM。

   
   

POW(A,B)

   
   

得到A的B次幂。
例:POW(CLOSE,2);求得收盘价的2次方。

   
   

REVERSE(X)

   
   

取反,返回符号相反的数值。
例:REVERSE(LOW);返回-LOW。

   
   

RANGE(A,B,C)

   
   

表示A大于B同时小于C时返回1,否则返回0

   
   

SGN(X)

   
   

得到X的符号,如果X>0则返回1,如果X<0则返回-1,否则返回0。

   
   

SIN(X)

   
   

得到X的正弦值。

   
   

SQRT(X)

   
   

得到X的平方根。
例:SQRT(CLOSE);收盘价的平方根。

   
   

SQUARE(X)

   
   

得到X的平方。
例:SQUARE(CLOSE);收盘价的平方。

   
   

TAN(X)

   
   

得到X的正切值。

   
  


  6.
时间函数

  
   

BARPOS

   
   

取得当前K线的位置。

   
   

DATE

   
   

取得当前周期的日数(700101-341231)。

   
   

CLOSEMINUTE

   
   

距收盘前时间。
用法:
    CLOSEMINUTE 返回距离闭市前的时间(单位:分钟),方便闭市前及时平仓。

   
   

DAY

   
   

取得当前周期的日数(1-31)。

   
   

HOUR

   
   

取得当前周期的小时数(0-23)。

   
   

MINUTE

   
   

取得当前周期的分钟数(0-59)。

   
   

MONTH

   
   

取得当前周期的月数(1-12)。

   
   

TIME

   
   

取得当前周期的时间数(0-2359),秒级周期返回值范围为:0-235959。

   
   

WEEKDAY

   
   

取得当前周期的星期数(0-6)。

   
   

YEAR

   
   

取得当前周期的年数(1970-2034)。

   
  

7.绘图函数

  
   

BACKGROUNDSTYLE(i)

   
   

设置背景的样式。
用法:
    BACKGROUNDSTYLE(i)设置背景的样式。
    i = 0 或 1。

   
   

ICON

   
   

在k线图上,显示小图标。
用法:ICON(TYPE,ICON),当TYPE为1,则在K线最高价位置显示图标ICON,当TYPE为0,则在最低价位置显示图标ICON。
例:CLOSE>OPEN,ICON(1,'ICO1');表示K线收盘大于开盘时,在最高价上显示图标1。
写完“ICON(1,” 以后,点击插入图标,再单击选中的图标插入到函数中,图标用'ICO1'~'ICO105'表示

   
   

WORD

   
   

显示文字。
用法:WORD(TYPE,TEXT),当TYPE为1,则在K线最高价位置书写文字TEXT,当TYPE为0,则在最低价位置书写文字TEXT。
例:CLOSE>OPEN,WORD(1,'阳');表示K线收盘大于开盘时,在最高价上写"阳"字。

   
   

SOUND

   
   

播放声音。
用法:SOUND('N'),播放声音'N',。
例:CLOSE>OPEN,SOUND('A');表示K线收盘大于开盘时,播放声音"A",条件如果一直满足,则只播放一次,不重复播放。
点击设置声音,在弹出来的界面中设置声音,声音用字符'A'~'J'表示。

   
   

DRAWICON

   
   

绘制小图标。
用法:
    DRAWICON(COND,PRICE,ICON),当COND条件满足时,在PRICE位置画图标ICON。
例:DRAWICON(CLOSE<OPEN,LOW,'ICO1');表示收阴在最低价上画出图标ICON1。
写完“DRAWICON(CLOSE<OPEN,LOW,” 以后,点击插入图标按钮,再单击选中的图标插入到函数中,图标用'ICO1'~'ICO105'表示.

   
   

DRAWLINE(C1,P1,C2,P2,COLOR)

   
   

当条件C1及C2均满足时,从P1画直线到P2,颜色为COLOR。
例:DRAWLINE(MA18< CLOSE,OPEN,MA5    >CLOSE,CLOSE,COLORCYAN); 表示当收盘价大于18日均线并且小于5日均线时,从开盘价画青色直线到收盘价。

   
   

DRAWTEXT(C,P,TEXT)

   
   

表示当条件C满足时在P上写TEXT文字。
例:DRAWTEXT(CLOSE< OPEN&&REF(CLOSE,1)<    REF(OPEN,1) &&REF(VOL,1)*1.1< VOL,LOW,'注');    表示连续两日收阴并且成交量比前一日至少多10%时,在最低价上写“注”字。

   
   

DRAWSL(COND,DATA,SLOPE,LEN,EXPAND,
    COLOR)

   
   

画斜线,当条件COND满足时,从DATA开始以每个周期相差SLOPE个点的斜率画斜线,划线长度为LEN个周期,EXPAND为线段的延长方式(0:不延伸;1:向左延伸;2:向右延伸;3:双向延伸)。
例:DRAWSL(LOW=LLV(LOW,50),LOW,5,3,2,COLORRED); 表示当前最低价等于50周期内的最小值时,从当前最小值开始以每隔5个点的斜率画长度为3个周期向右延伸的斜线,颜色为红色

   
   

DRAWKLING

   
   

自定义K线颜色,实空心及宽度。
用法:DRAWKLING(WidthRatio,COLOR1,EMPTY1,COLOR2,EMPTY2)。按照宽度比例WidthRatio画线,阳线以COLOR1和EMPTY1判断,阴线以COLOR2和EMPTY2判断。WidthRadio从0到1,COLOR1、COLOR2代表颜色,Empty非0为空心。
例:DRAWKLINE(0.75,COLORRED,1,COLORCYAN,0);绘制K线宽度比例为0.75,阳线为红色空心,阴线为蓝绿色实心。

   
   

DRAWNUMBER
    (COND,DATA,NUMBER,PRECISION,COLOR)

   
   

画数字。当条件COND满足时,在DATA位置写数字NUMBER(为数组),精度为PRECISION(小数点后有几位数字)。
例:DRAWNUMBER(CLOSE/OPEN>1.08,HIGH,(CLOSE-OPEN)/OPEN*100,2,COLORRED);    表示当日涨幅大于8%时在最高价位置显示涨幅(相对开盘价的百分比)。

   
   

FILLRGN
    (COND,DATA1,DATA2,COLOR)

   
   

填充区域,当条件COND满足时,填充DATA1及DATA2包围的区域。
例:FILLRGN(MA5>MA10,MA5,MA10,COLORRED); 表示MA5>MA10时以红色填充MA5和MA10之间的区域。

   
   

PLAYSOUND(COND, 'N')

   
   

当条件满足时,播放自定义声音'N'(自定义声音在插入声音文件中设置,最多可以设置10个)。
例:PLAYSOUND(CLOSE>OPEN,'A');表示CLOSE>OPEN时播放自定义声音'A'。

   
   

KTEXT

   
   

在k线上标注文字。
用法:KTEXT(COND,POSITION,PRICE,LCR,COLOR,TEXT)
    当COND条件满足时,移动POSITION根K线,在PRICE位置书写COLOR色文字TEXT。LRC是文字占K线左(0)中(1)右(2)位置。
注:POSITION 参数负数代表向前移动 0代表满足条件当根K线 正数代表向后移动。LCR 代表显示在字符位置的左右中位置,0为左,1为中,2为右。
例:KTEXT(O>C,2,H,1,COLORYELLOW,'注')在阴线的后两根K线处,在最高价位置中心上写"注"字。

   
   

POLYLINE
    (COND,DATA,COLOR)

   
   

画折线,当条件COND满足时,连接各个DATA点。
例:POLYLINE(CLOSE>=HHV(CLOSE,100),CLOSE,COLORRED);    表示在收盘价创100天新高点之间画折线。

   
   

PARTLINE
    (COND,DATA,COLOR)

   
   

同POLYLINE。
例:PARTLINE(HIGH>REF(HIGH,1),HIGH,COLORRED); 表示当期最高价大于前期最高价用红色绘制最高价连线线段。

   
   

STICKLINE
    (C,P1,P2,Color,Empty)

   
   

如果条件C满足时,从P1到P2画柱线,颜色为Color,如果Empty取1,则为空心柱;如果Empty取0,则为实心柱。
例:STICKLINE(OPEN-CLOSE>0,OPEN,CLOSE,COLORCYAN,0);    表示当开盘价大于收盘价时,从开盘价到收盘价画青色的实心柱,即K线阴线的实体部分。

   
   

VERTLINE
    (COND,COLOR)

   
   

画垂直线,当条件COND满足时,画垂直线。
例:VERTLINE(HIGH>=HHV(HIGH,30),COLORRED); 表示在价格创30天新高时画垂直线。

   
  

8.画线函数

  
   

ANGLELING(COND1,DATA1,COND2,DATA2,RATIO)

   
   

角度返回值。
用法:ANGLELING(COND1,DATA1,COND2,DATA2,RATIO);
    从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在角度线段高度比例为RATIO处形成角度线,该函数返回K线对应的角度值。
例:ANGLELINE(C>O,H,O>C,L,1);相距最近的阳线最高价与阴线最低价构成起止点形成角度线,该函数返回K线对应的角度值。

   
   

GOLDENLINE(COND1,DATA1,COND2,DATA2,RATIO)

   
   

黄金分割返回值。
用法:GOLDENLINE(COND1,DATA1,COND2,DATA2,RATIO);
    从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在差额的RATIO比率处形成黄金分割线,该函数返回K线对应的黄金分割值。
例:GOLDENLINE(O>C,H,C>O,H,0.3);相距最近的阴线和阳线,以各自最高价作为起止点,在差额区间内的0.3比率处形成黄金分割线,该函数返回K线对应的黄金分割值。

   
   

HORIZONTALLINE(COND,DATA)

   
   

水平返回值。
用法:HORIZONTALLINE(COND,DATA);
    从本地起始K线开始计算,满足条件COND的DATA值形成水平线,该函数返回K线对应的水平值。
例:HORIZONTALLINE(C>O,H);以阳线的最高价为起点,截至下一根阳线为止形成一条水平线,该函数返回K线对应的水平值。

   
   

TRENDLINES(COND1,DATA1,COND2,DATA2)

   
   

趋势返回值。
用法:TRENDLINES(COND1,DATA1,COND2,DATA2);
    从本地起始K线开始计算,以相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点形成趋势线,该函数返回K线对应的趋势值。
例:TRENDLINES(O>C,H,C>O,H);相距最近的阴线和阳线最高价形成一条趋势线,该函数返回K线对应的趋势值。

   
   

WAVERULER

   

(COND1,DATA1,COND2,DATA2,COND3,DATA3,RATIO)

   
   

波浪尺返回值。
用法:WAVERULER(COND1,DATA1,COND2,DATA2,COND3,DATA3,RATIO);
    从本地起始K线开始计算,以相距最近三根分别满足条件COND1的DATA1值、COND2的DATA2值和COND3的DATA3值构成三点,在第三点偏离前两点差额的RATIO比率处形成波浪尺线,该函数返回K线对应的波浪尺值。
例:WAVERULER(C>O,H,C>O,H,C>O,H,0.3);相距最近的三根阳线,以各自最高价作为三个点,在第三点偏离前两点差额的0.3比率处形成波浪尺线,该函数返回K线对应的波浪尺值。

   
   

DRAWANGLELING

   

(COND1,DATA1,COND2,DATA2,RATIO,COLOR)

   
   

画角度线。
用法:DRAWANGLELING(COND1,DATA1,COND2,DATA2,RATIO,COLOR);
    从本地起始K线开始计算,连接相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在线段高度比例RATIO处画角度线,颜色为COLOR,截至下一根满足COND1条件的K线处。
例:DRAWANGLELINE(C>O,H,O>C,L,1,COLORGREEN);连接相距最近的阳线最高价与阴线最低价为起止点,画高度比例为1的绿色角度线,截至下一根阳线为止。

   
   

DRAWGOLDENLINE

   

(COND1,DATA1,COND2,DATA2,RATIO,COLOR)

   
   

画黄金分割线。
用法:DRAWGOLDENLINE(COND1,DATA1,COND2,DATA2,RATIO,COLOR);
    从本地起始K线开始计算,连接相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,在差额RATIO比率处画黄金分割线,颜色为COLOR,截至下一根满足COND1条件的K线处。
例:DRAWGOLDENLINE(O>C,H,C>O,H,0.3,COLORGREEN);连接相距最近的阴线和阳线,以各自最高价作为起止点,在差额区间内的0.3比率处画绿色黄金分割线,截至下一根阴线为止。

   
   

DRAWHORIZONTALLINE(COND,DATA,COLOR)

   
   

画水平线。
用法:DRAWHORIZONTALLINE(COND,DATA,COLOR);
    从本地起始K线开始计算,满足COND条件K线的DATA值处画水平线,颜色为COLOR,截至下一根满足COND条件的K线处。
例:DRAWHORIZONTALLINE(C>O,H,COLORGREEN);以一根阳线的最高价为起点,画绿色水平线,截至下一根阳线为止。

   
   

DRAWTRENDLINE(COND1,DATA1,COND2,DATA2,COLOR)

   
   

画趋势线。
用法:DRAWTRENDLINE(COND1,DATA1,COND2,DATA2,COLOR);
    从本地起始K线开始计算,连接相距最近两根分别满足条件COND1的DATA1值和COND2的DATA2值构成起止点,画趋势线,颜色为COLOR,截至下一根满足COND1条件的K线处。
例:DRAWTRENDLINE(O>C,H,C>O,H,COLORGREEN);连接相距最近的阴线和阳线的最高价为起止点,画绿色趋势线,截至下一根阴线为止。

   
   

DRAWWAVERULER

   

(COND1,DATA1,COND2,DATA2,COND3,DATA3,RATIO,COLOR)

   
   

画波浪尺线。
用法:DRAWWAVERULER(COND1,DATA1,COND2,DATA2,COND3,DATA3,RATIO,COLOR);
    从本地起始K线开始计算,连接相距最近两根分别满足条件COND1的DATA1值、COND2的DATA2值和COND3的DATA3值构成三点,在第三点偏离前两点差额的RATIO比率处画波浪尺,颜色为COLOR,截至下一根满足COND1条件的K线处。
例:DRAWWAVERULER(C>O,H,C>O,H,C>O,H,0.3,COLORGREEN);连接相距最近的三根阳线,以各自最高价作为三个点,在第三点偏离前两点差额0.3比率处画绿色波浪尺线,截至下一根阳线为止。

   
   

WAVEPEAK(N)

   
   

返回K线图波峰位置。
用法:
    WAVEPEAK(N) 如果当前K线最高价大于前后N根K线的最高价返回1,否则返回0。
例:WAVEPEAK(10); //如果当前K线最高价大于前10根K线最高价且大于后10根K线最高价返回1,否则返回0

   
   

WAVEVALLEY(N)

   
   

返回K线图波谷位置。
用法:
    WAVEVALLEY(N) 如果当前K线最低价小于前后N根K线的最低价返回1,否则返回0。
例:WAVEVALLEY(10); //如果当前K线最低价小于前10根K线最低价且小于后10根K线最低价返回1,否则返回0

   
  

9.颜色函数

  
   

COLORRED

   
   

红色

   
   

COLORGREEN

   
   

绿色

   
   

COLORBLUE

   
   

蓝色

   
   

COLORMAGENTA

   
   

红紫色

   
   

COLORYELLOW

   
   

黄色

   
   

COLORLIGHTGREY

   
   

浅灰色

   
   

COLORLIGHTRED

   
   

浅红色

   
   

COLORLIGHTGREEN

   
   

浅绿色

   
   

COLORLIGHTBLUE

   
   

浅蓝色

   
   

COLORBLACK

   
   

黑色

   
   

COLORWHITE

   
   

白色

   
   

COLORCYAN

   
   

青色

   
  

10.未来函数

  
   

BACKSET

   
   

将当前位置到若干周期前的数据设为1。
用法:
    BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。
例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1
    该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量

   

本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

   
   

REFX

   
   

引用后N个周期的数据。
用法:
    REFX(X,N)引用X在N个周期后的值。
例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价

   

本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

   
   

  

   

PEAK(X,P,M,C)

   
   

取波峰值。
用法:
    PEAK(X,P,M,C) 取得ZIGZAG的前M个波峰的值。
例:PEAK(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰的数值;PEAK(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰的数值。
本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

   
   

  

   

PEAKBARS(X,P,M,C)

   
   

取波峰的位置。
用法:
    PEAKBARS(X,P,M,C) 取得ZIGZAG的前M个波峰的位置。
例:PEAKBARS(HIGH,10,1,1);表示最高价的10%的之字转向的上一个波峰到当前的周期数;
    PEAKBARS(MA(HIGH,34),100,1,0);表示34个周期内最高价均线的100个价位的之字转向的上一个波峰到当前的周期数

   

本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

   
   

  

   

TROUGH(X,P,M,C)

   
   

求前M个波谷的值。
用法:
    TROUGH(X,P,M,C) 求ZIGZAG前M个波谷的值。
例:TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷的数值;
    TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷的数值
本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

   
   

  

   

TROUGHBARS(X,P,M,C)

   
   

求前M个波谷的位置。
用法:
    TROUGHBARS(X,P,M,C) 求前M个波谷的位置。
    TROUGH(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数;
    TROUGH (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的上一个波谷到当前的周期数
本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

   
   

ZIGZAG(X,N,C)

   
   

求之字转向。
用法:
    ZIGZAG(X,N,C)求X的在条件N下的之字转向值。
例:ZIGZAG(HIGH,10,1);表示最高价的10%的之字转向ZIGZAG(MA(HIGH,34),100,0);表示34个周期内最高价均线的100个价位的之字转向

   
   

ISLASTBAR

   
   

判断该周期是否为最后一根k线。
用法:
    ISLASTBAR 如果是最后一个K线返回1(Yes),否则返回0(No)
本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!

   
   

  

   

#IMPORT [CODE, PERIOD, FORMULA] AS VAR

   
   

引用某品种在某个周期上加载了某个指标的数据。
用法:
    #IMPORT [CODE, PERIOD, FORMULA] AS VAR。 引用 CODE 所对应的合约 PERIOD 周期下指标 FORMULA 的数据。
    CODE 文华码,PERIOD 周期,FORMULA 引用指标名,VAR 定义变量名
注意:1.只能引用 .FML/.XFML文件
    2.只能引用如下周期:MIN1 MIN3 MIN5 MIN15 MIN30 HOUR1 DAY    WEEK MONTH
    3.只能短周期引用长周期
    4.被引用的指标中不能存在引用
    5.如果不写文华码,默认引用当前合约

   
  

11.头寸函数

  
   

SETDEALPERCENT

   
   

设置下单的虚拟资金使用比例
用法:
    SETDEALPERCENT(fPercent)表示每次按资金的fPercent(范围1~100)下单。
例子:SETDEALPERCENT(20); //每次按资金比例的%20下单
注:应该与AUTOFILTER函数同时使用

   
   

SETDEALVOL(nVol)

   
   

设置模型每次下单按设置的手数下单。
用法:
    SETDEALVOL(nVol)表示每次模型下nVol手单。
例子:SETDEALVOL(2); //模型每次下单2手
注:不可与SETDEALPERCENT函数同时使用
交易系统必须启动
效果测试不执行此函数

   
  

12.信号记录函数

  

  

BARSBK

  
  

上一次买开信号位置
用法:
  BARSBK返回上一次买开仓距离当前k线的k线数。

  
  

BARSSK

  
  

上一次卖开信号位置
用法:
  BARSSK返回上一次卖开仓距离当前k线的k线数。

  
  

BKPRICE

  
  

买开信号位置的买开信号价位。
用法:
  BKPRICE返回最近一次模型买开位置的买开信号价位。
例如:
  BKPRICE-CLOSE>60 && BKPRICE>0, SP;//如果买开价位比当前价位高出60,且买开价位存在,卖平仓
请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。
注:BKPRICE 只在加载之后的K线上才返回信号价位,历史K线信号由于无信号价位会返回0,使用时请注意判断BKPRICE>0。效果测试中该函数返回信号位置的收盘价

  
  

SKPRICE

  
  

卖开信号位置的卖开信号价位
用法:
  SKPRICE返回最近一次模型卖开位置的卖开信号价位。
例如:
  CLOSE-SKPRICE>60 && SKPRICE>0, BP;//如果当前价位高出卖开价位60, 且卖开价位存在, 买平仓
请注意当模型存在连续多个开仓信号(加仓)的情况下,该函数返回的是最后一次开仓信号的价格,而不是开仓均价。
注:SKPRICE 只在加载之后的K线上才返回信号价位,历史K线信号由于无
信号价位会返回0,使用时请注意判断SKPRICE>0。效果测试中该函数返回信号位置的收盘价

  

论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

返回列表