回測資料問題

  •   67 
  • 最後發表   KKuramas  2021 六月 02
KKuramas 發文於   2021/05/31

你好,寫了 一個30K警示語法,其中希望MACD OSC增加且 收盤價大於前一K棒最高點

  input: FastLength(23), SlowLength(46), MACDLength(9);

  variable: difValue(0), macdValue(0), oscValue(0);

  SetInputName(1, "DIF短期期數");

  SetInputName(2, "DIF長期期數");

  SetInputName(3, "MACD期數");

  MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

  value5=average(GetField("成交量","D"),5);  //抓日資料計算5日平均量

  input: Length(39), RSVt(13), Kt(13);

  SetInputName(1, "計算期數");

  SetInputName(2, "RSVt權數");

  SetInputName(3, "Kt權數");

  variable: rsv(0), k(0), _d(0);

 Stochastic(Length, RSVt, Kt, rsv, k, _d);

 value5=average(GetField("成交量","D"),5);  //抓日資料計算5日平均量

  If  close>high[1]

 and volume > volume[1]

 and oscValue>=oscValue[1] 

 and K<= 60

 and Value5>=900

 then ret=1;

 

但回測的結果卻顯示出許多收盤價低於前收盤價的情況且成交量也有同樣的問題,

 例如  3037 

 10:00 收盤 90.6 量 1307

 10:30 收盤 90 量 730

 是否可請小幫手指點語法哪裡需要修正呢? 謝謝!

 

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2021/06/01

Hello KKuramas,

 

小幫手猜測您應該是在回測時進場價格選項勾選下期開盤價。

所以實際上達成的時間是 2021/04/13 10:00 ,但是會在10:30那根的開盤價進場。

附上 2021/04/13 10:00 的運算數值:

收盤價 90.6 前最高價 90.3

成交量 1307 前成交量 1048

OSC -0.138351 前OSC -0.165592

K 26.727071 

Value5 21077.2

可以看到上面的值符合您所設定的條件。

  • 按讚來自於
  • kuramas
KKuramas 發文於   2021/06/02

好的,謝謝您

發表回覆
Close