指標數值錯誤仍出現訊號

  •   366 
  • 最後發表   charlie1234  2022 十月 18
charlie1234 發文於   2022/09/13

小幫手好

今天使用看盤頁面時,發現兩個問題

1. 數值的問題

下圖左邊上漲、跟TW50差異,兩個數值應該都是一樣的(用兩種寫法),但是在盤中即時數據,兩個卻是不同的,不知道是不是我寫法的關係,但不管如何,兩個數字都是錯的

2. 盤中重新編譯後,數值跟原本盤中的全都不一樣了,訊號出現位置也不同,但是上漲、跟TW50差異的數值就是正確的,且兩個數值也都一樣

 

請小幫手協助了解原因,檔案已附上,謝謝

 

更新0915

今天再觀察,盤中副圖三個台灣50相關指標數值都是正確的

主要都是主圖內兩個跟台灣50相關的數值有問題,但又不是每根都不對,不知問題在哪,請小幫手協助

 

附加文件

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

Hello charlie1234,

 

小幫手這邊測了一天,沒有發生您說的兩種錯誤狀況。(參考附圖)

如果可以的話麻煩您提供 XQ Log 來檢驗。

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

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

感謝。

 

附加文件

charlie1234 發文於   2022/09/22

 

已email,再麻煩小幫手,謝謝

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

 Hello charlie1234,

 

您提供的圖片的上次修改日期是2021/10/06,Log的上次修改日期是2022/04/13。

圖片看起來也和這次的問題無關。

是否是提供到錯誤的雲端硬碟資料夾?

麻煩您確認一下,感謝。

charlie1234 發文於   2022/09/28

 

真的是給錯了

正確的資料夾,已email

這個問題每天都會發生,但不是每根K棒的數值都會不同,每根都去看就會發現我說的問題了

XQ小幫手 發文於   2022/10/04

Hello charlie1234,

 

您的問題是發生在商品間洗價的時間差所導致。

value1 是變數,會保留當根Bar最後一次洗價的數值。

但是若主商品沒有洗價的話,那麼就算 getsymbolfield 欄位有更新數值,value1 也不會取得。

所以就會造成 value1[1] 所取到的資料可能和 getsymbolfield[1] 的資料不同。

用 getsymbolfield[1] 方式取得的資料會是正確的。

 

另外還有一種狀況是,如果盤中資料有修正的話,value1[1] 和 getsymbolfield[1] 取得的資料也會不相同。

這種狀況下也有可能會造成兩者的偏差,但這種狀況應該比較少見。

charlie1234 發文於   2022/10/06

小幫手好

觀察了幾天,發現用getsymbol反而數值有問題,請看以下影片

https://drive.google.com/file/d/1B_UDtQqUynKy3VvAiMqcknEyXAuzJ1jJ/view?usp=sharing

新的頁面已附上,請協助

 

另外,我想知道用value1跟用getsymbol,在XQ的運作上有何差異

兩者在數值的變動上,是在怎樣的時機點會發生? 跟主圖tick的變化是否有關,或是跟時間有關等

謝謝

 

附加文件

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

Hello charlie1234,

 

關於影片的部分,小幫手會請相關人員確認問題原因。

請問您用的版本是?(如果是.09.05的話可能是因為取值錯誤的bug)

 

至於value1和getsymbolfield的差異,主要在於getsymbolfield是直接去取資料,而value1是取腳本運算的結果,兩者會因為tick洗價的關係導致不同。

舉例來說,1分鐘頻率下,執行商品在 103000 這根Bar的最後一次洗價是在 10:30:45,此時 value1=getsymbolfield("TSE50.SJ","TW50創新高家數") 取得的數值是10好了。

但當103000這根Bar結束時,TW50創新高家數 的數值可能會改變 (ex.12)。

而因為執行商品沒有洗價,所以value1 就停留在最後一次取得的數值 (10),導致會和實際數值不同。

在下一根bar (103100) 運算時,getsymbolfield("TSE50.SJ","TW50創新高家數")[1] 會取得12,而 value1[1] 則會是10。

charlie1234 發文於   2022/10/11

小幫手好,感謝回覆

我沒升級到.09.05版

希望能儘快找出問題所在

 

XQ小幫手 發文於   2022/10/18

Hello charlie1234,

 

影片部份的問題,其實狀況和上面所說相同,主商品 與 getsymbolfield 取得商品的洗價時間差導致。

雖然由創新高家數來看,應該是value1為正確的,但這是以主商品洗價時取得的資訊來看value1是正確的。

實際上 getsymbolfield 目標商品最後收Bar的值並不相同,所以TW50差異在計算時,value1[1] 和 getsymbolfield[1] 是不同的,getsymbolfield[1] 和上根Bar運算取得的 getsymbolfield 也不一定相同。

 

至於要如何取到該根Bar收的最後值,就小幫手所知沒有保證一定正確的辦法,不過若在指標設定時將即時更新指標取消勾選的話,就會在Bar結束時才運算,大部分情況下應該會是正確的值。

(還是有可能會有時間差的影響,或是之後資料更正的話沒法即時更新除非F5重新讀取)

若要保證看到的值是正確的,就只能在當根Bar使用上根Bar的資訊來計算。

 

附加文件

charlie1234 發文於   2022/10/18

謝謝小幫手回覆

看來取用上一根的值會是比較好的選項

不過,對於即時洗價取到的值,我覺得還是有點問題,希望貴公司能確認下

用value1跟getsymbolfield取到的值有差異,我可以理解,但數值上應該是不至於差異太大,

但以下面這張圖來看,TW50差異這個值,一個-13,一個2,以50檔股票來說,這個差的會不會太多了點?? 

是因為用到50家數值的關係嗎? 但副圖不管是用value或getsymbolfield數值又都一樣,

這樣大的落差又是因何而來的呢? 真的有點怪,請小幫手了解下,謝謝

PS: TW50差異是附圖1或2的當根高低差數值(1)減掉(前一根(-1) (下下圖)=2

 

 

顯示更多回應 發表回覆
Close