跨周期使用KD指标中的D值:
Range[0:DataSourceSize() - 1]
{
HighestValue = HighestFC(High, KDLength);
LowestValue = LowestFC(Low, KDLength);
SumHLValue = SummationFC(HighestValue-LowestValue,KDSlowLength);
SumCLValue = SummationFC(Close - LowestValue,KDSlowLength);
If(SumHLValue <> 0)
{
KValue = SumCLValue/SumHLValue*100;
}Else
{
KValue = 0;
}
}
DValue = AverageFC(KValue,KDSmoothLength);
Data[1].DValue = Data[1].AverageFC(Data[1].KValue,KDSmoothLength);
同一公式,同一品种,在策略研究的回测、图表交易和A函数交易中,跨周期Data[1].Dvalue值不一样,特别是在回测中,Data[1].Dvalue在一段时间内值不变,是个常数。这是什么原因?
如何不一样再举例一下
原因找到了,在Data[1].Dvalue值不变的这一段区域,没有data1这个图层的K线。删掉data1图层,再重新加载一次data1, 就可以了。当是,为什么在“策略单元设置”中加载data1图层时,会缺少一段K线,需要重新加载才能补全?
你看看不变的区域是不是正好data1上一根bar的时间
不变区域的每一根Bar的时间和上一根的都不同。而且,有的品种不会发生这种情况。
那就不知道了,你提供的信息太少,无法确认哪里写错了
原因找到了,在Data[1].Dvalue值不变的这一段区域,没有data1这个图层的K线。删掉data1图层,再重新加载一次data1, 就可以了。当是,为什么在“策略单元设置”中加载data1图层时,会缺少一段K线,需要重新加载才能补全?
请录制或者描述一个详细的操作记录,让我能复现你说的问题。录制视频的话可以看置顶投稿帖发邮件
设定跨周期两个图层
末尾缺一段时间的K线,Data[1].Dvalue显示出一个固定值。
将图层Data1(即30分钟周期)删掉后,再重新加载一次。
末尾一段K线出现,Data[1].Dvalue显示出正常值。
至于为什么第一次设置时,会出现末尾一段K线缺失的原因。还不知道。