漲跌幅問題

  •   333 
  • 最後發表   阿林  2022 十一月 09
阿林 發文於   2022/11/03

請問小幫手 我的問題如下

今天3272 因該要觸發而未觸發 我有print出問題

Value5 = GetQuote("漲跌幅");

我腳本有寫Value5 >= 5.7 其他檔股票都沒問題 都有觸發

但就這一檔3272沒觸發

然後我去看我的print 當時最高價在57的時候

我print的Value5當時顯示的漲跌幅是5.565863

可是當時明明漲幅就已經超過5.7%了

然後我去看其他有正常觸發的print他的Value5都是有符合當下的漲跌幅說

不知道為何就這檔3272有問題 再麻煩小幫手了

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/11/07

Hello 阿林,

 

小幫手推測可能是高點的那個價格剛好因為快市沒有洗到,所以導致沒有觸發。

漲跌幅的計算方式是 (最新一筆成交價 - 當日參考價)/當日參考價 * 100%,所以如果剛好快市洗價沒有洗到那筆最高的價格,是可能發生這種情形。

可以在print的時候印出成交價 (close)和 參考價 來確認。

若要避免這樣的狀況,可以用 參考價 欄位搭配high / low來計算漲跌幅。

 

如果要確認問題原因的話,要麻煩您提供策略雷達匯出檔勾選(包含)警示腳本 以及 XQ Log。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小幫手才能盡早處理)。

感謝。

 

阿林 發文於   2022/11/08

感謝小幫手 那如小幫手說的 若要避免這樣的狀況,可以用 參考價 欄位搭配high / low來計算漲跌幅

請問如果要避免快市而沒洗到價 是要改寫哪種語法 才能避免呢?

 

還有一個問題請教小幫手 我頻率使用兩分鐘

value10 = Average(GetField("收盤價", "D"),120);

120日的均價 我有寫這個 可是執行起來 很多錯誤

是不是這個函數沒辦法在兩分鐘的頻率使用呢?

XQ小幫手 發文於   2022/11/09

 Hello 阿林,

 

1.舉例來說,您可以用 100 * (high - getfield("參考價", "D")) / getfield("參考價", "D") 和 100 * (low - getfield("參考價", "D")) / getfield("參考價", "D") 來計算昨日到當根Bar的漲幅和跌幅,這樣就不會剛好因為洗價而被跳過。

 

2.您的寫法沒有問題,小幫手認為應該是資料引用筆數不足所導致。

可以使用 setbackbar 來設定。

發表回覆
Close