小編您好 我寫了一個警示策略 但在回測時發現有些進場點跟我設想的位置不大一樣
我不確定是哪寫錯!
我的想法是在突破20日內的高點進場


但以這支金麗科舉例
第一 回測時出現7/22 7/23 7/24 7/27四天的進場點 但回圖上檢視 卻發現並沒有突破區間內的高點(高點在80的價位)
第二 20日區間的整理幅度有不是我設定的22% 照圖上去計算應該有60%
不曉得是哪裡有問題
附上我的警示策略語法
kevin0428 您好
小幫手覺得問題出在這段
if (h1-l1)/l1<=ratio/100 then
begin
condition3 =volume> average(volume,5);
condition4 =high crosses over h1;
condition5 =difValue > 0;
condition6 =value1 > 0;
condition7=close > h1;
end;
我用程式的判斷邏輯解釋給您聽
假設1/22 (h1-l1)/l1<=ratio/100 這條件有符合
所以近來 condition3 4 5 6 7 判斷 而其中5 6 7 為true
而如果1/25 (h1-l1)/l1<=ratio/100 不符合
那condition5 6 7 的紀錄依然會是true
因為 (h1-l1)/l1<=ratio/100 這個沒成立 所以程式讀不到其中的條件 使 condition做判斷
您可以使用print功能去觀看 會比較了解其中意涵
-----
您的解決辦法有兩種
1. 把(h1-l1)/l1<=ratio/100 分別寫進condition裡
ex condition3 =volume> average(volume,5) and (h1-l1)/l1<=ratio/100;
2. 把if (h1-l1)/l1<=ratio/100 then 後面寫一段 else
condition3=false condition4=false ......
感謝 可以了!!
3 評論