summaryrefslogtreecommitdiffstats
path: root/test/stoch_rsi.c
blob: e2b9b5476ba9186bd6d87cfd7e7efddd8091d863 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <math.h>
#include <stddef.h>
#include "ts.h"

bool ts_test_stoch_rsi( void )
{
	/* rsi_period=3, stoch_period=3, offset=6 */
	/* close: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 */
	/* RSI all 100 (all gains), so stoch RSI is 0/0 = 0 for all */
	fp_t const x[] = { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };

	fp_t const * const inp[1] = { x };

	fp_t const ek[] = { 0, 0, 0, 0, 0 };
	fp_t const ed[] = { 0, 0, 0, 0, 0 };

	fp_t const * const exp[2] = { ek, ed };

	typedef struct { uint_t rsi_period; uint_t stoch_period; } c_t;
	c_t c = { .rsi_period = 3, .stoch_period = 3 };
	return ts_test(ts_stoch_rsi, ts_stoch_rsi_offset, inp, exp, sizeof( x ) / sizeof( *x ), (ts_constant_t *)&c, &ts_stoch_rsi_p);
}