想請問小編 如果我使用兩分鐘的K棒 例如我寫 close < high*0.995
那就是會是一個上影線 那假設我用逐筆洗價的方式下去執行
但我又希望雷達不要條件馬上達到就馬上通知我 我希望是
例如 假設這根兩分k棒是9點00分到9點02分這樣
我希望是能不能我用逐筆洗價 但是假設你9點0分30秒達到條件
但不要馬上通知我 等到9點01分30秒 條件一樣有達成
雷達在跳出來告訴我 請問小編 有辦法這樣嗎 感謝!
想請問小編 如果我使用兩分鐘的K棒 例如我寫 close < high*0.995
那就是會是一個上影線 那假設我用逐筆洗價的方式下去執行
但我又希望雷達不要條件馬上達到就馬上通知我 我希望是
例如 假設這根兩分k棒是9點00分到9點02分這樣
我希望是能不能我用逐筆洗價 但是假設你9點0分30秒達到條件
但不要馬上通知我 等到9點01分30秒 條件一樣有達成
雷達在跳出來告訴我 請問小編 有辦法這樣嗎 感謝!
Hello 阿林,
您可以用變數記錄第一次觸發的時間,接著過一定時間 (可以用像是 timeadd 函數) 後再檢查一次看是否有達成。
舉例來說:
var: intrabarpersist _time(0);
condition1 = close < high * 0.995;
if condition1 and _time = 0 then _time = currenttime; //condition1 第一次成立
if _time <> 0 and currenttime > TimeAdd(_time , "M", 1) then begin //過了1分鐘
if condition1 then ret = 1; //如果condition1成立就警示
_time = 0; //重置 _time
end;
感謝小幫手 我再試試看 在請問一個問題
variable:barnumberoftoday(0);
if date <> date[1] then
barnumberoftoday = 1
else
barnumberoftoday+=1;
if barnumberoftoday > 1 and close < high*0.995 then ret =1 ;
我使用的是兩分k棒 我希望close < high*0.995這個條件
要是開盤後的第二根K棒(包含第二根)有達到請電腦通知我
但我寫這樣連第一根有達到條件也會跳出來說
請問小幫手 我哪裡寫錯了呢
Hello 阿林,
小幫手看您的腳本應該是不會觸發在當日第一根Bar,用回測作測試 (其他頻率) 也沒有出現成交在第一根Bar的狀況。
如果可以的話麻煩您提供 策略雷達匯出檔勾選(包含)警示腳本、XQ Log 並告知問題發生的商品和日期時間來測試。
另外您可以用 if IsSessionFirstBar = false,或是 if time <> 090000 來判斷是否不是第一根Bar。
Hello 阿林,
您觸發的時間是 09:04, Bar對應的time是09:02:00,所以是第二根Bar沒錯。
需注意XQ的time是K棒開始的時間,而您設定的腳本執行頻率是2分鐘頻率。
小幫手您好 可是當時9點04分觸發 當時2009是第一根k棒耶
可能是因為有延後開盤 我是用別的軟體看盤 所以他第一根要是有延後開盤 他是第一根收盤不會是9點02分
可是就算這樣 我也有寫date <> date[1] then value1 = high; if value1 <> GetField("最高價", "D")
那照理說 2009 第一根兩分k是當日最高價 是不因該觸發才對 可是卻還是觸發了
再麻煩小幫手了
Hello 阿林,
這是因為對XQ系統來說,這並不是開盤第一根。
XQ會在成交量0的部分補K棒,所以雖然是延後開盤,但XQ還是不會認為該根Bar為當日第一根。
您可以把相關數值print出來即可確認。
要避開這個問題,您可以用開盤的前兩分鐘成交量是否為0來判斷是否為延後開盤。
或是將在系統參數中的不揭示未成交分鐘的選項勾起,這樣09:02延後開盤的Bar就會成為當日第一根。
小幫手您好
我這個系統參數中的不揭示未成交分鐘 本來就已經有勾選起來了耶
那請問還有可能是什麼問題呢
Hello 阿林,
小幫手這邊會測試看勾選 不揭示未成交分鐘 是否會發生相同問題。
如果可以的話,麻煩您提供 XQ Log 來檢驗。
Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。
您可以直接將檔案上傳,如果檔案過大的話也可以Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。
感謝。
好 再麻煩小幫手先幫我測試看看了
11 評論