工程師您好:
請問使用雷達 要搜尋開盤量第一筆單大於1000張的個股 該怎麼寫程碼? 頻率設tick? 欄位找無此功能
謝謝
謝謝工程師
請問要搜尋超過第一筆超過1000張的指令 該加 在哪?
謝謝~
if getfielddate("Date") <> getfieldDate("Date")[1] then begin
value1 = 0;
while GetField("SeqNo", "Tick")[value1] >= GetField("SeqNo", "Tick")[value1 + 1] begin
value1 += 1;
end;
print(date, time, GetField("Volume", "Tick")[value1]);
end;
請問工程師:
如果要用雷達搜尋開盤量過1000張 請問指令該怎麼加?
謝謝
Hello 東尼,
如果您是要偵測開盤第一筆是否有超過1000張的話 (需注意此腳本只有在換日開盤的第一根Bar作計算):
if getfielddate("Date") <> getfieldDate("Date")[1] then begin
value1 = 0;
while GetField("SeqNo", "Tick")[value1] >= GetField("SeqNo", "Tick")[value1 + 1] begin
value1 += 1;
end;
if GetField("Volume", "Tick")[value1] > 1000 then begin
ret = 1;
print(date, time, GetField("Volume", "Tick")[value1]);
end;
如果您是要偵測現在這筆有沒有超過開盤的第一筆,且開盤第一筆超過1000張的話:
var: _record(0);
if getfielddate("Date") <> getfieldDate("Date")[1] then begin
value1 = 0;
while GetField("SeqNo", "Tick")[value1] >= GetField("SeqNo", "Tick")[value1 + 1] begin
value1 += 1;
end;
_record = GetField("Volume", "Tick")[value1];
end;
if GetField("Volume", "Tick") > _record and _record > 1000 then begin
ret = 1;
print(date, time, GetField("Volume", "Tick")[value1], GetField("Volume", "Tick"));
end;
謝謝工程師指導~~
請問xQ小幫手,啟動這樣語法的策略雷達(資料讀取到已啟動)CPU使用率都會飆高(甚至看過100%).
有沒有其他改善方法?
Hello nicksun,
由於這是要抓到Tick頻率的資訊,所以會需用迴圈,導致運算變大。
小幫手建議您可以使用1分鐘頻率非逐筆,且偵測的商品不要太多,這樣效能應該就不會在開盤的時候暴漲。
7 評論