求問 ~ 是否有在同一個策略下執行時,有新股則先買後賣,庫存股先賣先買皆可的方式?
 
        
        求問 ~ 是否有在同一個策略下執行,有新股則先買後賣,庫存股先賣先買皆可的方式?
- 144
- 最後發表 XQYi 2024 五月 22
盤中第一個Tick進來時用Once判斷是否有庫存,然後用一個變數記錄,例如有庫存就設變數為1,沒有庫存就維持預設的零。後面的程式就用該變數是0或1來判斷怎麼交易。
功力不足,似乎有難度,能指點一二嗎?
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;
如下,進去交易程式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;

//if getinfo("IsRealTime")=0 then return;
Hello, xqyi.
您可以先用許教授的方式試試看,另外回測的時候不會有庫存股,
謝謝。
也謝謝許教授回覆。
 
 
             
         
         
         
         
     
     分類
    分類
 
            
6 評論