Indicado.Bollinger.eval

You're seeing just the function eval, go back to Indicado.Bollinger module for more information.
Link to this function

eval(list, period, devation)

View Source

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 band
  • mean represents mean value
  • upper 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}