hi,
如下列程式碼:
print(file("C:\print\策略1.txt"), "========================================================");
print(file("C:\print\策略1.txt"), "GetBarBack", GetBarBack, "currentbar", currentBar);
print(file("C:\print\策略1.txt"), "Datetime", dateTime, "Date", date, "currentdate", currentDate, "currentTime", currentTime, "close:", getfield("收盤價", "D", Adjusted:=true));
print(file("C:\print\策略1.txt"), "前高", simpleHighest(getfield("最高價", "D", Adjusted:=true)[1], 100), "dateTime", datetime[100]);
value1 = simpleHighest(getfield("最高價", "D", Adjusted:=true)[1], 100);
在交易回測一年時是可以print 出東西來的
但回測兩年時則print不出任何東西 ------------------> 這是本次遇到的問題
主要設定如下:
執行頻率:日 (原始)
開始日期:2020/6/11 結束日期2021/6/11 預先執行筆數200
商品: 2401
看起來我的預先執行筆數應該是夠用的,因為我只拿了100天前的收盤價,且XS應該會自動幫我設定適合的最大引數
但當我拿掉 value1 = simpleHighest(getfield("最高價", "D", Adjusted:=true)[1], 100); 這行後發現code就能work了
可以print出東西
而且其實我的GetBarBack是有一直在增加的,當它增加到100時
print(file("C:\print\策略1.txt"), "前高", simpleHighest(getfield("最高價", "D", Adjusted:=true)[1], 100), "dateTime", datetime[100]); 這行就可以print的出來
如下部分 output:
========================================================
GetBarBack 97.000000 currentbar 1.000000
Datetime 20191205000000.000000 Date 20191205.000000 currentdate 20200930.000000 currentTime 0.000000 close: 12.780000
========================================================
GetBarBack 98.000000 currentbar 1.000000
Datetime 20191206000000.000000 Date 20191206.000000 currentdate 20201005.000000 currentTime 0.000000 close: 12.780000
========================================================
GetBarBack 99.000000 currentbar 1.000000
Datetime 20191209000000.000000 Date 20191209.000000 currentdate 20201006.000000 currentTime 0.000000 close: 13.070000
========================================================
GetBarBack 100.000000 currentbar 1.000000
Datetime 20191210000000.000000 Date 20191210.000000 currentdate 20201007.000000 currentTime 0.000000 close: 12.930000
前高 14.490000 dateTime 0.000000
========================================================
GetBarBack 100.000000 currentbar 2.000000
Datetime 20191211000000.000000 Date 20191211.000000 currentdate 20201007.000000 currentTime 0.000000 close: 12.830000
前高 14.490000 dateTime 0.000000
========================================================
GetBarBack 100.000000 currentbar 3.000000
Datetime 20191212000000.000000 Date 20191212.000000 currentdate 20201007.000000 currentTime 0.000000 close: 12.880000
前高 14.490000 dateTime 0.000000
========================================================
GetBarBack 100.000000 currentbar 4.000000
Datetime 20191213000000.000000 Date 20191213.000000 currentdate 20201007.000000 currentTime 0.000000 close: 12.680000
前高 14.490000 dateTime 0.000000
========================================================
所以不知道為甚麼
print(file("C:\print\策略1.txt"), "========================================================");
print(file("C:\print\策略1.txt"), "GetBarBack", GetBarBack, "currentbar", currentBar);
print(file("C:\print\策略1.txt"), "Datetime", dateTime, "Date", date, "currentdate", currentDate, "currentTime", currentTime, "close:", getfield("收盤價", "D", Adjusted:=true));
print(file("C:\print\策略1.txt"), "前高", simpleHighest(getfield("最高價", "D", Adjusted:=true)[1], 100), "dateTime", datetime[100]);
value1 = simpleHighest(getfield("最高價", "D", Adjusted:=true)[1], 100);
一年回測可以執行,但兩年回測卻不能執行
/////////////////////////////////////////////////////////////////////////////////////////////////////
print(file("C:\print\策略1.txt"), "========================================================");
print(file("C:\print\策略1.txt"), "GetBarBack", GetBarBack, "currentbar", currentBar);
print(file("C:\print\策略1.txt"), "Datetime", dateTime, "Date", date, "currentdate", currentDate, "currentTime", currentTime, "close:", getfield("收盤價", "D", Adjusted:=true));
print(file("C:\print\策略1.txt"), "前高", simpleHighest(getfield("最高價", "D", Adjusted:=true)[1], 100), "dateTime", datetime[100]);
value1 = simpleHighest(getfield("最高價", "D", Adjusted:=true)[1], 100);
一年回測可以執行,兩年回測也可以執行
感謝您
3 評論