变量在赋值的时候忽略其扩展数据类型,只考虑其基本数据类型

变量在赋值的时候忽略其扩展数据类型,只考虑其基本数据类型,即Series,NumericRef,Numeric之间可以相互赋值。此时序列数据类型只是对当前Bar的值进行操作。

以下的写法是错误的:

Vars     Series<Numeric> Value2; Events OnBar(ArrayRef<Integer> indexs) {     Value2[1] = (Close + Open)/2; }

 

为啥是错的啊,没有理解这里的说明书。

赋值语句左右值必须使用同类数据类型
map数据类型赋值
数据类型
参数声明的数据类型错误
For语句控制变量赋值问题
关于跨数据源变量赋值的问题
数据类型
莫名其妙的指标失效情况
自定义序列变量赋值失败的问题
错误 关系运算语句的左右值的数据类型必须相同

变量在赋值的时候忽略其扩展数据类型,只考虑其基本数据类型,即Series,NumericRef,Numeric之间可以相互赋值。

 

是不是说,就是Series,NumericRef,Numeric可以相互赋值,但是需要注意的是Series,只允许对 series[0]也就是当前元素赋值,比如说series[0]=Close;

这很好理解吧。你不能改变过去的序列变量,只能读取。如果能改,那就变成了未来数据了。

就像你昨天买了一组彩票号码,今天看公布的彩票中奖号码,没中奖。你不可能回到昨天,把你买的改成中奖号码。