Use type safety for RSI indicator

This commit is contained in:
Luke I. Wilson
2023-05-20 13:01:12 -05:00
parent 1516604889
commit ed08bd275d
2 changed files with 18 additions and 18 deletions

View File

@@ -5,16 +5,16 @@ import (
)
func TestRSI(t *testing.T) {
prices := NewSeries("Prices", 1., 0., 2., 1., 3., 2., 4., 3., 5., 4., 6., 5., 7., 6.)
prices := NewFloatSeries("Prices", 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6)
rsi := RSI(prices, 14)
if rsi.Len() != 14 {
t.Errorf("RSI length is %d, expected 14", rsi.Len())
}
if !EqualApprox(rsi.Float(0), 100) {
t.Errorf("RSI[0] is %f, expected 0", rsi.Float(0))
if !EqualApprox(rsi.Value(0), 100) {
t.Errorf("RSI[0] is %f, expected 100", rsi.Value(0))
}
// TODO: check the expected RSI
// if !EqualApprox(rsi.Float(-1), 61.02423) {
// t.Errorf("RSI[-1] is %f, expected 100", rsi.Float(-1))
// }
if !EqualApprox(rsi.Value(-1), 63.157895) {
t.Errorf("RSI[-1] is %f, expected 63.157895", rsi.Value(-1))
}
}