求助:编写一个关于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是最垃圾的指标了。。。图表上看起来美好,各种测试不靠谱。。
如果以上指标公式不适用于您常用的行情软件
或者您想改编成选股公式,以便快速选出某种形态个股的话,
- 上一篇:请高手帮忙写个 黄金分割?有没人想过将…
- 下一篇:没有了!
相关文章
-
没有相关内容