全部股票回測都顯示「選股策略執行錯誤」

  •   210 
  • 最後發表   奔雷  2020 十月 09
奔雷 發文於   2020/10/02

您好,我發現以下程式碼會會讓每檔股票的回測都顯示「選股策略執行錯誤」

 

input: FastLength(12, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數");
variable: difValue(0), macdValue(0), oscValue(0), volumeValue(0), avgVolumeThreeDays(0), highestVolumeThreeDays(0);
variable: monthlyIncome(0), seasonalIncomePercent(0);
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
volumeValue = GetField("成交量");
avgVolumeThreeDays = (volumeValue[0] + volumeValue[1] + volumeValue[2]) / 3;
highestVolumeThreeDays = Highest(volumeValue, 3);
monthlyIncome = GetField("月營收");
ret = 1;

 

但是當我把 monthlyIncome = GetField("月營收"); 這行註解掉後,程式就會正常執行(買入每一檔股票,因為我直接寫 ret=1;)。

 

請問這是什麼原因呢?

 

附件有我的策略的存檔與匯出的報表。

附加文件

排序方式: 標準 | 最新
奔雷 發文於   2020/10/02

我發現註解掉其它行也可以讓程式正常執行,例如這樣

input: FastLength(12, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數");
variable: difValue(0), macdValue(0), oscValue(0), volumeValue(0), avgVolumeThreeDays(0), highestVolumeThreeDays(0);
variable: monthlyIncome(0), seasonalIncomePercent(0);
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
//volumeValue = GetField("成交量");
//avgVolumeThreeDays = (volumeValue[0] + volumeValue[1] + volumeValue[2]) / 3;
//highestVolumeThreeDays = Highest(volumeValue, 3);
monthlyIncome = GetField("月營收");
ret = 1;

究竟是什麼原因導致「選股策略執行錯誤」呢?

XQ小幫手 發文於   2020/10/06

奔雷 您好

因為您這邊要改成這樣

monthlyIncome = GetField("月營收","M");

主要是頻率的問題

 

奔雷 發文於   2020/10/09

了解了,感謝小幫手 ^^

發表回覆
Close