设为首页收藏本站

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

求助:编写一个关于kd指标策略的代码 [复制链接]

Rank: 2

精华
0
UID
26532
积分
80
帖子
34
主题
22
阅读权限
30
注册时间
2011-2-23
最后登录
2015-11-27
跳转到指定楼层
1#
发表于 2011-2-23 16:43:11 |只看该作者 |倒序浏览
K线上穿D线,追价买入,止损和止赢各设10个点
      K线下穿D线,追价卖出,止损和止赢各设10个点

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
2#
发表于 2011-2-23 19:33:16 |只看该作者
回复 1# chockstick1985

此系统是不赚钱的你就别去折腾了,这些我们早就折腾了

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
20707
积分
164
帖子
22
主题
8
阅读权限
40
注册时间
2010-12-1
最后登录
2016-5-18
3#
发表于 2011-3-27 23:51:39 |只看该作者
TB里的KD,K值和D值计算方式和正规的KD是不一样的。。测试下来,大部分趋势品种是正规KD,两线交叉的系统盈利好过TB中的KD。

这里是我自己用TB编写的,正规(也就是文华财经,博弈大师等软件中的KD计算方法)KD公式。
希望对你有帮助,你可以没事测试测试。。

TB中的KD于,正规KD同列,技术指标:

Params
        Numeric Length(14);                       
        Numeric SlowLength(3);       
        Numeric SmoothLength(3);
Vars
        NumericSeries HighestValue;                               
        NumericSeries LowestValue;                                       
        NumericSeries KValue;//TB中的K
        NumericSeries DValue;//TB中的D
        NumericSeries K001;//正规K
        NumericSeries D001;//正规D
        NumericSeries RSV001;
Begin
        HighestValue = HighestFC(High, Length);
       
        LowestValue = LowestFC(Low, Length);
       
        RSV001 = (Close-LowestValue)/(HighestValue-LowestValue)*100;//正规KD计算要先计算RSV,TB的KD计算没有使用RSV
       
        KValue = Summation(Close - LowestValue,SlowLength)/Summation(HighestValue-LowestValue,SlowLength)*100;
        DValue = Average(KValue,SmoothLength);

        K001 = SMA(RSV001,SlowLength,1);
        D001 = SMA(K001,SmoothLength,1);
       
        PlotNumeric("K",K001);
        PlotNumeric("D",D001);
        PlotNumeric("K-TB",KValue);
        PlotNumeric("D-TB",DValue);
        //PlotNumeric("RSV",RSV001);
End



正规KD的金叉方法交易指令公式:

(为了方便大家测试比较正常KD与,TB中的KD收益,这里设置了testmode参数,设置为0时,正规版KD,设置为1时,TB版本的KD。)

Params
        Numeric Length(14);                       
        Numeric SlowLength(3);       
        Numeric SmoothLength(3);
        Numeric lots(1);
        Numeric testmode(0);//取0为正常版本KD值交易,取1为TB版本KD值交易
Vars
        NumericSeries HighestValue;                               
        NumericSeries LowestValue;                                       
        NumericSeries KValue;//TB中的K值
        NumericSeries        DValue;//TB中的K值
        NumericSeries RSV;       
        NumericSeries K1;//正规的K值
        NumericSeries        D1;//正规的D值

Begin



        HighestValue = HighestFC(High, Length);
       
        LowestValue = LowestFC(Low, Length);

        //TB计算KD
       
        KValue = SummationFC(Close - LowestValue,SlowLength)/SummationFC(HighestValue-LowestValue,SlowLength)*100;
       
        DValue = AverageFC(KValue,SmoothLength);

        //正规KD计算方式

        RSV = (Close-LowestValue)/(HighestValue-LowestValue)*100;

        K1 = SMA(RSV,SlowLength,1);
       
        D1 = SMA(K1,SmoothLength,1);


//调节参数testmode的值,取0调用正常版本KD,取1为TB版本


if(testmode == 0)  //此时正常版KD
{       
        if(CrossOver(K1,D1))
        {
        buy(lots,Close);
        }       
        if(CrossUnder(K1,D1))
        {
        SellShort(lots,Close);
        }
}

if(testmode == 1)  //此时TB版KD
{       
        if(CrossOver(KValue,DValue))
        {
        buy(1,Close);
        }       
        if(CrossUnder(KValue,DValue))
        {
        SellShort(1,Close);
        }
}
       
End

使用道具 举报

Rank: 2

精华
0
UID
111224
积分
94
帖子
42
主题
14
阅读权限
30
注册时间
2012-6-27
最后登录
2016-11-20
4#
发表于 2012-7-2 23:47:23 |只看该作者
KD是最垃圾的指标了。。。图表上看起来美好,各种测试不靠谱。。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 04:48

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部