Indicado.Bollinger.eval
You're seeing just the function
eval
, go back to Indicado.Bollinger module for more information.
Specs
eval(list(), pos_integer(), pos_integer()) :: {:ok, [map(), ...]} | {:error, atom()}
Calculates BB for the list.
Returns list of map [{lower: x, mean: y, upper: z}]
or {:error, reason}
lower
represents low band of bollinger bandmean
represents mean valueupper
represents upper value of bollinger band
Examples
iex> Indicado.Bollinger.eval([1, 2, 3, 4, 5], 2, 2)
{:ok, [%{lower: 0.5, mean: 1.5, upper: 2.5},
%{lower: 1.5, mean: 2.5, upper: 3.5},
%{lower: 2.5, mean: 3.5, upper: 4.5},
%{lower: 3.5, mean: 4.5, upper: 5.5}]}
iex> Indicado.Bollinger.eval([1, 2, 3, 4, 5], 2, 3)
{:ok, [%{lower: 0.0, mean: 1.5, upper: 3.0},
%{lower: 1.0, mean: 2.5, upper: 4.0},
%{lower: 2.0, mean: 3.5, upper: 5.0},
%{lower: 3.0, mean: 4.5, upper: 6.0}]}
iex> Indicado.Bollinger.eval([1, 2, 3, 4, 5], 0, 3)
{:error, :bad_period}
iex> Indicado.Bollinger.eval([1, 2, 3, 4, 5], 5, 0)
{:error, :bad_deviation}