全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
已解决
跨周期KD指标
xlyshch 分享到
2023-03-29 11:37

如下两个工作区:

甲:策略单元设置

       Data0:P2305,1分钟周期

       Data1:P2305,15分钟

       加载如下公式:(KD指标公式)

OnBar(ArrayRef<Integer> indexs)

{

Range[0:DataSourceSize() - 1]

{

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);

}

//PlotNumeric(\"K\",Data[1].KValue,0,Yellow);

PlotNumeric(\"D\",Data[1].DValue,0,Cyan);

}

乙:Data0;P2305,15分钟周期

       加载如下公式:(KD指标公式)

OnBar(ArrayRef<Integer> indexs)

{

Range[0:DataSourceSize() - 1]

{

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);

}

//PlotNumeric(\"K\",KValue,0,Yellow);

PlotNumeric(\"D\",DValue,0,Cyan);

}

请问在同一时刻,甲工作区中的Data[1].DValue 和 乙工作区中的DValue是否相等?

       


kyover

就现在的代码看起来应该是一致的

2023-03-29 13:42
xlyshch
@kyover

应该是相等的,但是,运行一段时间就不同了。要刷新后,才相同。请教这是什么原因?

\"\"

2023-03-29 14:37
kyover
@xlyshch

不太清楚 需要复现

2023-03-29 16:23
xlyshch
@kyover

你复现?

2023-03-29 20:49
xlyshch
@kyover

这个问题能解决吗?

2023-03-30 21:35
bert718

1.如果是瞬间不一致,后面还是一致的,应该策略单元执行有先后,一个tick,无法严格意义上同时执行。

2.如果不一致一直持续,那是多数据源对齐时,有一个冻结序列变量和信号的机制,现在的版本是会偶然发生不一致的情况,下个版本优化了这个问题,请关注最新版本升级。

2023-03-30 22:03
xlyshch
@bert718

不是瞬间不一致,而是持续不一致。刷新页面后,会一致一段时间,但运行一段时间后,又持续不一致。谢谢回复!

2023-03-31 09:20
您未登录,请先 登录注册 后发表评论
顶部