我該如何在 EA 程式中撰寫取得如圖中顯示的 MA 值 (21.7691) ?
感謝您的幫忙。
你增加MA时 选择了 参数 First Indicator's data ,那么就是说这个条红色MA实际是对CCI做的移动平均计算后得出的。
两种解决方案:
1. 在EA中你可以先获得CCI的值,然后再对其进行移动平均计算。 或者,
2. 设计一个指标对CCI进行移动平均计算,然后在EA中调用这个指标。
你增加MA时 选择了 参数 First Indicator's data ,那么就是说这个条红色MA实际是对CCI做的移动平均计算后得出的。
两种解决方案:
1. 在EA中你可以先获得CCI的值,然后再对其进行移动平均计算。 或者,
2. 设计一个指标对CCI进行移动平均计算,然后在EA中调用这个指标。
你好,我先用一個迴圈收集 CCI 的 14 週期元素值,然後用 iMAOnArray() 去計算 移動平均值。
但是奇怪的是, iMAOnArray() 算出來的值和指標視窗出現的 MA 值不一樣。
我把相關的程式碼貼在下面,可以請您幫我看看是哪邊弄錯了嗎? 感謝萬分。
ArrayResize(cciArry,14); for(int i=0;i<14;i++) { cciArry[i]=iCCI(tradeItem,0,14,PRICE_CLOSE,i); } cciAvg = iMAOnArray(cciArry,0,14,0,MODE_SMA,0);
你好,我先用一個迴圈收集 CCI 的 14 週期元素值,然後用 iMAOnArray() 去計算 移動平均值。
但是奇怪的是, iMAOnArray() 算出來的值和指標視窗出現的 MA 值不一樣。
我把相關的程式碼貼在下面,可以請您幫我看看是哪邊弄錯了嗎? 感謝萬分。
代码没有错。
你加载CCI指标时 用的是 PRICE_CLOSE ? ,加载MA指标时用的是MODE_SMA? 估计你的问题出在这二者。
代码没有错。
你加载CCI指标时 用的是 PRICE_CLOSE ? ,加载MA指标时用的是MODE_SMA? 估计你的问题出在这二者。
为什么你还纠结这个问题?
都已经给你指出来了,你的代码没有问题。
问题在于你指标视窗中的均线用的是MODE_EMA,可是的你的代码中用的是SMA
ArrayResize(cciArry,14); for(int i=0;i<14;i++) { cciArry[i]=iCCI(tradeItem,0,14,PRICE_CLOSE,i); } cciAvg = iMAOnArray(cciArry,0,14,0,MODE_SMA,0); // 你代码中用的是SMA
我該如何在 EA 程式中撰寫取得如圖中顯示的 MA 值 (21.7691) ?
感謝您的幫忙。