RicardoSantos

ArrayGenerate

Library "ArrayGenerate"
Functions to generate arrays.

sequence_int(start, end, step) returns a sequence of int numbers.
Parameters:
  • start: int, begining of sequence range.
  • end: int, end of sequence range.
  • step: int, step, default=1 .
Returns: int, array.

sequence_float(start, end, step) returns a sequence of float numbers.
Parameters:
  • start: float, begining of sequence range.
  • end: float, end of sequence range.
  • step: float, step, default=1.0 .
Returns: float, array.

sequence_from_series(src, length, shift, direction_forward) Creates a array from a series sample range.
Parameters:
  • src: series, any kind.
  • length: int, window period in bars to sample series.
  • shift: int, window period in bars to shift backwards the data sample, default=0.
  • direction_forward: bool, sample from start to end or end to start order, default=true.
Returns: float array

normal_distribution(size, mean, dev) Generate normal distribution random sample.
Parameters:
  • size: int, size of array
  • mean: float, mean of the sample, (default=0.0).
  • dev: float, deviation of the sample from the mean, (default=1.0).
Returns: float array.

log_spaced(length, start_exp, stop_exp) Generate a base 10 logarithmically spaced sample sequence.
Parameters:
  • length: int, length of the sequence.
  • start_exp: float, start exponent.
  • stop_exp: float, stop exponent.
Returns: float array.

linear_range(stop, start) Generate a linearly spaced sample vector within the inclusive interval (start, stop) and step 1.
Parameters:
  • stop: float, stop value.
  • start: float, start value, (default=0.0).
Returns: float array.

periodic_wave(length, sampling_rate, frequency, amplitude, phase, delay) Create a periodic wave.
Parameters:
  • length: int, the number of samples to generate.
  • sampling_rate: float, samples per time unit (Hz). Must be larger than twice the frequency to satisfy the Nyquist criterion.
  • frequency: float, frequency in periods per time unit (Hz).
  • amplitude: float, the length of the period when sampled at one sample per time unit. This is the interval of the periodic domain, a typical value is 1.0, or 2*Pi for angular functions.
  • phase: float, optional phase offset.
  • delay: int, optional delay, relative to the phase.
Returns: float array.

sinusoidal(length, sampling_rate, frequency, amplitude, mean, phase, delay) Create a Sine wave.
Parameters:
  • length: int, The number of samples to generate.
  • sampling_rate: float, Samples per time unit (Hz). Must be larger than twice the frequency to satisfy the Nyquist criterion.
  • frequency: float, Frequency in periods per time unit (Hz).
  • amplitude: float, The maximal reached peak.
  • mean: float, The mean, or DC part, of the signal.
  • phase: float, Optional phase offset.
  • delay: int, Optional delay, relative to the phase.
Returns: float array.

periodic_impulse(length, period, amplitude, delay) Create a periodic Kronecker Delta impulse sample array.
Parameters:
  • length: int, The number of samples to generate.
  • period: int, impulse sequence period.
  • amplitude: float, The maximal reached peak.
  • delay: int, Offset to the time axis. Zero or positive.
Returns: float array.
Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House Rules.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this library?

Copy the following line and paste it in your script.