請問getquote 相關函數 是否只能使用於頻率tick?
我使用頻率: 分鐘
都一直發生錯誤
Hi fij0727,
您好,請提供您的錯誤完整畫面,以利小幫手查看問題的原因,謝謝。
圖片及程式碼
附上了
麻煩協助看一下
程式碼
then raiseruntimeerror("[錯誤],程式中斷,本腳本只適用於Tick!");
if (currenttime>=090000 and currenttime<=133000)
then raiseruntimeerror("[錯誤],程式中斷,本腳本只能使用於091500-133000!");
input:direction(1,"做多/做空:1/0");
input:multiple(2,"委買賣倍數差");
variable:bestBidTotal(0);
variable:bestAskTotal(0);
variable:directionDesc("");
//買
bestBidTotal=q_BestBidSize1+q_BestBidSize2+q_BestBidSize3+q_BestBidSize4+q_BestBidSize5;
//賣
bestAskTotal=q_BestAskSize1+q_BestAskSize2+q_BestAskSize3+q_BestAskSize4+q_BestAskSize5;
if direction=1 then //多
begin
//賣
value1=bestAskTotal/bestBidTotal;
//value1=bestBuySale5(1);//查五檔倍數
directionDesc="多";
end
else //空
begin
value1=bestBidTotal/bestAskTotal;
//value1=bestBuySale5(0);//查五檔倍數
directionDesc="空";
end;
condition1=value1>multiple;
//濾網1:股本不要太大
value2=GetField("億元股本");
condition2=value2<50;
//濾網2:
condition3=bestBidTotal>50 and bestAskTotal>50; //至少每檔要10張以上
if condition1 and condition2 and condition3 then
begin
//==========================================================
//以下為log
//==========================================================
print(file("d:\logs\xq\[date]_[scriptname].log")
,symbol
,symbolname
,FormatDate("yyyy/MM/dd",date)
,FormatDate("yyyy/MM/dd",date[1])
,FormatTime("HH:mm:ss",time)
,directionDesc //多空
,"股本",value2
,"倍數差",numtostr(value1,2)
,"總買",bestBidTotal
,"總賣",bestAskTotal
,"買1",q_BestBidSize1
,"買2",q_BestBidSize2
,"買3",q_BestBidSize3
,"買4",q_BestBidSize4
,"買5",q_BestBidSize5
,"<==>"
,"賣1",q_BestAskSize1
,"賣2",q_BestAskSize2
,"賣3",q_BestAskSize3
,"賣4",q_BestAskSize4
,"賣5",q_BestAskSize5
);
end;
Hi fij0727,
您好,以下這行程式碼有問題,因為億元股本(資料欄位)沒有提供tick頻率
value2=GetField("億元股本");
故請改用億元股本(報價欄位),小幫手修改為 GetQuote("億元股本"); 就可以跑了,請試試看,謝謝。
請問系統有無log
可知道 是這行GetField("億元股本")的問題?
Hi fij0727,
沒有,不過可以從策略雷達執行結果發現相關問題點,
如執行紀錄畫面有寫說,對應資料不存在
故猜測使用到資料可能是不支援 Tick 頻率的資料,在嘗試除錯,就可找到問題點,以上說明,謝謝。
5 評論