跨周期跨合约历史数据获取 系统提供了HisData函数供用户方便获取跨周期、跨合约的历史数据。 HisData函数的返回值为一个数组(NumericArray)。数组中的数据按照时间由近到远的顺序存储。 数组与序列变量有着本质的区别。序列变量必须依赖图表,而数组完全脱离了图表。 可以使用内置的"数组函数"对数组进行操作,具体使用方法详见函数手册。 不能将一个数组作为函数的参数传给一个序列变量,如不能使用Average函数计算数组的均值。而应当使用iMA函数计算。 跨周期示例如下: Params String Kind("CF205"); //品种名称 Vars NumericArray arr1; NumericArray arr2; Begin arr1=HisData(Enum_Data_Close,Enum_Period_Min15,Kind); //取15分钟收盘价 arr2=HisData(Enum_Data_Open,Enum_Period_Day,Kind); //取日线的上周期开盘价 if(ArrLength(arr1)==0) { Print("暂未获取到15分钟数据"); } Else { Numeric MA1=iMA(arr1); //求15分钟线的当前MA值 Print(Kind+"的15分钟线当前MA值为:"+Text(MA1)); } if(ArrLength(arr2)==0) { Print("暂未获取到日线数据"); } Else { Numeric MA2=iMA(arr2,20,1); //求日线前一周期的MA值 以下给出了一些常用数组函数的介绍: |