以前曾在《海龟交易法》中看到MAE/MFE比率。当时只觉得是新奇。但不知道有什么用。
但当自己为了找到适合市场的开平仓规则组合。此比率为自己省下一大笔功夫。
人总会主观的认为自己是对的。但数据不骗人,你认为这种平仓手法是好的,于是去优化参数,加几层平仓规则。
但偏偏换了另外一种简单的出市手法的时候,效果是惊喜的好得多。
造成这种时间浪费的原因之一,是对于市场,对于自己拿手的开仓手法,你并不知道应该大概持仓多久,才能在这个市场生存,也就是不知道应该是快出市,还是慢出市,还是分批止损止盈。
小弟编程菜鸟,写的这个指标,模型部分可以换,不过优化出最大MAE MFE比率的方法暂时只有考手工的一个个比较。才知道持仓多少个周期会好。
以下内容为程序代码:
1 VARIABLE: MAE=0,MFE=0;
2
3 INPUT:DAYLONG(40,4,400,4);//DAYLONG个周期后平仓
4
5 //简单模型
6
7 UP:HHV(H,40);
8 LONG:=REF(UP,1);
9
10 IF HOLDING<>0 THEN
11 BEGIN
12 IF ENTERBARS>=DAYLONG AND HOLDING>0 THEN SELL(1,1,thisclose);
13 END
14
15 ELSE THEN
16 BEGIN
17 IF H>=LONG AND HOLDING=0 THEN BUY(1,1,STOPR,LONG);
18 END
19
20 //开始取MAE和MFE
21
22 IF REF(HOLDING,1)=0 THEN GOTO DONE;
23 PP:=OPENPROFIT,LINETHICK0;
24 浮动盈亏:PP,LINETHICK0;
25
26 IF PP>0 AND HOLDING<>0 THEN
27 BEGIN
28 IF PP>MAE THEN MAE:=PP;
29 END
30
31 ELSE THEN
32 BEGIN
33 IF PP<MFE THEN MFE:=PP;
34 END
35
36
37 DONE@ AA:=IFELSE(EXITBARS=0,MAE,0),LINETHICK0;
38 BB:=IFELSE(EXITBARS=0,MFE,0),LINETHICK0;
39 当笔交易MAE:AA,LINETHICK0;
40 当笔交易MFE:BB,LINETHICK0;
41
42 IF EXITBARS=0 THEN
43 BEGIN
44 MAE:=0;
45 MFE:=0;
46 END
47 SMAE:=SUM(AA,0),LINETHICK0;
48 SMFE:=SUM(BB,0),LINETHICK0;
49 RATIO:=ABS(SMAE/SMFE),LINETHICK0;
50 MAE/MFE比率:RATIO,NODRAW,COLORRED;
51 //TT:TOTALTRADE,LINETHICK0;
52 //SS:SUM(RATIO,0),LINETHICK0;
53 //ARATIO:SS/TT,LINETHICK0;
54