cross under 沒有觸發停損

  •   49 
  • 最後發表   十倍百倍千倍  2024 八月 06
十倍百倍千倍 發文於   2024/07/27

Hello,

我寫了一個自動交易程式想在第一根5分開突破做多 , 跌破第一根5分低點停損 , 但是在回測時發現有時候會觸發停損(例如:2388),但有時候不會觸發停損(4142),我寫的程式及回測設定如附件,我看了2天了但看不出來為什麼,可以幫忙看看嗎?

附加文件

排序方式: 標準 | 最新
十倍百倍千倍 發文於   2024/07/29

看來這工具只能玩玩並不能實際用來交易, 條見觸發沒停損導致巨大損失這個太危險 , 我個人淺見大家見的開心 

虎科大許教授 發文於   2024/07/30

大部份網友看到你這四百多行的程式碼,應該都會覺得心有餘而力不足吧,畢竟要花不少時間。建議你不要把六個策略寫在一個腳本,而是一個策略一個腳本,這樣偵錯比較容易,程式編譯及執行效率也會比較高。

十倍百倍千倍 發文於   2024/07/30

感謝教授回應,不過可能是否有誤會小弟程式包含註解只有134行? 

策略就是以每日第一根5分加上一些為了過度交易及風控加的條件,例如:

1. 開超高或超低盤不交易 

absvalue(OpenLongPercentage) <= OpenPercentage

2. 第一根5分K幅度太太不交易(停損%太大)

Open5KPercentageLimit >= absvalue(Open5KPercentage)

3. 第一根5分K交易量放大才交易(有波動)

Open5KVolTodayvsYesterday > Open5KVolTodayvsYesterdayIndex 

DayVolYesterdayVsTwoDays > DayVolYesterdayVsTwoDaybeforeIndex

4. 交易量太小不交易

Open5KVolumn > Open5KVolMin

 

現在的問題是,停損價(第一根5分K低點)到的時候,停損不會觸發

if close cross under order_stoploss_price then begin 

//跌過停損價,市價全數平倉 

SetPosition(0,AddSpread(Open5KLowPrice,-2),label:="多單跌過停損價"); 

Print("多單停損",CLOSE); 

end; 

再次感謝有空協助幫我看這個問題並給我指教,謝謝。

 

XS小編 發文於   2024/08/06

Hello 十倍百倍千倍,

 

因為您使用逐筆洗價進行回測,故很有可能是變數沒有保存住K棒內洗價的數值。

可參考 intrabarpersist 說明,以此宣告變數避免這種狀況發生。

小編這邊測試可以正常出場 (參考附圖)。

附加文件

發表回覆
Close