XS寫法或bug協助

  •   179 
  • 最後發表   chaoyueh  2020 八月 06
chaoyueh 發文於   2020/08/05

小幫手好

請協助了解以下三個寫法有啥不同

情況是這樣的,我使用選股做回測,採用條件1的方式,後來需要變成警示策略

因寫法1沒有提供程式碼,所以改用寫法2,用選股的回測,結果完全一致

然要轉成警示策略時,提醒了漲跌幅的函數是不可用的

所以只好再用了寫法3,但此時回測結果就不一樣了

寫法三回測選到的股票,在寫法1,2都會有,但寫法1, 2會多出一些股票

煩請協助了解是何問題?

或是協助改寫,讓回測結果可以跟寫法1,2一樣

謝謝

 

寫法1: 點選選股條件,無程式碼

寫法2: 

input: minrate(6,"當日漲幅");

condition1=getfield("漲跌幅","D")>minrate;

if condition1 then ret=1;


寫法3: 

input: minrate(6,"當日漲幅");

condition1=(close-closeD(1))/(closed(1))>minrate/100;

if condition1 then ret=1;

附加文件

排序方式: 標準 | 最新
chaoyueh 發文於   2020/08/05
XQ小幫手 發文於   2020/08/05

chaoyueh大 您好

主要的原因在於您在「寫法3」的地方,

似乎誤解了漲跌幅的公式了

漲跌幅的公式為:(當期收盤價 - 當期參考價)/當期參考價  * 100%

所以您應該改成

input: minrate(6,"當日漲幅");

condition1=(close-GetField("參考價","D"))/GetField("參考價","D")>minrate/100;

if condition1 then ret=1;

跑去來的結果就會相同了,如下圖所示

左邊為寫法3(改) 右邊為寫法2

以上提供給您參考

chaoyueh 發文於   2020/08/05

謝謝小幫手的回應

經回測,沒問題了,

 

不過參考價這個名稱,真是難以聯想啊....

 

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

chaoyueh大 您好

像這類的公式您想做確認的話,

其實可以在編碼器按F7 ,

就會有地方可察看運算式,

(我也是查那邊才知道的XDD)

 

 

發表回覆
Close