变量在赋值的时候忽略其扩展数据类型,只考虑其基本数据类型,即Series,NumericRef,Numeric之间可以相互赋值。此时序列数据类型只是对当前Bar的值进行操作。
以下的写法是错误的:
Vars Series<Numeric> Value2; Events OnBar(ArrayRef<Integer> indexs) { Value2[1] = (Close + Open)/2; }
为啥是错的啊,没有理解这里的说明书。
变量在赋值的时候忽略其扩展数据类型,只考虑其基本数据类型,即Series,NumericRef,Numeric之间可以相互赋值。
是不是说,就是Series,NumericRef,Numeric可以相互赋值,但是需要注意的是Series,只允许对 series[0]也就是当前元素赋值,比如说series[0]=Close;
这很好理解吧。你不能改变过去的序列变量,只能读取。如果能改,那就变成了未来数据了。
就像你昨天买了一组彩票号码,今天看公布的彩票中奖号码,没中奖。你不可能回到昨天,把你买的改成中奖号码。