請問setposition的問題,同一根K棒內要加碼的寫法

  •   158 
  • 最後發表   小毛  2022 一月 12
小毛 發文於   2022/01/10

在網頁上寫到

 

[交易指令的優先順序

如果一個腳本內有多個交易指令的話,那系統怎麼決定要執行哪些交易指令呢?我們看以下的範例:

 

複製程式碼

if condition1 then SetPosition(1);

if condition2 then SetPosition(2);

if condition3 then SetPosition(3);

在上面這個範例內,有可能因為condition1,condition2,condition3的狀態而呼叫了不同的交易指令,甚至先呼叫了SetPosition(1),然後又呼叫了SetPosition(3)。當遇到這種情形時,系統會如何決定要執行哪一個交易指令呢?

 

目前XS自動交易的執行方式是只執行第一個交易指令,忽略之後的交易指令。以上面腳本範例而言,如果condition1是false,condition2是true,condition3也是true的話,那麼當次洗價的第一個交易指令是SetPosition(2),所以系統會執行這一個,至於之後呼叫的SetPosition(3)則予以忽略。

 

 

 

我的問題是,如果在一個腳本中,希望condition2為真時,進一口,同一根K棒中,價位跑到condition3也為真時,再加1口,要怎麼寫?也就是如同網頁上的

if condition1 then SetPosition(1);

if condition2 then SetPosition(2);

if condition3 then SetPosition(3);

我希望當condition1、2、3依序成真時,能夠直接加碼,該怎麼寫?

 

XQ小幫手 發文於   2022/01/12

Hello 小毛,

 

腳本每次運算只會執行一次交易指令。

所以不能在同次執行中加碼。

但如果您知道 condition1 condition2 condition3 會依序達成的話,那麼你可以把腳本改成

if condition3 then SetPosition(3);

if condition2 then SetPosition(2);

if condition1 then SetPosition(1);

這樣就會優先執行在上面的交易指令。

發表回覆
Close