嗨小幫手,
想請問要如何每日抓取過去21個月的成交量總和?
我使用下列語法,都沒辦法顯示任何東西,請問哪裡有問題?
謝謝!
value1=GetField("成交量","M");
Vars: sumVol(0), i(1);
for i = 1 to 21
begin
sumVol = sumVol + xf_GetValue("M", value1, i);
end;
value2 = sumVol / 21;
plot1(value2, "TEST");
嗨小幫手,
想請問要如何每日抓取過去21個月的成交量總和?
我使用下列語法,都沒辦法顯示任何東西,請問哪裡有問題?
謝謝!
value1=GetField("成交量","M");
Vars: sumVol(0), i(1);
for i = 1 to 21
begin
sumVol = sumVol + xf_GetValue("M", value1, i);
end;
value2 = sumVol / 21;
plot1(value2, "TEST");
Hello Hardy,
您腳本中 sumVol 需要在迴圈開始前設為0,不然 sumVol 每根Bar會持續累加上去。
至於沒有顯示,小幫手認為應該是因為xf_GetValue需要向前跑太長的距離所導致。
舉例來說:
value1=GetField("成交量","M");
Vars: sumVol(0), i(1);
if date >= 20220201 then begin //限制要從今年2月以後開始計算
sumVol = 0;
for i = 1 to 21 begin
sumVol = sumVol + xf_GetValue("M", value1, i);
end;
value2 = sumVol / 21;
end;
plot1(value2, "TEST");
這樣就可以算出數值。
另外您也可以使用這樣的寫法,一樣能求得所需的數值:
value1 = average(GetField("成交量","M")[1], 21);
謝謝小幫手,說明的很詳細清楚,也提供我的簡潔的方法。
2 評論