警示跟指標差異

  •   186 
  • 最後發表   stone77  2024 六月 04
stone77 發文於   2024/05/26

指標跟回測都一樣寫法,指標有按想要的標出進出訊號,回測卻有不樣的結果

2024-01-16 ex-long 是多倉平倉,回測報告確是"買進" 2024-01-17 short     是放空 回測報告 "賣出"‵ 2024-01-17 short     又變成買進一筆   技術指標跟警示是同一支程式,在技術指標 2024-01-16↓  是"ex-long "多倉平倉 2024-01-17 ▼是"short"放空 技術指標是正確,回測結果卻差很多

      if Position = 0 and longcondition then begin
// SetPosition(1);
    position=1;
// retmsg="long↑";ret=1;
plot11(L ,"long↑");
end else if  
Position = 1  and  exitlongcondition then begin
    position=0;
// retmsg="ex-long↓"; ret=1;
    plot12(H,"ex-long↓");
end else if _Position =0  and  short
condition then begin
// SetPosition(0);
    position=-1;
//   retmsg="short▼";ret=1;
plot13(H,"short▼");
end else if _Position = -1 and exit
short_condition then begin
// SetPosition(0);
    _position=0;
// retmsg="ex-short▲";ret=1;
plot14(L,"ex-short▲");
end;

附加文件

排序方式: 標準 | 最新
XS小編 發文於   2024/05/29

Hello stone77,

 

就您提供的資訊要小編推測的話,可能是兩邊計算的起始點不同,導致position數值不同,進而造成差異。

指標的position是變數,什麼時候都可以改變,但交易腳本的position代表著策略的部位,只有在回測區間才會改變。

若回測開始時的兩邊的position不同,那麼數值自然也會不同。

小編會建議您可以讓兩邊從相同地方開始計算,且指標的position值要到回測期間時才能夠改變,交易回測時也要勾選觸發即判斷成交和下出市價單,這樣兩者應該會比較貼近。

搭配使用 print 和 plot 把相關數值輸出會更容易確認。

 

若還是有問題的話,要麻煩您提供 頁面匯出檔勾選(包含)指標腳本、交易腳本、回測的設定 (截圖或回測報告皆可) 以及 XQ Log 讓相關人員確認。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以保存到雲端後將連結Mail至客服信箱 XQservice@XQ.com.tw 且務必附上 討論文章連結網址(小編才能盡早處理)。

感謝。

stone77 發文於   2024/05/29

Hi!

謝謝!

在發此文之前,已把所提到的資訊經由電郵提共給貴司,只是沒收到回覆才發此文.

已想放棄自動交易之發想.

XS小編 發文於   2024/06/04

Hello stone77,

 

郵件的問題和討論區的問題處理的人員不同。

故若您提供相關資料時沒有告知討論區的問題連結的話,會由不同人處理。

 

小編看了一下您的腳本,有些點是需要注意的:

1.您的回測是使用警示腳本,警示腳本沒有部位的概念,只能夠選擇多方或空方,沒辦法多空都作。

  在選擇多方的情況下,不管觸發什麼,ret = 1; 都只會是買進。

  出場的部分ret = 1;則只會是平倉。

  要能夠多空都作的只有交易腳本。

 

2.腳本中使用到需要使用到前期計算值的指標 (ema),資料讀取筆數不夠。

  就以7期EMA來說,會需要至少28筆出來的數值才會是正確的,且您還有計算ema的ema,所需的期數至少要2倍。

  您可以把ema的相關數值印出確認。

 

3._position變數可能會因為計算起始點的不同,導致回測區間內有不同的數值。

  若希望回測和指標的 _position 相同,要讓兩者從相同的地方開始計算比較穩定。

  小編會建議單純一點,不要使用 _position,單純畫出是哪個condition會比較容易核對。

 

發表回覆
Close