(已解決) 加入時間就出現問題了

  •   402 
  • 最後發表   AKai  2024 七月 30
AKai 發文於   2024/07/23

 

// 宣告參數
input:clo1(1.08,"收盤");
input:N_parts(1,"購買部位數量");
variable: close_position_time(false);
variable: Start_trading_time(false);

// 平倉時間「9:1分 ~ 9:5分」
close_position_time = CurrentTime >= 090100 and CurrentTime <= 090459;
// 偵測時間「9:5分 ~ 13:00分」
Start_trading_time = CurrentTime >= 090500 and CurrentTime <= 130000;
//print("時間:", CurrentTime); //print("平倉時間條件:", close_position_time); //print("偵測時間條件:", Start_trading_time); // 平倉 //if close_position_time then ret=0; // 條件 condition1 = close*clo1 < high; // 買進 if Start_trading_time and condition1 then ret=N_parts;

以上是加入「時間的程式碼」

如果還沒有加入的時候是「if condition1 then ret=N_parts;」是可以跑回測的(有內容)

但是我加入了時間判斷,就變成回測都沒有東西了??

是我的用法錯誤了嗎?    那兩個變數....「close_position_time」+「Start_trading_time 」??

 

另外一個問題是 print 在回測的時候,最下面的標籤「執行」裏面也沒有print的內容...

我已經有打勾「啓動腳本內print指令」了...

在選股裏面添加「print("測試測試")」也沒看到

警示裏面添加 print 也沒看到 ....

想說自己 print 一些內容來除錯也沒辦法 ...............0.0

是因爲改成了遠端回測所以沒辦法 print 了??

 

附加文件

排序方式: 標準 | 最新
test999 發文於   2024/07/23

測試過,應該是頻率設定的問題

執行頻率請使用分鐘頻率 ,或是在日頻率的情況下使用模擬洗價,做回測,

才會成功

 

XS小編 發文於   2024/07/30

Hello AKai,

 

網站上有教學區教學影片,裡面有XS語法的基礎和應用可以閱覽。

 

日頻率非逐筆洗價的狀況下回測一天只會有一根Bar,也不會有時間。

您需要勾選逐筆洗價,或使用分鐘頻率。

 

ret = 0; 並不會出場,警示/選股腳本回測時只會在 ret = 1; 時觸發進場,出場則是要依設定的停損停利跟最大持有時間。

警示腳本回測的話可以另外選擇腳本當作出場條件,讓其在出場腳本 ret = 1;時觸發出場。

若要在同隻腳本中進出場,可以使用交易腳本來作回測。

 

print 的檔案預設會在 C:\SysJust\XQLite\XS\Print (預設路徑) 裡面。

若要輸出到其他位置可以搭配使用 file 函數。

 

感謝 test999 的熱心回覆。

發表回覆
Close