突破近60日最高價

  •   316 
  • 最後發表   Golly  2021 八月 12
Golly 發文於   2021/08/09

請小幫手幫我看一下
我想設定條件股價突破近60日最高價
寫法如下
input:period(60,"賣壓區間(日)"); //設定賣壓區間(不含當日),預設60天
value1=highest(high,period)[1]; //定義區間(不含當日)內的最高點
condition10=high>value1;

但我去跑回測時(如附檔)卻發現6535順藥在2021年5月20日跳出訊號
但當天尚未突破2021/04/13日的60內最高點

請問是不是我有哪個地方有寫錯嗎

附加文件

XQ小幫手 發文於   2021/08/12

Hello Golly,

 

小幫手猜測您回測時設定是使用日頻率逐筆。

您在腳本中使用的 highest(high,period)[1] 這樣的寫法會讓 highest 裡面的 extremes 跳著運作,但是 extremes 函數需要照順序跑。

進而導致運算錯誤。

小幫手建議您可以修改成以下幾種寫法:

input:period(60,"賣壓區間(日)"); //設定賣壓區間(不含當日),預設60天

value1=highest(high,period); //定義區間(不含當日)內的最高點

condition10=high>value1[1];

 

input:period(60,"賣壓區間(日)"); //設定賣壓區間(不含當日),預設60天

value1=highest(high[1],period); //定義區間(不含當日)內的最高點

condition10=high>value1;

 

input:period(60,"賣壓區間(日)"); //設定賣壓區間(不含當日),預設60天

value1=simplehighest(high,period)[1]; //定義區間(不含當日)內的最高點

condition10=high>value1;

 

這三種寫法得出的數值都會是正確的。

發表回覆
Close