您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

求助:编写一个关于kd指标策略的代码 - TradeBlazer公式 [开拓者 TB]

  • 咨询内容: K线上穿D线,追价买入,止损和止赢各设10个点
          K线下穿D线,追价卖出,止损和止赢各设10个点

     

  • TB技术人员: 回复 1# chockstick1985

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

     

  • TB客服: 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

     

  • 网友回复: KD是最垃圾的指标了。。。图表上看起来美好,各种测试不靠谱。。

 

如果以上指标公式不适用于您常用的行情软件

或者您想改编成选股公式,以便快速选出某种形态个股的话,

可以联系我们相关技术人员 QQ: 262069696  点击在线交流进行 有偿 改编!

 


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容