以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  有关股票模型  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=56795)

--  作者:sonicking
--  发布时间:2013/9/18 22:10:47
--  有关股票模型

我希望做个程序统计研究涨停板后的买卖是否有规律可寻,

 

如果我把设个条件,如股票3个涨停板,然后便利所有股票,把凡是有3个涨停的股票都标示出来,

这个程序如何写?能否把所有股票都遍历一遍吗?

 


--  作者:jinzhe
--  发布时间:2013/9/22 9:52:16
--  

用条件选股功能,能够查询所有的股票

3个涨停板如何定义?


--  作者:sonicking
--  发布时间:2013/9/22 20:20:53
--  

我是想做个策略,比如连续3个涨停板的股票,如果下跌5%就买入。持仓3天后看能否盈利。

 

我如何编程序,另如此测试盈亏比。


--  作者:自渔自乐
--  发布时间:2013/9/23 0:35:25
--  
以信号当天收盘价买入的历史回测系统:

C3:=REF(C,1);
V1:=IF(STRFIND(STKNAME,\'S\',0)<>0 or STRFIND(STKNAME,\'*\',0)<>0, 5, 10);
{涨停}
涨停 := IF((C-C3)*100/C3>=(V1-0.01*100/C3)  AND C=H,1,0);
enterlong:ref(every(涨停>0,3),1) and cross(ref(c,1)*0.95,c);
exitlong:barslast(enterlong)=3;


盘中预警类型的历史回测:

C3:=REF(C,1);
V1:=IF(STRFIND(STKNAME,\'S\',0)<>0 or STRFIND(STKNAME,\'*\',0)<>0, 5, 10);
{涨停}
涨停 := IF((C-C3)*100/C3>=(V1-0.01*100/C3)  AND C=H,1,0);
aa:=ref(every(涨停>0,3),1) and cross(ref(c,1)*0.95,l);
ll:=ref(c,1)*0.95;
开多:buy(aa,100%,limitr,ll);
bb:=barslast(开多)=3;
平多:sell(bb,100%,MARKET)

如果有错误,请老师们指正,谢谢各位老师!

评测报告有问题:
测试摘要

    测试品种数:                   2129
      平均利润:            -100,072.07      年回报率:         -0.25%(1363天)
      交易次数:                      2          胜率:                 50.00%
  盈利交易次数:                      1        成功率:                 50.00%

三年交易才2次,可是明细却有很多交易:(我下载全日线和除权数据了,复权处理的小勾也选中了
图片点击可在新窗口打开查看此主题相关图片如下:截图1379867628.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ttr涨停评测报告.zip







--  作者:自渔自乐
--  发布时间:2013/9/23 0:37:15
--  
找到原因了,这样写就对了:

C3:=REF(C,1);
V1:=IF(STRFIND(STKNAME,\'S\',0)<>0 or STRFIND(STKNAME,\'*\',0)<>0, 5, 10);
{涨停}
涨停 := IF((C-C3)*100/C3>=(V1-0.01*100/C3)  AND C=H,1,0);
aa:=ref(every(涨停>0,3),1) and cross(ref(c,1)*0.95,l);
ll:=ref(c,1)*0.95;
开多:buy(aa,100%,limitr,ll);
bb:=barslast(aa)=3;
平多:sell(bb,100%,MARKET)

--  作者:自渔自乐
--  发布时间:2013/9/23 0:41:25
--  
C3:=REF(C,1);
V1:=IF(STRFIND(STKNAME,\'S\',0)<>0 or STRFIND(STKNAME,\'*\',0)<>0, 5, 10);
{涨停}
涨停 := IF((C-C3)*100/C3>=(V1-0.01*100/C3)  AND C=H,1,0);
aa:=ref(every(涨停>0,3),1) and cross(ref(c,1)*0.95,l);
ll:=ref(c,1)*0.95;
开多:buy(aa,100%,limitr,ll);
bb:=barslast(aa)=3;
平多:sell(holding>0 or bb,100%,ENTERPRICE*1.02)

--  作者:sonicking
--  发布时间:2013/10/9 16:14:15
--  

非常感谢