admin 发表于 2017-6-19 16:41:51

[指標例子] 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); &nbsp;//取15分钟收盘价</p><p><span class="Apple-tab-span" style="white-space:pre">        </span>arr2=HisData(Enum_Data_Open,Enum_Period_Day,1,Kind); &nbsp;//取日线的上周期开盘价</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); &nbsp; &nbsp; &nbsp; &nbsp;//求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); &nbsp;//求日线前一周期的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">以上是系統自帶的例子, 但因為要自己填產品代號,&nbsp;<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>&nbsp; &nbsp; &nbsp; &nbsp; 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>); &nbsp;//取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>); &nbsp;//取日线的上周期开盘价</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); &nbsp; &nbsp; &nbsp; &nbsp;//求 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));&nbsp;</p><p><span class="Apple-tab-span" style="white-space:pre">                </span><b><font color="#ff0000">PlotNumeric("MA1", MA1 ,Yellow);</font></b>&nbsp;</p><p><span class="Apple-tab-span" style="white-space:pre">                </span>&nbsp;</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); &nbsp;//求日线前一周期的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]
查看完整版本: [指標例子] DualPeirod 多周期数据处理 + 改良