出場點位的正確性

  •   168 
  • 最後發表   無情卻慈悲  2022 三月 22
無情卻慈悲 發文於   2022/03/11

你好,

我想請教一下,如下語法,是要達1.2%時停利,但是我常常在掛出的價位成交後卻常發現不是有賺1.2%,有時候才0.7%,而SetPosition(0)那邊我也不是設市價,可否請教要怎麼寫才能達到需求?謝

 

//報酬率_ plratio

variable:plratio(0);

if FilledAvgPrice <> 0 then

 plratio = absValue( 100 * (Close - FilledAvgPrice) / FilledAvgPrice )//正負幾%

else   plratio = 0;

//++多單停利(股票):股票(報酬率)

input:_win(1.2,"股票停利%)");

if position > 0   and SymbolType = 2 

and Close - FilledAvgPrice > 0

and plratio >= _win //+1.5%

then begin

    SetPosition(0, FilledAvgPrice*(1+_win/100),label:="停利");

end;

 

 

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2022/03/14

Hello 無情卻慈悲,

 

小幫手確認過print出來的 FilledAvgPrice*(1+_win/100) 沒有問題,確實是符合您預想的價位。

問題應該是出在於您計算時沒有考量到單邊交易費用以及除權息的部分。

關於除權息的部分簡單的作法是用還原價作回測,而手續費的部分則是在計算出場價格時多加上雙邊的交易費用。

舉例來說,若您的單邊交易費用為 0.2%的話:

FilledAvgPrice*(1+(_win+0.4)/100)

無情卻慈悲 發文於   2022/03/14

原來如此,那我再測試一下,感謝了

無情卻慈悲 發文於   2022/03/14

您好,

我想再補一下,

因我寫了一個策略是開盤漲6%~9%就空,1.5%停利,有開洗價,當快漲停(漲9.2%)時要市價出場,但仍然會被軋漲停而無法回補,請問我在寫SetPosition(0, market,label:="多單停損(股票)");  時,是否有什麼方式的寫法可以避免來的及在9.2%時出場成功呢?

XQ小幫手 發文於   2022/03/16

 Hello 無情卻慈悲,

 

由於您提供是用逐筆洗價,且使用市價下單,小幫手認為應該是沒有辦法在設定上優化您的成交速度。

建議您可以考慮提早出場 (ex. 漲9%或更早),以避免被軋漲停。

小幫手會去詢問相關人員是否可以避免這樣的狀況,若有其他方法的話會再回覆。

無情卻慈悲 發文於   2022/03/22

好的,感謝。

我其它發問文 有空的話再麻煩您。

發表回覆
Close