以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  最大回撤  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=53068)

--  作者:aback
--  发布时间:2013/6/16 11:02:35
--  最大回撤

同样一个策略,没有都没变,为何过一段时间在测(同样时间段),其他的都一样(交易次数,收益等),为何历史的最大回撤不一样了?

 

请见图,这是去年测试的(历史回撤资金6.8万):

 


图片点击可在新窗口打开查看此主题相关图片如下:121.jpg
图片点击可在新窗口打开查看

 

 

 

这是今天的(历史回撤资金4.9万):


图片点击可在新窗口打开查看此主题相关图片如下:131.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2013/6/16 11:03:33编辑过]

--  作者:王锋
--  发布时间:2013/6/16 11:40:20
--  
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=9439 看看阿火秘籍5,里面有自行统计最大回撤的算法,如果你对金字塔的回撤认为不准,可以自行验证
--  作者:aback
--  发布时间:2013/6/16 17:05:48
--  
这个是解决问题的方法吗?两次的结果不一样?用户不能有疑问吗?你们就不能说明一下吗?何必和绕弯子呢?
--  作者:王锋
--  发布时间:2013/6/16 22:44:33
--  
你给出的2张图,回撤都是一样的,没看到有不一样的地方
--  作者:aback
--  发布时间:2013/6/17 8:37:59
--  
以下是引用王锋在2013/6/16 22:44:33的发言:
你给出的2张图,回撤都是一样的,没看到有不一样的地方

 

为何在论坛问个问题这么难呢?我一般有问题不发帖,先搜,最初学公式的时候就是这样,但金字塔论坛不能解决问题,百度搜到了理想、MACD论坛有答案,所以没办法注册了很多其他论坛的帐户,有问题上那里去问。

现在偶然发帖,还是一样,我都写得那么清楚了,是版主没仔细看,还是我的理解有问题,总算找到了官方的验证了。

 


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

--  作者:aback
--  发布时间:2013/6/17 11:26:59
--  

不回复就顶起!


--  作者:jinzhe
--  发布时间:2013/6/17 13:17:48
--  
你两个公式的参数都不一样了
--  作者:aback
--  发布时间:2013/6/17 14:10:53
--  

上面图的第一的1,是1手的意思,原先把开仓手数设为可改动。

后来把策略固定成1手,所以把1去掉了!

 

所以参数没变,策略什么都没变!


--  作者:aback
--  发布时间:2013/6/17 14:19:40
--  

源码在这里:

重发:注是3分钟周期。

 

 

input:mm1(4,4,5,1);
input:mm2(4,2,5,1);
input:mm3(5,4,6,1);
input:mm4(10,8,10,1);
input:mm5(200,170,260,10);
input:mm6(7,6,10,1);

runmode:0;
variable:ema12=c,ema26=c,dea=0;
if day<>ref(day,1) then begin
  ema12:=c;
  ema26:=c;
  dea:=0;
end
ema12:=ema12*11/13+c*2/13;
ema26:=ema26*25/27+c*2/27;
diff:ema12-ema26;
dea:=dea*4/5+diff/5;
dea1:dea;
macd:2*(diff-dea),colorstick;


TYP:= (HIGH + LOW + CLOSE)/3;
cci:=(TYP-MA(TYP,6))/(0.015*AVEDEV(TYP,6));

开多1:count(diff>ref(diff,1),mm1)=mm1;
开多2:count(macd>ref(macd,1),mm2)=mm2;
开多3:count(diff>dea1,mm3)=mm3;
开多:开多1 AND 开多2 AND 开多3;

开空1:count(diff<ref(diff,1),mm1)=mm1;
开空2:count(macd<ref(macd,1),mm2)=mm2;
开空3:count(diff<dea1,mm3)=mm3;
开空:开空1 AND 开空2 AND 开空3;


平多1:=count(macd<ref(macd,1),mm4)=mm4;
平多2:=cci>mm5;
平空1:=count(macd>ref(macd,1),mm4)=mm4;
平空2:=cci<-mm5;

平多:平多1 or 平多2 or CLOSE<=(ENTERPRICE-mm6); 
平空:平空1 or 平空2 or CLOSE>=(ENTERPRICE+mm6);

 

IF HOLDING>0 AND 平多 THEN SELL(1,0,MARKET);
IF HOLDING>0 AND TIME=151200  THEN SELL(1,0,MARKET);
IF HOLDING<0 AND 平空  THEN SELLSHORT(1,0,MARKET);
IF HOLDING<0 AND TIME=151200  THEN SELLSHORT(1,0,MARKET);
IF HOLDING=0 AND 开多  AND TIME<150900  THEN BUY(1,1,MARKET); 
IF HOLDING=0 AND 开空  AND TIME<150900  THEN BUYSHORT(1,1,MARKET);


--  作者:jinzhe
--  发布时间:2013/6/17 14:33:17
--  

费率,测试品种和测试时间段也发一下

有没有设定各种自定义平仓的?