求問 ~ 是否有在同一個策略下執行,有新股則先買後賣,庫存股先賣先買皆可的方式?

  •   144 
  • 最後發表   XQYi  2024 五月 22
XQYi 發文於   2024/04/27

求問 ~ 是否有在同一個策略下執行時,有新股則先買後賣,庫存股先賣先買皆可的方式?

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/04/27

盤中第一個Tick進來時用Once判斷是否有庫存,然後用一個變數記錄,例如有庫存就設變數為1,沒有庫存就維持預設的零。後面的程式就用該變數是0或1來判斷怎麼交易。

XQYi 發文於   2024/04/27

功力不足,似乎有難度,能指點一二嗎?

虎科大許教授 發文於   2024/04/27

if getinfo("IsRealTime")=0 then return;

var: intraBarPersist hasStock(false);

once(true)

if filled<>0 then hasStock=true else hasStock=false;

if hasStock=false then

begin

//非庫存,處理先買後賣

end

else

begin

//有庫存,處理先買後賣或先賣後買

end;

XQYi 發文於   2024/04/27

如下,進去交易程式setpositio(),放進去後 回測無任何交易, 對調後亦無交易

(原本則有先買進或先賣出的交易)

if getinfo("IsRealTime")=0 then return;

var: intraBarPersist hasStock(false);

once(true)

if filled<>0 then hasStock=true else hasStock=false;

if hasStock=false then

begin

//非庫存,處理先買後賣

if  condition91 and (value15> value14 or value17 > value16)  then setposition(position+1,close,label:="買1");

end

else

begin

//有庫存,處理先買後賣或先賣後買

if  condition92 and (value15 < value14 or value17 < value16) then setposition(position-1,close,label:="賣1");

end;

虎科大許教授 發文於   2024/04/27

//if getinfo("IsRealTime")=0 then return;

XQ小幫手 發文於   2024/05/22

 

Hello, xqyi.

您可以先用許教授的方式試試看,另外回測的時候不會有庫存股,

謝謝。

也謝謝許教授回覆。

發表回覆
Close