Skip to content
New: Star-import, signal unraveling, Python 3.12 support, and more

#
supertrend module

Module with SUPERTREND.

## SUPERTREND class

    SUPERTREND(
        wrapper,
        input_list,
        input_mapper,
        in_output_list,
        output_list,
        param_list,
        mapper_list,
        short_name,
        level_names
    )

Supertrend indicator.

Superclasses

- Analyzable
- AttrResolverMixin
- Cacheable
- Chainable
- Comparable
- Configured
- ExtPandasIndexer
- HasSettings
- IndexingBase
- IndicatorBase
- PandasIndexer
- Pickleable
- PlotsBuilderMixin
- Prettified
- StatsBuilderMixin
- Wrapping
- `vectorbtpro.indicators.custom.supertrend.ParamIndexer`

Inherited members

- AttrResolverMixin.deep_getattr()
- AttrResolverMixin.post_resolve_attr()
- AttrResolverMixin.pre_resolve_attr()
- AttrResolverMixin.resolve_attr()
- AttrResolverMixin.resolve_shortcut_attr()
- Cacheable.get_ca_setup()
- Chainable.pipe()
- Configured.copy()
- Configured.equals()
- Configured.get_writeable_attrs()
- Configured.prettify()
- Configured.replace()
- Configured.resolve_merge_kwargs()
- Configured.update_config()
- HasSettings.get_path_setting()
- HasSettings.get_path_settings()
- HasSettings.get_setting()
- HasSettings.get_settings()
- HasSettings.has_path_setting()
- HasSettings.has_path_settings()
- HasSettings.has_setting()
- HasSettings.has_settings()
- HasSettings.reset_settings()
- HasSettings.resolve_setting()
- HasSettings.resolve_settings_paths()
- HasSettings.set_settings()
- IndexingBase.indexing_setter_func()
- IndicatorBase.cls_dir
- IndicatorBase.column_only_select
- IndicatorBase.column_stack()
- IndicatorBase.config
- IndicatorBase.dropna()
- IndicatorBase.group_select
- IndicatorBase.iloc
- IndicatorBase.in_output_names
- IndicatorBase.indexing_func()
- IndicatorBase.indexing_kwargs
- IndicatorBase.input_names
- IndicatorBase.lazy_output_names
- IndicatorBase.level_names
- IndicatorBase.loc
- IndicatorBase.output_flags
- IndicatorBase.output_names
- IndicatorBase.param_names
- IndicatorBase.plots_defaults
- IndicatorBase.range_only_select
- IndicatorBase.rec_state
- IndicatorBase.row_stack()
- IndicatorBase.run_pipeline()
- IndicatorBase.self_aliases
- IndicatorBase.short_name
- IndicatorBase.stats_defaults
- IndicatorBase.to_dict()
- IndicatorBase.to_frame()
- IndicatorBase.unpack()
- IndicatorBase.wrapper
- IndicatorBase.xloc
- PandasIndexer.xs()
- Pickleable.decode_config()
- Pickleable.decode_config_node()
- Pickleable.dumps()
- Pickleable.encode_config()
- Pickleable.encode_config_node()
- Pickleable.file_exists()
- Pickleable.getsize()
- Pickleable.load()
- Pickleable.loads()
- Pickleable.modify_state()
- Pickleable.resolve_file_path()
- Pickleable.save()
- PlotsBuilderMixin.build_subplots_doc()
- PlotsBuilderMixin.override_subplots_doc()
- PlotsBuilderMixin.plots()
- StatsBuilderMixin.build_metrics_doc()
- StatsBuilderMixin.override_metrics_doc()
- StatsBuilderMixin.stats()
- Wrapping.regroup()
- Wrapping.resample()
- Wrapping.resolve_column_stack_kwargs()
- Wrapping.resolve_row_stack_kwargs()
- Wrapping.resolve_self()
- Wrapping.resolve_stack_kwargs()
- Wrapping.select_col()
- Wrapping.select_col_from_obj()
- Wrapping.split()

Subclasses

- `vectorbtpro.indicators.custom.supertrend._SUPERTREND`

### apply_func method

    SUPERTREND.apply_func(
        high,
        low,
        close,
        period=7,
        multiplier=3.0
    )

