大盤加權指數大於60MA

  •   245 
  • 最後發表   gto  2023 九月 19
gto 發文於   2023/09/10

settotalbar(100);
input:days(60,"均線天數");
value1=GetSymbolField("TSE.TW","收盤價","D");
if value1>average(value1,days) then ret=1;

outputfield1(value1,"大盤");
outputfield2(average(value1,days),"大盤均線");

請問60MA 顯示出來的數值不是60均線, 有哪個部分是錯誤的嗎?thx

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/09/19

Hello gto,

 

如果交易商品在過去的60天 (均線天數) 內有發生暫停交易,或是上市櫃時間不夠長的話,計算出來的數字就會有差。

因為 value1 在該天不會執行,故取得的值會是0。

小幫手會建議您將腳本改為

input:days(60,"均線天數");

if value1>average(GetSymbolField("TSE.TW","收盤價","D"),days) then ret=1;

 

outputfield1(value1,"大盤");

outputfield2(average(GetSymbolField("TSE.TW","收盤價","D"),days),"大盤均線");

 

這樣就不需要設定那麼長的資料讀取筆數就可以正常運算,也不會受到商品本身是否有暫停交易的影響。

 

 

gto 發文於   2023/09/19

hi XQ小幫手,

   謝謝您, 完整語法應該如下

input:days(60,"均線天數");

value1=GetSymbolField("TSE.TW","收盤價","D");

if value1<average(GetSymbolField("TSE.TW","收盤價","D"),days) then ret=1;

outputfield1(value1,"大盤");

outputfield2(average(GetSymbolField("TSE.TW","收盤價","D"),days),"大盤均線");

發表回覆
Close