最近寫了交易策略,回測使用警示回測,並選擇選股
進場腳本使用:季線以上
出場腳本使用:跌破20日低點
策略內容如腳本中,每個月篩選一次,篩選季線以上進場後,跌破20日低點出場
目前出場腳本有使用問題
策略腳本如下
{
1. 月營收 連續3個月成長
2. 毛利率 > 35%
3. 季線以上
}
settotalbar(70);
value1 = GetField("月營收", "M");
value2 = GetField("月營收", "M")[1];
value3 = GetField("月營收", "M")[2];
condition1 = value1 > value2 and value2 > value3;
value4 = GetField("營業毛利率", "Q");
condition2 = close > WMA(close,60);
if condition1 and condition2 and value1 >0 and value4 > 35 and close > 15 and average(volume,5) > 500 then ret = 1;
進場腳本:
value1 = WMA(GetField("收盤價", "D"),60);
if GetField("收盤價", "D") > value1 then ret = 1;
出場腳本
value1 = lowest(getField("最低價", "D")[1],20);
if GetField("收盤價", "D") < value1 then ret = 1;
print("=====up====");
print("date",date);
print("close",close);
print("收盤價",GetField("收盤價", "D"));
print("最低價",getField("最低價", "D"));
print("20日最低點",value1);
print("=====down===");
回測設定
根據上述跑出的回測數據有誤,不知道是哪個環節出現問題


看2023/10/2號的數據,收盤價並不是23.75,最低價沒有錯,但20日低點也不是17.95
然而2023/9/1的數據,最低價也不是print出來的結果,而是23.8
已附檔
請問程式碼中哪裡有問題呢,麻煩大神或小幫手解惑

3 評論