請小幫手幫我看一下
我想設定條件股價突破近60日最高價
寫法如下
input:period(60,"賣壓區間(日)"); //設定賣壓區間(不含當日),預設60天
value1=highest(high,period)[1]; //定義區間(不含當日)內的最高點
condition10=high>value1;
但我去跑回測時(如附檔)卻發現6535順藥在2021年5月20日跳出訊號
但當天尚未突破2021/04/13日的60內最高點
請問是不是我有哪個地方有寫錯嗎
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;
這三種寫法得出的數值都會是正確的。
1 評論