2-dim version of `supertrend_1d_nb`.

### cache_func class variable

### close property

Input array.

### close_above method

    SUPERTREND.close_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is above `other`.

See combine_objs().

### close_below method

    SUPERTREND.close_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is below `other`.

See combine_objs().

### close_crossed_above method

    SUPERTREND.close_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is crossed_above `other`.

See combine_objs().

### close_crossed_below method

    SUPERTREND.close_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is crossed_below `other`.

See combine_objs().

### close_equal method

    SUPERTREND.close_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `close` is equal `other`.

See combine_objs().

### close_stats method

    SUPERTREND.close_stats(
        *args,
        **kwargs
    )

Stats of `close` as generic.

### custom_func method

    IndicatorFactory.with_apply_func.<locals>.custom_func(
        input_tuple,
        in_output_tuple,
        param_tuple,
        *_args,
        input_shape=None,
        per_column=False,
        split_columns=False,
        skipna=False,
        return_cache=False,
        use_cache=True,
        jitted_loop=False,
        jitted_warmup=False,
        execute_kwargs=None,
        **_kwargs
    )

Custom function that forwards inputs and parameters to `apply_func`.

### direction property

Output array.

### direction_above method

    SUPERTREND.direction_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `direction` is above `other`.

See combine_objs().

### direction_below method

    SUPERTREND.direction_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `direction` is below `other`.

See combine_objs().

### direction_crossed_above method

    SUPERTREND.direction_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `direction` is crossed_above `other`.

See combine_objs().

### direction_crossed_below method

    SUPERTREND.direction_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `direction` is crossed_below `other`.

See combine_objs().

### direction_equal method

    SUPERTREND.direction_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `direction` is equal `other`.

See combine_objs().

### direction_stats method

    SUPERTREND.direction_stats(
        *args,
        **kwargs
    )

Stats of `direction` as generic.

### high property

Input array.

### high_above method

    SUPERTREND.high_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `high` is above `other`.

See combine_objs().

### high_below method

    SUPERTREND.high_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `high` is below `other`.

See combine_objs().

### high_crossed_above method

    SUPERTREND.high_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `high` is crossed_above `other`.

See combine_objs().

### high_crossed_below method

    SUPERTREND.high_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `high` is crossed_below `other`.

See combine_objs().

### high_equal method

    SUPERTREND.high_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `high` is equal `other`.

See combine_objs().

### high_stats method

    SUPERTREND.high_stats(
        *args,
        **kwargs
    )

Stats of `high` as generic.

### long property

Output array.

### long_above method

    SUPERTREND.long_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `long` is above `other`.

See combine_objs().

### long_below method

    SUPERTREND.long_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `long` is below `other`.

See combine_objs().

### long_crossed_above method

    SUPERTREND.long_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `long` is crossed_above `other`.

See combine_objs().

### long_crossed_below method

    SUPERTREND.long_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `long` is crossed_below `other`.

See combine_objs().

### long_equal method

    SUPERTREND.long_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `long` is equal `other`.

See combine_objs().

### long_stats method

    SUPERTREND.long_stats(
        *args,
        **kwargs
    )

Stats of `long` as generic.

### low property

Input array.

### low_above method

    SUPERTREND.low_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `low` is above `other`.

See combine_objs().

### low_below method

    SUPERTREND.low_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `low` is below `other`.

See combine_objs().

### low_crossed_above method

    SUPERTREND.low_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `low` is crossed_above `other`.

See combine_objs().

### low_crossed_below method

    SUPERTREND.low_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `low` is crossed_below `other`.

See combine_objs().

### low_equal method

    SUPERTREND.low_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `low` is equal `other`.

See combine_objs().

### low_stats method

    SUPERTREND.low_stats(
        *args,
        **kwargs
    )

Stats of `low` as generic.

### multiplier_list property

List of `multiplier` values.

### param_select_func_nb method

    SUPERTREND.param_select_func_nb(
        i,
        args_before,
        high,
        low,
        close,
        period,
        multiplier,
        *args
    )

### period_list property

List of `period` values.

### plot method

    _SUPERTREND.plot(
        column=None,
        plot_close=True,
        close_trace_kwargs=None,
        superl_trace_kwargs=None,
        supers_trace_kwargs=None,
        add_trace_kwargs=None,
        fig=None,
        **layout_kwargs
    )

