我编制了一个程序化交易软件,他的测试结果如下:
时间 名称 类型 价格 交易量 收益 幅度% 资产
2009/11/19 09:05:00 豆油1009 开空 7682 52
2009/11/19 09:40:00 豆油1009 平空 7694 52 -3,644.77 -0.46 993,954.75
2009/11/19 09:40:00 豆油1009 开多 7694 51
2009/11/19 10:45:00 豆油1009 平多 7726 51 909.63 0.12 992,500.25
2009/11/19 10:45:00 豆油1009 开空 7726 51
2009/11/19 14:50:00 豆油1009 平空 7692 51 1,103.82 0.14 991,250.3
第一笔交易亏损8点,亏3644.77还可以理解;
第二笔交易获利32点,即使除去前面的亏损8点,收益怎么只有909.63??
第三笔交易应该获利34点,更不对了。
把你的测试公式和测试周期给我们看一下,我们复原你的环境后,本地看看是什么情况
测试设定
测试方法:A.新交易系统-Formula1
测试时间:2009/11/19 - 2009/11/20 强制平仓计算收益
测试证券:共计1只 初始投入:100万元
开仓条件:在公式中定义的开仓条件
当条件满足时: 使用全部资金投入
交易时机与价位:
开多:本周期收盘价 平多:本周期收盘价
开空:本周期收盘价 平空:本周期收盘价
出现连续信号时:不再投入
平仓条件:(按盘中触位价计算是否满足止损条件,按当日收盘价平仓,成本价浮动计算)
交易品种:期货
10.00% 保证金比例 和约单位 5.00 点(顿、克)/手
交易费用:根据成交额
开仓:0.30% 平仓:0.30%
交易类型:多头及空头测试
测试模型:单品种测试
VARA:=LLV(LOW,35);
VARB:=HHV(HIGH,30);
VARC:=EMA((CLOSE-VARA)/(VARB-VARA)*4,4)*25;
QS:= VARC,COLORGREEN;
VARD:=87.5;
VARE:=(VARC-LLV(VARC,4))/(HHV(VARC,4)-LLV(VARC,4))*4*25;
VAR6:=(2*CLOSE+HIGH+LOW)/4;
VAR8:=LLV(LOW,30);
VARAA:=HHV(HIGH,30);
B:=EMA((VAR6-VAR8)/(VARAA-VAR8)*100,8);
B1:=EMA(B,5);
V1:=(2*CLOSE+HIGH+LOW)/4; V2:=LLV(LOW,21);
VA:=HHV(HIGH,34);
FB:=EMA((V1-V2)/(VA-V2)*100,13);
FBB:=EMA((0.667*REF(FB,1)+0.333*FB),2);
BK:=B-B1>0 AND TIME<144500;
SK:=B-B1<0 AND TIME<144500;
SP:=B-B1<0 OR TIME>=145000;
BP:=B-B1>0 OR TIME>=145000;
MA55:MA(CLOSE,55);
{平多}
sell(holding>0 and sp,0,thisclose); //测试时,需要跳变
Tsell(Tholding>0 and sp,0,lmt,c); //实战时,冒头就行,注意取值
{平空}
sellshort(holding<0 and bp,0,thisclose);
Tsellshort(Tholding<0 and bp,0,lmt,c);
{开多}
buy(holding=0 and bk ,intpart(asset*0.4/close),thisclose);
Tbuy(Tholding=0 and bk,intpart(Tasset*0.1/close),lmt,c);
{开空}
buyshort( holding=0 and sk,intpart(asset*0.4/close),thisclose);
Tbuyshort(Tholding=0 and sk,intpart(Tasset*0.1/close),lmt,c);
资产_control:asset,COLORCYAN,noaxis;
//持仓:holding,noaxis;
现在初步的排查结果,应该是您在公式测试时,手续费和单位数字没有设置正确,手续费比例超过正常的数字,将盈利大幅扣除了