-
3
日线上穿
8
日线买进
开仓
3
日线下穿
8
日线卖出平仓
测试结果:
测试天数:
239
23
100000
测试周期数:
157
指令总数:
初始资金:
平均交易周期:
13
最终权益:
100050
盈利:
50.00
总收益率
(
盈利
/
初始资金
)
:
0.05%
扣除最大盈利后收益率:
扣除最大亏损后收益率:
可靠性
(
胜率
)
:
25.00%
期望收益
(
平均
R
乘数
)
:
总交易次数:
12
-0.87%
0.44%
成交额:
390950
0.02R
总手续费:
0
盈利次数比例:
25.00%
平均利润率:
标准离差率:
多头次数:
亏损次数比例:
66.67%
平均每次盈利:
4
标准离差:
0
359.44
0.00%
8626.5%
11
空头次数:
多头盈利次数:
3
盈利次数:
总盈利:
3
空头盈利次数:
0
亏损次数:
8
-1715(-1.71%)
-215(-0.21%)
-385(-0.38%)
1765(1.77%)
总亏损:
592(0.59%)
915(0.92%)
平均盈利率:
最大盈利额:
平均亏损率:
最大亏损额:
平均盈利周期:
13
最大盈利周期:
16
最大连续盈利次数:
2
平均亏损周期:
3
最大亏损周期:
5
最大连续亏损次数:
6
最大连续盈利:
915(0.92%)
空仓总时间:
73
46.50%
最大连续亏损:
-1490(-1.48%)
最长空仓时间:
12
空仓时间
/
总时间:
自编公式支持的函数
1.
引用
数据
AVPRICE
引用均价
(
在盘后对于国内三个期货交易所指结算
价
)
SETTLE
引用结算价
(
只有在日线周期盘后才能引用当日的
结算价
)
CLOSE
HIGH
LOW
OPEN
OPI
REF(X,N)
引用收盘价
(
在盘中指最新价
)
,也可简写为
C
引用最高价,也可简写为
H
。
引用最低价,也可简写为
L
。
引用开盘价,也可简写为
O
。
引用持仓量
引用
X
在
N
个周期前的值
例
:REF(CLOSE,5);
表示引用当前周期前第
5
个周期
的收盘价
REFX(X,N)
引
用
N
个周期后的数据。(
N
为大于等于
1
的整数)
『
未来函数』
例:
REFX(CLOS
E,5);
表示引用自当前周期后第
5
个
周期的收盘价
VOL
GETPRICE(N)
引用成交量,也可简写为
V
。
根据文华码取出某一品种的最新价。
例:
GETPRICE(1209);
返回文华码为
1209
的合约品
种的最新价。
< br>
PARAM
[
参数名称,最
小值,最大值,缺省值
]
在源码中定义参数。
例:
PARAM[N,1,100,12]
MAN:MA(CLOSE,N);
表示参数为
N
,最小值为
1
,最大值为
100
,缺省值
为
12.
#IMPORT[CODE,PERIOD,FORMULA]AS
VAR;
CODE
文华码
PERIOD
周期
FORMULA
引用模型名
VAR
定义变量名
例子:
#IMPORT
[1205,MIN5,TEST] AS M1005
意思是引用
< br>[
豆粕
1005]
五分钟图上指标
[]
的数据
使用的方法:
如当前存在一个指标
//
CL:=CLOSE;
#IMPORT
[CODE,PERIOD,FORMULA] AS VAR
(
Mytrader2009
和
Myadvisor
(赢智)支
持)
OP:=OPEN;
我想在新建的指标
TEST1
中引用
[
豆粕
1005]
五分
钟周期上指标
[]
的数据
可以如下编写
TEST1
指标
//
#IMPORT [1205,MIN5,TEST] AS VARTEST
DD:;
DF:;
引用的约束
1.
只能引用
.FML
文件
2.
只能引用如下周期
MIN1
MIN3 MIN5 MIN10 MIN15
MIN30 HOUR1 HOUR3
HOUR8 DAY WEEK MONTH
3.
只能短周期
引用长周期比如不能日线周期上加载
引用了分钟数据的指标。
4.
被引用的指标中不能存在引用
<
/p>
5.
如果不写文华码,默认引用当前合约
2.
金融统计
BACKSET(X,N)
若
X
p>
条件成立
,
则将当前位置到
N
周期前的数值设为
1
。『未
来函数』
例:
BACKSET(CL
OSE>OPEN,3);
表示当
K
线
收阳时,自当前位置到
3
周期前的数
值
设为
1
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
为常数,并且必须介于<
/p>
0
及
1
之间。<
/p>
计算方法:
DMA(N)=DMA(N
-1)*(1-A)+X(N)*A
其中
DMA(N-1)<
/p>
为第
(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*X
0+(N-1)*X1+(N-2)*X2+...+1*XN)/(N+(N-1)+(N-2)+...+1
),X0
表示本周期值,
X1
表示上一
周期值
...
HHV(X,N)
得
到
X
在
N
周期
内的最高值,
如果
N
=
0
,
则从本地数据的第一个有效周期开始
算起。
例:
HHV(HI
GH,13);
求
13
个周期内的最高
价的最大值。
HHVBARS(X,N)
得到
X
在
N
< br>周期内的最高值位置到当前的周期数。如果
N=0
,则从
本地数据的
第一个有效周期开始算起。
例:
HHVBARS(VOL,0);
求历史成交量最大的周期到当前的周期数
LLV(X,N)
得到
X
在
N
周期内的最小值,如果
N=0
,则从本地数据的第一个有效周期开始
算起。
例:
LLV(LOW,25);
表示求
25
个周期内最低价的最小值
LLVBARS(X,N)
得到
< br>X
在
N
周期内的最小值的位置到
当前的周期数。如果
N=0
则从本地数据的
第一个有效周期开始算起。
例:
LLVBARS(VOL,0);
求历史成交量最小的周期到当前的周期数
MA(X,N)
求
X
在
N
周期内的简单移动平均。
计算方法:
MA=(A1+A2+A3+A4+A5)/5
求
A
在
5
p>
个周期内的简单移动平均
ZIGZAG(X,P,N)
之字转向
,
当
X
变化量超过
P
时转向
,
当
N
取
1,P
为百分比数
;
当
N
取
0,P
为价位
差值绝对值。『未来函数』
例:
ZIGZAG(HIGH,10,1);
表示最高价的
10%
的之字转向
ZIGZAG(MA(HIGH,34),100,0);
表示
34
个周期内最高价均线的
100
个价位的之字
转向
PEAK(X,P,M,N)
取得
ZIGZAG
前
M
个波峰的值。其中<
/p>
X
为数据,
P
为
转折值(如果
N
为
1
< br>,这个
值为百分比数,否则为价位差值绝对值),
M
p>
为大于等于
1
的整数。『未来函
数』
例:
PEAK(H
IGH,10,1,1);
表示最高价的
10%
的之字转向的上一个波峰的数值
;
PEAK(MA
(HIGH,34),100,1,0);
表示
34
个周期内最高价均线的
100
个价位的之字
转向的上一个波峰的数值
PEAKBARS(X,P,M,N)
取得
< br>ZIGZAG
前
M
个波峰到当前
周期的周期数。其中
X
为数据,
P
p>
为转折值(如
果
N
为
1
,
这个值为百分比数,
否则为价位差值绝对值)
,
M
为大于等于
1
的整
数。『未来函数
』
例:
PEAKBARS(HIGH
,10,1,1);
表示最高价的
10%
的之字转向的上一个波峰到当
前的周期数
PEAKBARS(MA(HIGH,34),100,1,0);
表示
34
个周期内最高价均线的
100
个价位的
之字转向的上一个波峰到当前的周期数
TROUGH(X,P,M,N)
取得
ZIGZAG
前
M
个波谷的值。其中
X
为数据,
P
为转折值(如果
N
为
1
,这个
值为百分比数,否则为价位差值绝对值),
M<
/p>
为大于等于
1
的整数。『未来函
数』
例:
TROUG
H(LOW,10,1,1);
表示最低价的
10%
的之字转向的上一个波谷的数值
TROUGH
(MA(LOW,34),100,1,0);
表示
34
个周期内最低价均线的
100
个价位的之
字转向的上一个波谷的数值
TROUGHBARS(X,P,M,N)
取得
ZIGZAG
前
M
个波谷到
当前周期的周期数。其中
X
为数据,
P
为转折值(如
果
N
为
1
,
这个值为百分比数,
否则为价位差值绝对值)
,
M
为大于等于
1
的整
数。『未来
函数』
TROUGHBARS(LOW,10,1,1);
表示最低价的
10%
的之字转向的上一
个波谷到当前
的周期数
TROUG
HBARS(MA(LOW,34),100,1,0);
表示
34
个周期内最低价均线的
100
个价
位
的之字转向的上一个波谷到当前的周期数
SAR(N,Step,Max)
得到抛物转向值。
N
为计算周期
,Step
为步长
,Max
为极值。(系统函数,计算
< br>步骤后台自动完成)
例:
SA
R(17,0.03,0.3);
表示计算
17
个周期抛物转向,
步长为
3%
,
极限值为
30%
SMA(X,N,M)
得到
X
在
N
个周期内的移动平均,
< br>M
为权重(
M
为常数)。
计算方法:
SMA(N)=SMA(N-1
)*(N-M)/N+X(N)*M/N
SUM(X,N)
得到
X
在
N
周期内的总和,如果
N=0
,则从第一个有效周期开始算起。<
/p>
例
: SUM(VOL,10);
p>
表示统计
10
周期内的成交量总和
SUMBARS(X,A)
TRMA(X,N)
TSMA(X,N)
< br>得到
X
向前累加直到大于
A
p>
时的周期数。
求
X
在
N
周期内的三角移动平均。
p>
求
X
在
N
周期内的时间序列移动平均。
计算方法:
TSMA(X,N)=
FORCAST(X,N)+SLOPE(X,N)
3.
数理统计
AVEDEV(X,N)
DEVSQ(X,N)
FORCAST(X,N)
求
X
p>
在
N
周期内的平均绝对偏差
数据偏差平方和。
得到<
/p>
X
的
N
周期线性
回归预测值。
例
:FORCAST(
CLOSE,5);
表示求
5
周期线性
回归预测
SLOPE(X,N)
得
到
X
在
N
周期
内的线性回归的斜率
例
:SLOPE
(CLOSE,5);
表示求
5
周期线
性回归线的斜率
STD(X,N)
STDP(X,N)
VAR(X,N)
VARP(X,N)
得到
X
在
N
周期内的标准差
得到
X
在
N<
/p>
周期内的总体标准差
得到
X
在
N
周期内的样本方差<
/p>
得到
X
在
p>
N
周期内的总体样本方差
设一个数列,数列中数据的总个数为
N
,以今天(
p>
2005-10-14
)五天
内的
A0605
收盘价为例,
N
就为
5
。数列的内容为:{
276
6
,
2805
,
2814
,
2886
,
2885
}。
1
、算术平均值
MA(CLOSE,5)
:数据总
和除以总个数
N
。
< br>(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)<
/p>
:将偏差的平方相加。
(-65.2)2+
(-26.2)2+ (-17.2)2+ (54.8)2+
(53.8)2=11130.80
5
、
< br>总体样本方差
VARP(X,N)
:
将偏差的平方相加,
总和除以总个数
N
。
用公式可以这样算:
(-65.2)2+
(-26.2)2+ (-17.2)2+ (54.8)2+
(53.8)2/5=2226.16
6
< br>、样本方差
VAR(X,N)
:是总体方差的
N/(N-1)
倍。
2226.16*5/(5-1)=2782.70
估算样本
方差,总比总体样本方差大一
点,当
N
够大时,两者趋于相等。
7
、总体标
准差
STDP(X,N)
:方差的开方。
[(-65.2)2+ (-26.2)2+
(-17.2)2+
(54.8)2+ (53.8)2/5]?=47.18
8
、标准差
STD(X,N)
:估算样本方差的开方。
[2226.16*5/(5-1)]?=52.75
同样,估算标准差也比总体标准差大一
点,当
N
p>
够大时,两者趋于相等。
4.
逻辑判断
BETWEEN(A,B,C)
判断条件“A
位于
B
及
C
< br>之间”是否成立,如果条件成立则返回
1
(yes),
否则返回
0
(no)
。
例:
BETWEEN(CLOSE,MA5,MA40); <
/p>
表示收盘价介于
5
日均线与
40
日均线之间。
CROSS(X,Y)
表示
X
上穿
Y
。
例:
CROSS(CLOSE,MA(CLOSE,5));
表示收盘线从下方向上穿过
5
日
< br>均线
EXIST(COND,N)
< br>判断
N
个周期内是否有满足条件
COND
的情况发生。
例:
EXIST(CLOSE>REF(HIGH,1),10);
表示
p>
10
个周期中是否存在收
盘价大于前一个周
期的最高价
EVERY(COND,N)
< br>判断过去
N
个周期内是否一直满足条件
< br>COND
。
例:
EVERY(CLOSE>OPEN,5);
表示
5
个周期内一直是阳线
LAST(COND,N1,N2)
判断过去
N1
到
N2
周期内是否一直满
足条件
COND
。
< br>例:
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
日均线
NOFILTER
交易模型买卖指令信号过滤函数。(仅适用于交易模型的过滤)
交易模型公式后加“NOFILTER;”是指不需要过滤,出现任何交易
指令都会执行。公式后不加“NOFILTER;”是指当连续出现同方向
的
交易指令时,
系统只显示出第一个交易指令,
其他交易指令自动
被过滤。
ISDOWN
ISEQUAL
ISUP
ISLASTBAR
VALUEWHEN(COND,DATA)
判断该周期是否收阴。
判断该周期是否平盘。
判断该周期是否收阳。
判断当前周期
是否为最后一根
K
线。
当条件
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)
ASIN(X)
ATAN(X)
COS(X)
EXP(X)
CEILING(X)
FLOOR(X)
< br>求
X
的反余弦值
求
X
的反正弦值
求
X
的反正切值
p>
返回
X
的余弦值
返回
e
的
X<
/p>
次幂
向上舍入,返回沿
X
数值增大方向最接近的整数。
向下舍入,返回沿
X
数值减小方向最接近的整数。
-
-
-
-
-
-
-
-
-
上一篇:十字开头的成语大全
下一篇:电影专业术语 中英文对照