均線

  •   220 
  • 最後發表   superlin  2019 一月 23
superlin 發文於   2019/01/22

我把均線改成 EMA 計算  可是跑出來的還是以SMA ,請問是哪裡出了問題    謝謝

 

 

 

input:Period1(9),Period2(26),Period3(50);

 

variable: ema1(0), ema2(0), ema3(0);

 

SetInputName(1,"短均線");

SetInputName(2,"中均線");

SetInputName(3,"長均線");

 

settotalbar(3);

 

ema1 = average(close, period1);

ema2 = average(close, period2);

ema3 = average(close, period3);

 

condition1 = close > ema1;

condition2 = ema1 > ema2;

condition3 = ema2 > ema3;

 

if condition1 and condition2 and condition3 then 

ret = 1;

 

SetOutputName1("短均線");   

OutputField1(ema1);

SetOutputName2("中均線");   

OutputField2(ema2);

SetOutputName3("長均線");   

OutputField3(ema3);

XQ小幫手 發文於   2019/01/23

Hi superlin,

您好,請把以下程式碼

ema1 = average(close, period1);
ema2 = average(close, period2);
ema3 = average(close, period3);

改成如下程式碼

ema1 = ema(close, period1);
ema2 = ema(close, period2);
ema3 = ema(close, period3); 

再將資料筆數設為 200 筆,應該就會是 EMA 均現了,如附檔選股策略範例。

 

錯誤的原因,是因為 average 函數是計算 SMA,改成 EMA 函數即可計算 EMA,

記得資料筆數要設定足夠,小幫手設定 200 筆跑出來的數值較為正確,

以上方向供您參考,謝謝。

附加文件

發表回覆
Close