設定期數並設停損利(%)用來回測,成交次數大幅減少

  •   121 
  • 最後發表   比胖還胖  2024 十月 01
比胖還胖 發文於   2024/08/28

你好:

我編寫XS交易程序,設定期數並設停損利(%)用來回測我的選股策略,結困成交次數大幅減少,好像時間沒到就被賣出

我的程序碼如下,請惠予協助改正謝謝.

input:ordersize_w(25, "每筆交易金額(萬)");

input:profit_percent(25,"停利(%)");

input:loss_percent(10,"停損(%)");

input:hold_days(60,"持有天數");

 

  var: order_price(0); { 預期委託價格 }

  var: order_qty(0); { 換算後數量 }

  var: Limit_days(0);            { 期限 }

 

  order_price = AddSpread(Close, 1);

  order_qty = floor((ordersize_w * 10000) / (order_price * 1000));

 

 

if Position = 0 

and position = filled

then begin

 

      SetPosition(order_qty+position,market);

  Limit_days=dateAdd(currentDate,"d",hold_days);

  

   end else

   

      if Position > 0 

      and position = filled

      then begin

         if profit_percent > 0 and Close >= FilledAvgPrice*(1+0.01*profit_percent) then begin

    { 停利 }

            setposition(0, market);

return;

     end

  else if loss_percent > 0 and Close <= FilledAvgPrice*(1-0.01*loss_percent) then begin

{ 停損 }

         setposition(0, market);

return;

     end

  else if Limit_days<>0 and currentDate >= Limit_days then begin

{ 到達持有期數 }

         setposition(0, market);

return;

   end;  

end;

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

記錄出場日期應該用date,而非currentDate。

比胖還胖 發文於   2024/08/29

謝謝許教授,我再試試

比胖還胖 發文於   2024/08/29

結果跟選股回測接近了,謝謝你

XS小編 發文於   2024/09/02

Hello 比胖還胖,

 

就小編所知,在回測中 currentDate 和 date 回傳的資訊應該是相同的。

您可以嘗試將其print出來確認。

 

或許是回測的設定造成不同,要麻煩您提供兩次有所差異的回測設定和腳本來確認。

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

感謝。

比胖還胖 發文於   2024/09/02

小編你好:

經我自己測試結果,好像沒有控制持有天數

檢附選股及交易壓縮檔,煩請協助改正

    謝謝

附加文件

XS小編 發文於   2024/09/06

Hello 比胖還胖,

 

您交易策略中使用的是日頻率,故變數若需要在同根K棒中保存數值的話 (ex. Limit_days),就需要使用 intrabarpersist 宣告。

這樣 Limit_days 的值才會是正確的。

intrabarpersist 的運作原理可參考連結說明。

 

建議可以在腳本中加上 print 會更容易找出問題原因。

比胖還胖 發文於   2024/09/06
穩穩賺 發文於   2024/09/25

請問 程式中的  

Close >= FilledAvgPrice*(1+0.01*profit_percent)

若要成 :  未平倉成本+點數20 可否寫成 

Close >= FilledAvgPrice+20

虎科大許教授 發文於   2024/09/25

可以。

XS小編 發文於   2024/09/30

Hello 穩穩賺,

 

小編補充,您也可以參考 AddSpread 函數。

差別在於 AddSpread 計算的是依照商品跳動點加減幾檔後的價格

 

感謝 虎科大許教授 的熱心回覆。

顯示更多回應 發表回覆
Close