XQ大大您好,一直以來我都會利用date <> date[1]語法來抓開盤後第一根K棒的數據,但由於最近不知道為什麼,在09:01、09:02.....的K棒經常都出現0成交量的K棒,以至於都抓不到任何數據,想問問如果我想抓開盤後第一根"有成交量"的K棒數據,是否可以改寫為....
if date <> date[1] and Volume >0 then begin value1=close; end;
例如這樣寫,會是抓到"有成交量"的第一根K棒的收盤價嗎? 謝謝
XQ大大您好,一直以來我都會利用date <> date[1]語法來抓開盤後第一根K棒的數據,但由於最近不知道為什麼,在09:01、09:02.....的K棒經常都出現0成交量的K棒,以至於都抓不到任何數據,想問問如果我想抓開盤後第一根"有成交量"的K棒數據,是否可以改寫為....
if date <> date[1] and Volume >0 then begin value1=close; end;
例如這樣寫,會是抓到"有成交量"的第一根K棒的收盤價嗎? 謝謝
Hello Eddie Rich,
您應該是遇到暫緩開盤的股票商品。
小幫手建議您可以用 time 和 volume 作區分。
舉例來說,1分鐘頻率下:
if date <> date[1] then value1 = 0;
if time = 090000 and volume <> 0 and value1 = 0 then begin
value1 = close;
end
else if time = 090200 and volume <> 0 and value1 = 0 then begin
value1 = close;
end;
這樣如果開盤第一根Bar沒有成交量的話,就會抓09:02這根Bar的資訊。
小幫手您好,那請問我原本的寫法也是可以抓到第一根 "有成交量" 的K棒數據嗎? 謝謝
Hello Eddie Rich,
應該是不行的,因為如果是暫緩開盤的商品,第一根有成交量是在 090200,前一根Bar會是同一日 (090100 那根Bar)。
所以 date <> date[1] 不會符合。
如果您要取得 當天第一根有成交的Bar的收盤價的話,簡單的寫法是:
if date <> date[1] then begin
value1 = 0;
value2 = 0;
end;
if value1 = 0 and volume <> 0 then begin
value1 = volume;
value2 = close;
end;
這樣就可以取得第一根有成交量的收盤價和成交量。
3 評論