设为首页收藏本站

 找回密码
 注册
查看: 27887|回复: 41
打印 上一主题 下一主题

自适应动态突破系统(Dynamic Break Out II)tb版 [复制链接]

Rank: 7Rank: 7Rank: 7

精华
0
UID
397
积分
4818
帖子
87
主题
13
阅读权限
80
注册时间
2007-9-22
最后登录
2021-6-8
跳转到指定楼层
1#
发表于 2008-9-13 13:50:59 |只看该作者 |正序浏览
Params
    Numeric ceilingAmt(60);
    Numeric floorAmt(20);
    Numeric bolBandTrig(2.00);
Vars
    Numeric lookBackDays(20);         
    Numeric todayVolatility(0);
    Numeric yesterDayVolatility(0);
    Numeric deltaVolatility(0);
    NumericSeries buyPoint(0);
    NumericSeries sellPoint(0);
    NumericSeries longLiqPoint(0);
    NumericSeries shortLiqPoint(0);
    Numeric upBand(0);
    Numeric dnBand(0);
    Numeric MidLine(0);
    Numeric Band(0);
Begin
    todayVolatility = StandardDev(Close,30,1);
    yesterDayVolatility = StandardDev(Close[1],30,1);
    deltaVolatility = (todayVolatility - yesterDayVolatility)/todayVolatility;
    lookBackDays = lookBackDays * (1 + deltaVolatility);
    lookBackDays = Round(lookBackDays,0);
    lookBackDays = Min(lookBackDays,ceilingAmt);
    lookBackDays = Max(lookBackDays,floorAmt);
    MidLine = AverageFC(Close,lookBackDays);
    Band = StandardDev(Close,lookBackDays,bolBandTrig);
    upBand = MidLine + bolBandTrig * Band;
    dnBand = MidLine - bolBandTrig * Band;
    buyPoint = Highest(High[1],lookBackDays);
    sellPoint = Lowest(Low[1],lookBackDays);
    longLiqPoint = Average(Close[1],lookBackDays);
    shortLiqPoint = Average(Close[1],lookBackDays);

if(Close > upBand)  
{
   If(CrossOver(high,buyPoint))   
  {
     Buy(1,max( buyPoint, Low ));

  }
Commentary("多头触发价:"+Text(buyPoint));

}

if(Close < dnBand)
{

   If(CrossUnder(Low,sellPoint ))
   {
      SellShort(1,min( sellPoint , High ));
   }
Commentary("空头触发价:"+Text(sellPoint));

}
if(MarketPosition == 1)
{  
   If(CrossUnder(Low,longLiqPoint ))
   {
      Sell(1,min( longLiqPoint , High ));
   }
Commentary("多头退出:"+Text(longLiqPoint));
}




if(MarketPosition == -1)

{
   If(CrossOver(high,shortLiqPoint))   
  {
     BuyToCover(1,max( shortLiqPoint, Low ));
  }
Commentary("多头退出:"+Text(shortLiqPoint));

}


End

[ 本帖最后由 ilian 于 2008-9-13 14:11 编辑 ]

Rank: 1

精华
0
UID
170625
积分
5
帖子
5
主题
0
阅读权限
10
注册时间
1970-1-1
最后登录
2013-10-22
42#
发表于 2013-10-20 10:32:28 |只看该作者
原理思路一点没错,就是程序编写有问题,偷价太过明显,可以自己改进成可用系统,其实最关键是前面计算波动率方法效果如何,不得而知,我现在连计算波动率的思路都没有,先改成实盘模型再说,谢谢楼主共享

使用道具 举报

Rank: 1

精华
0
UID
110512
积分
25
帖子
3
主题
0
阅读权限
10
注册时间
2012-5-17
最后登录
2013-1-15
41#
发表于 2012-11-28 14:00:41 |只看该作者

使用道具 举报

Rank: 4

精华
0
UID
64485
积分
395
帖子
119
主题
19
阅读权限
50
注册时间
2011-9-9
最后登录
2014-12-24
40#
发表于 2012-10-24 13:54:51 |只看该作者
hdh4638 发表于 2012-3-18 10:31
没人表扬,割了好了!

您是不是发过 改进版的程序代码  您后来又删除了??

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
112403
积分
168
帖子
126
主题
6
阅读权限
40
注册时间
2012-9-7
最后登录
2013-6-21
39#
发表于 2012-10-22 09:20:36 |只看该作者
这个策略的好处就是lookBackDays,大家有没有什么好的过滤条件呢。不知道21楼怎么改的啊

使用道具 举报

Rank: 1

精华
0
UID
112200
积分
48
帖子
28
主题
0
阅读权限
10
注册时间
2012-8-29
最后登录
2013-7-22
38#
发表于 2012-10-21 21:59:53 |只看该作者
很好的策略 支持下

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
62557
积分
124
帖子
27
主题
8
阅读权限
40
注册时间
2011-8-31
最后登录
2017-1-10
37#
发表于 2012-10-19 15:51:36 |只看该作者
MidLine = AverageFC(Close,lookBackDays);
应该改成 MidLine = Average(Close,lookBackDays);
lookBackDays是动态的,用AverageFC计算会出错。

使用道具 举报

Rank: 2

精华
0
UID
112675
积分
59
帖子
36
主题
2
阅读权限
30
注册时间
2012-9-25
最后登录
2012-10-26
36#
发表于 2012-10-10 23:55:16 |只看该作者
顶起

使用道具 举报

Rank: 2

精华
0
UID
112675
积分
59
帖子
36
主题
2
阅读权限
30
注册时间
2012-9-25
最后登录
2012-10-26
35#
发表于 2012-10-10 00:09:37 |只看该作者

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
110931
积分
131
帖子
78
主题
6
阅读权限
40
注册时间
2012-6-12
最后登录
2013-6-29
34#
发表于 2012-8-15 12:29:50 |只看该作者

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-16 03:40

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部