 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18095 |
回覆: EMA計算式
引用: 最初由 yuan797 發表
版主您好!請教EMA計算式→Y:(2*C+(N-1)*REF(Y,1))/(N+1)我照著原始計算式寫入自設程式裡(不用EMA(C,N))公式調試通過,但為什麼劃不出平均線,是不是要先定義初始Y值,麻煩版主指導修正!謝謝!
舉例來說
運算式 X=A+B+C , 其中 A,B,C,X 均為數列
一般而言程式語言有兩種方法處理這樣的運算
第一種
步驟1: X[1]=A[1]+B[1]+C[1]
步驟2: X[2]=A[2]+B[2]+C[2]
如此一直算下去
第二種
步驟1: 先計算整個 A+B 的結果
步驟2: 算完後再加入 C
最終再將結果給X
在奇狐中採用的是第二種算法
--------------------------------------------------------------------------
EMA 算法
若Y=EMA(X,N) 則Y=[2*X+(N-1)*Y']/(N+1), 其中Y'表示上一週期Y值。
Y' 為上一週期已經算完的 Y值
故您想另寫公式來算, 必需採用迴圈技巧
以 YY:EMA(C,N); 為例, 自寫公式另算範例如下:(累算範例)
原碼:
XX:=C;
StNo:=lbound(XX);
YY:XX*0;
YY[StNo]:=XX[StNo];
for I=StNo+1 to datacount do begin
YY[I]:=(2*XX[i]+(N-1)*YY[I-1])/(N+1);
end;
|
|
向版主報告此篇 |  |
|
2008-06-16 09:23 |
|
|
|  |
 |
38ORCHID
初級會員
註冊日期: Jul 2010
來 自:
文章數量: 3 |
請問如果平滑均線的第一組數值要以簡單平均的算法求出,程式該如何寫?例如50均,在第50根K的位置以MA(C,50)算法,但第51根之後要用EMA(C,50)的算法,謝謝!
|
|
向版主報告此篇 |  |
|
2010-07-18 22:54 |
|
|
|  |
 |
38ORCHID
初級會員
註冊日期: Jul 2010
來 自:
文章數量: 3 |
要取MA(C,50)的數值,第52根起取EMA(C,50)的數值,謝謝!
|
|
向版主報告此篇 |  |
|
2010-07-19 10:53 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|