以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请老师按报文中内容改编,谢谢  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=30294)

--  作者:amao2003
--  发布时间:2012/11/1 15:27:25
--  请老师按报文中内容改编,谢谢

  最近看了下面链接的一篇文章,觉得很好,试着按文中思路编写代码,但在策略三的实现没达到文中所说的收益率,反而下降了,请老师们看看我写的有什么问题,如何改进达到策略三所说的测试结果呢,谢谢!

 

“根据数据切分算法得到的收益率曲线优于引用上一期30分钟K线数据的算法,收益率146.65%,胜率56.15%,均盈利/均亏损1.5,最大回撤9.31%,交易次数317次。和策略1的结果对比,交易次数有所减少,胜率和收益率改善明显,且最大回撤大幅降低,改进后的策略3提高了捕捉日内趋势的效果。”-----策略三的测试结果

 

http://qing.weibo.com/tj/6741d94933000ylj.html     

 

以下为我的代码:

 

VARIABLE:DD:=0;

NN:=BARSLAST(DATE<>REF(DATE,1))+1;
HH:(VALUEWHEN(NN=6,HHV(H,NN)))*1.01;
LL:(VALUEWHEN(NN=6,LLV(L,NN)))*0.99;
死叉:=CROSS(MA(C,15),MA(C,5));       

金叉:=CROSS(MA(C,5),MA(C,15));           

 

IF CROSS(C,HH) AND 094500<=TIME<=151000  THEN BEGIN   
 平空:SELLSHORT(HOLDING=-1,1,THISCLOSE);
 开多:BUY(HOLDING=0,1,THISCLOSE);
       DD:=DATE;
END

 

IF CROSS(LL,C) AND 094500<=TIME<=151000 THEN BEGIN   
 平多:SELL(HOLDING=1,1,THISCLOSE);                     
 开空:BUYSHORT(HOLDING=0,1,THISCLOSE); 
       DD:=DATE;      
END

 

IF DATE>DD AND HOLDING<>0 THEN BEGIN       //延长有利仓位直到均线交叉
 IF 死叉 THEN
  了结多:SELL(HOLDING=1,1,THISCLOSE);
 IF 金叉 THEN
  了结空:SELLSHORT(HOLDING=-1,1,THISCLOSE);
END

 

IF  TIME>=151000 AND C<ENTERPRICE THEN    //尾盘平掉亏损持仓
 收盘平多:SELL(1,1,THISCLOSE);
IF  TIME>=151000 AND C>ENTERPRICE THEN    //尾盘平掉亏损持仓
 收盘平空:SELLSHORT(1,1,THISCLOSE);
 


盈亏:ASSET,NOAXIS,COLORRED,LINETHICK2;
次数:TOTALTRADE,LINETHICK0;
持仓:HOLDING,,LINETHICK0;

 


--  作者:jinzhe
--  发布时间:2012/11/1 15:33:18
--  

直接去要源代码好了,这样改怎么可能改出一样的或者差不多的收益率


--  作者:amao2003
--  发布时间:2012/11/1 15:56:27
--  
不一定完全一样,只要能通过均线交叉提高原来的收益就行,我家入均线代码后测试结果反而降低了,我的测试结果还不到100%,我觉得我的均线编写的太简单了,能修改到130%以上就行,老师试试看吧。
--  作者:RogarZ
--  发布时间:2012/11/1 17:50:52
--  

这个是有可能的,这篇是东兴王立立的研发报告。数据应该是1年前的吧?

他在报告中只是将一种想法去做尝试,当时得到的效果还不错。

但这种处理方式不是放之四海而皆准。

像某些策略加了止盈反而风险加大,盈利变小。具体策略具体分析吧