Plot SUPERTREND.long and SUPERTREND.short against SUPERTREND.close.

Args

`column` :`str`
  Name of the column to plot.
`plot_close` :`bool`
  Whether to plot SUPERTREND.close.
`close_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for SUPERTREND.close.
`superl_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for SUPERTREND.long.
`supers_trace_kwargs` :`dict`
  Keyword arguments passed to `plotly.graph_objects.Scatter` for SUPERTREND.short.
`add_trace_kwargs` :`dict`
  Keyword arguments passed to `fig.add_trace` when adding each trace.
`fig` :`Figure` or `FigureWidget`
  Figure to add traces to.
`**layout_kwargs`
  Keyword arguments passed to `fig.update_layout`.

Usage

    >>> vbt.SUPERTREND.run(ohlcv['High'], ohlcv['Low'], ohlcv['Close']).plot().show()

### run class method

    SUPERTREND.run(
        high,
        low,
        close,
        period=Default(value=7),
        multiplier=Default(value=3),
        short_name='supertrend',
        hide_params=None,
        hide_default=True,
        **kwargs
    )

Run SUPERTREND indicator.

- Inputs: `high`, `low`, `close`
- Parameters: `period`, `multiplier`
- Outputs: `trend`, `direction`, `long`, `short`

Pass a list of parameter names as `hide_params` to hide their column levels, or True to hide all. Set `hide_default` to False to show the column levels of the parameters with a default value.

Other keyword arguments are passed to IndicatorBase.run_pipeline().

### run_combs class method

    SUPERTREND.run_combs(
        high,
        low,
        close,
        period=Default(value=7),
        multiplier=Default(value=3),
        r=2,
        param_product=False,
        comb_func=itertools.combinations,
        run_unique=True,
        short_names=None,
        hide_params=None,
        hide_default=True,
        **kwargs
    )

Create a combination of multiple SUPERTREND indicators using function `comb_func`.

- Inputs: `high`, `low`, `close`
- Parameters: `period`, `multiplier`
- Outputs: `trend`, `direction`, `long`, `short`

`comb_func` must accept an iterable of parameter tuples and `r`. Also accepts all combinatoric iterators from itertools such as `itertools.combinations`. Pass `r` to specify how many indicators to run. Pass `short_names` to specify the short name for each indicator. Set `run_unique` to True to first compute raw outputs for all parameters, and then use them to build each indicator (faster).

Other keyword arguments are passed to SUPERTREND.run().

Note

This method should only be used when multiple indicators are needed. To test multiple parameters, pass them as lists to SUPERTREND.run().

### short property

Output array.

### short_above method

    SUPERTREND.short_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `short` is above `other`.

See combine_objs().

### short_below method

    SUPERTREND.short_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `short` is below `other`.

See combine_objs().

### short_crossed_above method

    SUPERTREND.short_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `short` is crossed_above `other`.

See combine_objs().

### short_crossed_below method

    SUPERTREND.short_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `short` is crossed_below `other`.

See combine_objs().

### short_equal method

    SUPERTREND.short_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `short` is equal `other`.

See combine_objs().

### short_stats method

    SUPERTREND.short_stats(
        *args,
        **kwargs
    )

Stats of `short` as generic.

### trend property

Output array.

### trend_above method

    SUPERTREND.trend_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `trend` is above `other`.

See combine_objs().

### trend_below method

    SUPERTREND.trend_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `trend` is below `other`.

See combine_objs().

### trend_crossed_above method

    SUPERTREND.trend_crossed_above(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `trend` is crossed_above `other`.

See combine_objs().

### trend_crossed_below method

    SUPERTREND.trend_crossed_below(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `trend` is crossed_below `other`.

See combine_objs().

### trend_equal method

    SUPERTREND.trend_equal(
        other,
        level_name=None,
        allow_multiple=True,
        **kwargs
    )

Return True for each element where `trend` is equal `other`.

See combine_objs().

### trend_stats method

    SUPERTREND.trend_stats(
        *args,
        **kwargs
    )

Stats of `trend` as generic.

#### Cookie consent

We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.

- Google Analytics
- GitHub

Manage settings