關于KDJ算法的問題
作者:開拓者 TB 來源:cxh99.com 發布時間:2017年12月27日
-
咨詢內容:
書上的KDJ算法是需要算RSV的,但是我看TB的公式,好像沒有算RSV,直接把RSV值當K值了,有人碰到過這樣的問題么?
下面是TB的算法:
Params
? ?? ???Numeric Length(14);? ?? ?? ?? ?? ?? ?? ?? ?
? ?? ???Numeric SlowLength(3);? ?? ???
? ?? ???Numeric SmoothLength(3);
Vars
? ?? ???NumericSeries HighestValue;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
? ?? ???NumericSeries LowestValue;? ?? ?? ?? ?? ?
? ?? ???NumericSeries KValue;
? ?? ???Numeric SumHLValue;
? ?? ???Numeric SumCLValue;
? ?? ???Numeric DValue;
Begin
? ?? ???HighestValue = HighestFC(High, Length);
? ?? ???LowestValue = LowestFC(Low, Length);
? ?? ???SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength);
? ?? ???SumCLValue = SummationFC(Close - LowestValue,SlowLength);
? ?? ???If(SumHLValue <> 0)
? ?? ???{
? ?? ?? ?? ?? ? KValue = SumCLValue/SumHLValue*100;
? ?? ???}Else
? ?? ???{
? ?? ?? ?? ?? ? KValue = 0;
? ?? ???}
? ?? ???DValue = AverageFC(KValue,SmoothLength);
。。。。。。
下面是我認為的算法:
Vars
? ?? ???//此處添加變量
? ?? ???NumericSeries HighestValue;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
? ?? ???NumericSeries LowestValue;? ?? ?? ?? ?? ?
? ?? ???NumericSeries KValue;
? ?? ???NumericSeries DValue;
? ?? ???NumericSeries JValue;
? ?? ?NumericSeries RsvValue;? ?? ?? ?
? ?? ???
? ?? ???Numeric SumHLValue;
? ?? ???Numeric SumCLValue;
? ?? ???
? ?? ???String LogPath( "c:\\tmp\\KDJ_S3.txt");
Begin
? ?? ???HighestValue = HighestFC(High, Length);
? ?? ???LowestValue = LowestFC(Low, Length);
? ?? ???SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength);
? ?? ???SumCLValue = SummationFC(Close - LowestValue,SlowLength);
? ?? ???If(SumHLValue <> 0)
? ?? ???{
? ?? ?? ?? ?? ? RsvValue = SumCLValue/SumHLValue*100;
? ?? ???}Else
? ?? ???{
? ?? ?? ?? ?? ? RsvValue = 0;
? ?? ???}
? ???//當日K值=2/3×前一日K值+1/3×當日RSV
? ???//當日D值=2/3×前一日D值+1/3×當日K值
? ???KValue = 2.0/3.0*KValue[1] + 1.0/3.0*RsvValue;
? ???DValue = 2.0/3.0*DValue[1] + 1.0/3.0*KValue ;
。。。。。。