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