Skip to content

supertrend module

Module with SUPERTREND.


SUPERTREND class

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

Supertrend indicator.

Superclasses

Inherited members

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,
    param_index=None,
    final_index=None,
    single_comb=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.