PINE LIBRARY

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.
arrays

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