谁能帮我看下KDJ金叉做多,死叉做空,但感觉开仓时晚了一点,大神帮我指点一下哪里的问题。

//------------------------------------------------------------------------// 简称: SJ1// 名称: // 类别: 公式应用// 类型: 用户应用// 输出://------------------------------------------------------------------------Params Numeric Length(14); Numeric SlowLength(3); Numeric SmoothLength(3); Vars Series<Numeric> HighestValue; Series<Numeric> LowestValue; Series<Numeric> KValue; Series<Numeric> JValue; Numeric SumHLValue; Numeric SumCLValue; Numeric DValue; Events OnReady() { SetBackBarMaxCount(1+Max(Max(Length,SlowLength),SmoothLength)); } OnBar(ArrayRef<Integer> indexs) { //kdj指标 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); JValue = 3*KValue - 2*DValue; /* PlotNumeric(K,KValue); PlotNumeric(D,DValue); PlotNumeric(J,JValue); PlotNumeric(Ref1,20); PlotNumeric(Ref2,80); */ } //J线上穿K线,金叉做多 If(MarketPosition !=1 and JValue[2] <= KValue[2] and JValue[1] > KValue[1]) { Buy(1,Open); } //J线下穿K线,死叉做空 If(MarketPosition ==1 and JValue[2] >= KValue[2] and JValue[1] < KValue[1]) { SellShort(1,Open); } } //------------------------------------------------------------------------// 编译版本 GS2015.12.25// 用户版本 2019/11/26 14:37:17// 版权所有 taiyueyh04// 更改声明 TradeBlazer Software保留对TradeBlazer平台// 每一版本的TradeBlazer公式修改和重写的权利//------------------------------------------------------------------------

都是按照代码逻辑运行的,不太清楚你说的迟了是什么意思