循环BUG,求解答
2023-03-01 15:53


复权的888指数合约和具体的合约,第二三根K线,在公式里的循环少算了一步,如图:

data-href=data-href=

for循环的bug还是指数复权的bug?

公式如下:

Params

Vars

Bool IsRollover(True);//是否后复权

Bool IsRolloverRealPrice(True);//是否映射真实价格

Bool IsAutoSwapPosition(True);//是否自动换仓

Bool IgnoreSwapSiganlCalc(True); //是否忽略换仓信号计算

//----------------------------

Numeric Minpoint;

Numeric count;

Global Array<Numeric> everypArr;

Global Array<Numeric> countArr;

Events

OnInit()

{

Range[0:DataCount-1]

{

If(IsRollover)

{

AddDataFlag(Enum_Data_RolloverBackWard());//设置后复权

}

If(IsRolloverRealPrice)

{

AddDataFlag(Enum_Data_RolloverRealPrice());//是否映射真实价格

}

If(IsAutoSwapPosition)

{

AddDataFlag(Enum_Data_AutoSwapPosition());//设置自动换仓

}

If(IgnoreSwapSiganlCalc)

{

AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//设置忽略换仓信号计算

}

}

}


OnBar(ArrayRef<Integer> indexs)

{

Minpoint=MinMove*PriceScale*Rollover;

count=(High-Low)/Minpoint;


//更新数组

If(CurrentBar<3)

{

Numeric i;

Commentary(count=+Text(count));

For i= 0 To count

{

Numeric arrlength;

arrlength=GetArraySize(everypArr);

Commentary(i=+Text(i));

Commentary(arrlength=+Text(arrlength));

everypArr[arrlength]=Low+ i*Minpoint;//复权和不复权少算一步???????

}

}

}


评论区
xnzc01

谢谢!

2023-03-07 15:51
xnzc01

2023-03-06 15:26
xnzc01

两种minmove的取值是一致的呀。这跟minmove有什么关系,不是根据count的次数来循环的吗。两个count的取值都是一样的,但是循环的次数不一样

2023-03-01 16:15
顶部