在交易腳本測試時有把print印出,抓到的macd及macd[1]是正確的,但在自動交易時macd及macd[1],print出來後卻不正確,請問該怎麼解
MACD的讀取,自動交易與交易腳本不一樣
- 423
- 最後發表 測不同 2025 二月 25
虎科大許教授
發文於
2025/02/17
執行自動交易,預設讀取資料筆數100筆,用來計算MACD是不夠的。回測時會由回測期間開始計算MACD,計算的數值在最前面的兩三百筆之後就會計算出正確的MACD。你要讓兩者一樣,在執行自動交易時,設定讀取資料筆數300筆以上就會一樣了。
測不同
發文於
2025/02/18
setTotalBar(6000);
input: Length(76, "天數"), RSVt(7, "RSVt權數"), Kt(7, "Kt權數"),difs(19,"dif短天"),difl(38,"dif長天"),macdl(12,"macd天");
stochastic(Length, RSVt, Kt, rsv15, k15, _d15);
MACD(WeightedClose,difs,difl,macdl,_dif,_macd,_osc);
我已經預讀改到6000了 還是會發生第一筆資料 macd數字不正確 macd[1]=0 的問題,感覺預載是無效的。
跑的是30分K,沒有跨頻率還需要另外宣告要走的是30分K嗎?
虎科大許教授
發文於
2025/02/18
(1)最前面的一、兩百筆指標數值不正確,是正常現象,因為XQ需要跑足夠的資料筆數計算指標,指標數值才會正確。
(2)主頻率若是30分鐘,計算的技術指標也是30分鐘指標,則用你寫的Stochastic及MACD計算即可,不需要跨頻率。
測不同
發文於
2025/02/19
虎科大許教授
發文於
2025/02/19
你比較的兩個策略並不相同,也許第二個策略沒有使用Print指令,所以沒有顯示相關數據。
測不同
發文於
2025/02/20
虎科大許教授
發文於
2025/02/20
兩個策略都是主頻率5分鐘,且沒有跨30分K計算技術指標?
你可能需要提供更完整的資訊,不然很難猜。
測不同
發文於
2025/02/20
測試的那個跑5分是為了快速得出數值是否正確,
在執行的是跑30分,沒有跨頻率
都沒有跨頻率
完整資訊是指甚麼
測不同
發文於
2025/02/20
完整資訊是需要上傳程式給你們看嗎?
虎科大許教授
發文於
2025/02/20
若你願意,也可以直接貼到論壇來。主要是程式碼,並告知使用的頻率。
11 評論