input: OpenGapRatioLow(2, "開盤漲跌幅低 (%)"), OpenGapRatioHigh(3, "開盤漲跌幅高 (%)");
input: RaiseRatioLow(5, "嘎空漲跌幅低 (%)"), RaiseRatioHigh(7, "嘎空漲跌幅高 (%)");
input: RaiseRatioTimeStart(093000, "開始時間"), RaiseRatioTimeFinish(100000, "結束時間");
// 開高
condition1 = GetField("Open", "D") > GetField("RefPrice", "D");
// 股價介於 2 ~ 3%
variable: PriceChangeRatio(0);
PriceChangeRatio = ((close - GetField("RefPrice", "D"))/GetField("RefPrice", "D")) * 100;
condition2 = OpenGapRatioLow <= PriceChangeRatio and priceChangeRatio <= OpenGapRatioHigh;
if condition1 and condition2 then begin
// 時間介於 0930 ~ 1000
condition3 = RaiseRatioTimeStart < time and time < RaiseRatioTimeFinish;
while condition3 begin
// 更新當前最新漲跌幅
PriceChangeRatio = ((close - GetField("RefPrice", "D"))/GetField("RefPrice", "D")) * 100;
condition4 = RaiseRatioLow <= PriceChangeRatio and priceChangeRatio <= RaiseRatioHigh;
if condition4 then begin
ret = 1;
break;
end;
end;
end;
將警示進行回測時,發現回測都跑不出結果來,不確定是沒有符合策略的情境還是說語法表示錯誤
還請大大們幫忙 review
1 評論