//------------------------------------------------------------------------ // 简称: DualPeirod // 名称:多周期数据处理 // 类别: 交易指令 // 类型: 用户应用 //------------------------------------------------------------------------ Params String Kind("ZCE CF 309"); //品种名称 Vars NumericArray arr1; NumericArray arr2; Begin arr1=HisData(Enum_Data_Close,Enum_Period_Min,15,Kind); //取15分钟收盘价 arr2=HisData(Enum_Data_Open,Enum_Period_Day,1,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值 Print(Kind+"的日线前一周期MA值为:"+Text(MA2)); } End
以上是系統自帶的例子, 但因為要自己填產品代號, 比較麻煩, 我們可以將它改成自己獲取當前圖表產品代號, 並改為可以自己週較參數:
//------------------------------------------------------------------------ // 简称:myDualPeirod // 名称:多週期數據處理 // 类别: 交易指令 // 类型: 用户应用 //------------------------------------------------------------------------ //------------------------------------------------------------------------ Params Numeric nMin(15); Numeric nDay(1); Vars NumericArray arr1; NumericArray arr2; Begin
//自己將原代碼改良 //1) 可以自行輸入任意數值 //2) 不須要自己輸入產品代碼, 直接取當前圖表產品代碼 Symbol //3) 再加上直接以段顯示於圖上
arr1=HisData(Enum_Data_Close,Enum_Period_Min,nMin,Symbol); //取15分钟收盘价 arr2=HisData(Enum_Data_Open,Enum_Period_Day,nDay,Symbol); //取日线的上周期开盘价 if(ArrLength(arr1)==0) { Print("暂未获取到15分钟数据"); } Else { Numeric MA1=iMA(arr1); //求 n分钟线的当前MA值 Print(Symbol+"的 " + text(nMin) + " 分钟线当前MA值为:"+Text(MA1)); PlotNumeric("MA1", MA1 ,Yellow); } if(ArrLength(arr2)==0) { Print("暂未获取到日线数据"); } Else { Numeric MA2=iMA(arr2,20,1); //求日线前一周期的MA值 Print(Symbol+"的日线前一周期 MA值为:"+Text(MA2)); PlotNumeric("MA2", MA2 ,Green); } End
|