指定腳本每4分55秒執行一次

  •   394 
  • 最後發表   shawnjimmysu  2023 六月 02
shawnjimmysu 發文於   2023/05/24

請問大家,我目前有一個交易的腳本,是利用5分K做收盤價為進出場判斷,但回測時發現因為是以收盤價為條件,實際進出場會發生在符合條件的下一根5分K開盤,若想要讓腳本一樣在5分K的頻率下,改成以每根5分K收盤前5秒的成交價做為進出場的判斷,該如何寫?

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/05/26

 Hello shawnjimmysu,

 

目前XQ沒辦法在固定時間洗價。

如果您希望在回測時可以成交在運算當根的收盤價,可以勾選觸發即判斷成交選項。

說明可以參考教學文章

shawnjimmysu 發文於   2023/05/27

感謝小幫手的回覆,來測試看看,另外想詢問,若是在實際執行自動交易時,也有這樣的功能嗎?

bowen 發文於   2023/05/27

策略雷達 開逐筆洗價 加入條件

currentTime >= timeadd(timeAdd(time,"M",4),"S",55)

可以寫成這樣觸發

自動交易可以試看看

  • 按讚來自於
  • shawnjimmysu
XQ小幫手 發文於   2023/05/29

Hello shawnjimmysu,

 

沒有,但是您可以下條件達成當下的限價單。

舉例來說:

condition1 = 買進條件;

if condition1 and position = 0 and filled = 0 then setposition(1, close);

這樣就會下出條件觸發當下的成交價限價單。

 

bowen 的寫法在即時的狀況下會在該根Bar最後5秒鐘時符合。

但需注意如果商品沒洗價,或是不是剛好在 4:55 的時候洗價的話,腳本就不會在4分55秒時運算執行。

 

感謝 bowen 的熱心回覆。

shawnjimmysu 發文於   2023/05/29

感謝小幫手及bowen回答,請問小幫手:bowen的寫法,是在4:55這一秒若沒有洗價,就不會執行,還是4:55~5:00這5秒內都沒有洗價,才不會執行?  

bowen 發文於   2023/05/29

>=  所以是5秒內

  • 按讚來自於
  • shawnjimmysu
shawnjimmysu 發文於   2023/05/30

不好意思再請問,我這樣加入腳本的開頭條件是正確的嗎?

if currentTime >= timeadd(timeAdd(time,"M",4),"S",55) then

 

begin
......................
..................
...................
end;

bowen 發文於   2023/05/30

把你要觸發的判斷式加入

and currentTime >= timeadd(timeAdd(time,"M",4),"S",55) 就行

 記得頻率是5分K

  • 按讚來自於
  • shawnjimmysu
XQ小幫手 發文於   2023/06/02

Hello shawnjimmysu,

 

您可以將相關數值印出,會比較好理解 currentTime >= timeadd(timeAdd(time,"M",4),"S",55) 是什麼意思。

其實就是本機的時間要大於K棒開始的時間加上4分又55秒。

這樣只要腳本洗價運算的時間點位於5分K的最後5秒話條件就會符合。

 

網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。

感謝 bowen 的熱心回覆。

 

  • 按讚來自於
  • shawnjimmysu
發表回覆
Close