- 精华
- 0
- 在线时间
- 65 小时
- UID
- 13821
- 积分
- 672
- 帖子
- 36
- 阅读权限
- 60
- 注册时间
- 2010-7-6
- 最后登录
- 2013-1-6
- 精华
- 0
- UID
- 13821
- 积分
- 672
- 帖子
- 36
- 主题
- 18
- 阅读权限
- 60
- 注册时间
- 2010-7-6
- 最后登录
- 2013-1-6
|
3自适应动态突破系统(Dynamic Break Out II)tb版
3自适应动态突破系统(Dynamic Break Out II)tb版
原贴地址:
这个系统是我看到论坛内一个比较接近专业水准的系统,但是很多人不研究明白交易原理不进行优化就胡乱使用,这个代码也缺少一个原版所拥有的交易时段筛选参数和其它一些filter,恩另外介绍一下dochian-channel,这是一个非常好的通道的指标,基于这个指标设计欧元美元剥头皮策略准确率可以达到99%,大家可以参考这个外汇EA评测网站的测试报告:http://www.fx3721.cn/2009/1203/320.html
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 |
|