停損出場

  •   401 
  • 最後發表   阿達16  2021 四月 23
阿達16 發文於   2021/04/21

不好意思,小幫手

請問我用交易裡面的出場設定%數

跑回測

為何超出他那所設定的%數

排序方式: 標準 | 最新
Mick 發文於   2021/04/21

建議你把你的程式碼貼出來比較能抓到問題點~

XQ小幫手 發文於   2021/04/22

Hello 阿達16,

 

當回測執行時,會將對應頻率的 bar 拆成 OHLC 四個Tick來檢查 (逐筆洗價的話頻率是1分鐘)。

如果這四個價位有那個符合了出場的定義的話 (低於設定的出場%數),那就會依照您的設定 (此筆收盤價、次筆開盤價或交易腳本中設定的出場價格/方式) 價位來出場。

並不是依您設定的出場%數所換算的價格出場,所以是有可能會超出所設%數

阿達16 發文於   2021/04/22

{

多單停損(%)

}

 

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

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

 

var: long_condition(false); { 進場買進作多 }

 

範例:

 

均線穿越時以市價買進1張

以成交價為基礎, 設定固定的停損/停利價格, 觸及時出場

}

 

long_condition = Average(Close, 5) cross over Average(Close, 20);

 

if Position = 0 and long_condition then begin

SetPosition(1, MARKET);{ 以市價買進 }

end;

 

if Position = 1 and Filled = 1 then begin

{ 依照成本價格設定停損/停利 }

 

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

{ 停利 }

SetPosition(0);

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

{ 停損 }

SetPosition(0);

end;

end;

不好意思~

我是用交易裡面的出場%數

mick大 就是這組 來跑回測

小幫手您好

所以如您所說

那我應該怎麼設定呢  是在腳本裡面設定一分鐘線嗎

還是該怎麼改呢~~~

XQ小幫手 發文於   2021/04/23

Hello 阿達16,

 

小幫手這邊可以給建議,但能不能成交在您理想的價格還是要看市場實際情況。

舉例來說,現在價格是100,您設停損2%,可是下根 Bar 跳空價格跌為97的話,系統還是只能幫你成交在97而不是98。

 

基本上在回測時會建議您開啟模擬逐筆洗價功能,這樣就算您用頻率使用日,系統還是會用頻率1分鐘的價格在模擬,所以您的進出場點就可以更精確。(自動交易中心日頻率預設就是開啟的)

此外,您也可以考慮改用限價單,但這樣的缺點就是不保證成交。

為了避免沒有停損的情況發生,您可以考慮多一層保護。舉例來說,您停損可以設兩個百分比,如2%和2.5%,在2%的時候用限價的方式,在2.5%的時候用市價的方式。這樣就可以確保在被貫破的情況下也可以出場。

發表回覆
Close