如題 我試過取多月的 但是取到都是0
月營收 可以用陣列方式取多個月的資料嗎?
- 196
- 最後發表 Weston 2020 八月 28
Weston大 您好
想詢問您是怎麼撰寫陣列的呢?
小幫手測試了一下發現是可以抓取多月數據的
ex 下圖為我用陣列撰寫月營收累積量,以2348為例 他的數值是會正常的

一定要宣告陣列?
我抓MA
var: ma200(0);
ma200 = average(close, 200);
condition3 = countif(ma200 > ma200[1], 100) = 100;
這樣用可以耶 也有print出來看過
我取多個月營收的方式跟取MA一樣 宣告時是宣告一般變數 並不是宣告為陣列
使用的時候用陣列的方式取值 結果都是0
你的範例是宣告一個陣列變數 然後用for loop把值塞進去
所以說 月營收 要取多個月 一定要用這方式嗎? 不能跟取MA一樣?
var: sales(0);
sales= getfield("月營收", "M");
然後我用
sales[2],sales[3] 這樣子取到都是0
Weston大 您好
如果您只是單純想取資料的話是不需要用到陣列的,
直接抓取就好
以下程式碼為例
var: sales(0);
sales= getfield("月營收", "M");
outputfield1(sales,"1");
outputfield2(getfield("月營收", "M")[1],"2");
outputfield3(getfield("月營收", "M")[2],"3");
ret=1;
如果你是想取sales前幾期的資料,您不能直接用[1] 因為是要抓前一月的資料
而不是前一日的資料

那為什麼ma的資料可以?
ma200 = average(close, 200);
然後我可以抓ma200[1], ma200[2]?
Weston大 您好
您可以用
getfield("月營收", "M")[1]
與sales[1]
分別跑看看會比較有感覺
getfield("月營收", "M")[1]是取前一個月的資料 ("m"本身是跨頻率的寫法)
sales[1]並非跨頻率,而是您原本的頻率下的前一期 也就是昨天的月營收財報
以2330為例 7月營收 105,963,468 6月 120,877,785
今天為8/28 sales[1] 為8/27
以最新一期的財報你不管今天看財報 還是昨天看財報都是7月的
---
ma是按照每天去計算的,所以數值會隨天期變動的
8 評論