Skip to content

Latest commit

 

History

History
94 lines (74 loc) · 3 KB

prng_range_function.md

File metadata and controls

94 lines (74 loc) · 3 KB

PineCoders

Function to generate random values within range

Description:

Function to generate random values. The returned value will be a float value within range 0 -> _range parameter.

References:

Code:

@version=3
f_pseudo_random_number(_range, _seed)=>
//  ||-------------------------------------------------------------------------||
//  ||  Basic Pseudo Random Value generator                                    ||
//  ||-------------------------------------------------------------------------||
//  |{
//  ||  Author: Ricardo Santos
//  ||  reference:
//  ||      https://www.tradingcode.net/tradingview/colours/random-colours/
//  ||      https://cdsmith.wordpress.com/2011/10/10/build-your-own-simple-random-numbers/
//  ||      x = 16708 * nz(x[1], 1) % 2147483647
//  ||-------------------------------------------------------------------------||
    _return = 1.0
    if na(_seed)
        _return := 3.14159 * nz(_return[1], 1) % n
    else
        _return := 3.14159 * nz(_return[1], 1) % (n + _seed)
    _return := _return % (_range)
//  }|--------------------------------------------------------------------<•

Example:

Generate a random value between 0 and 100

Example Code
//@version=3
study("Function - Pseudo Random Number Example")

f_pseudo_random_number(_range, _seed)=>
//  ||-------------------------------------------------------------------------||
//  ||  Basic Pseudo Random Value generator                                    ||
//  ||-------------------------------------------------------------------------||
//  |{
//  ||  Author: Ricardo Santos
//  ||  reference:
//  ||      https://www.tradingcode.net/tradingview/colours/random-colours/
//  ||      https://cdsmith.wordpress.com/2011/10/10/build-your-own-simple-random-numbers/
//  ||      x = 16708 * nz(x[1], 1) % 2147483647
//  ||-------------------------------------------------------------------------||
    _return = 1.0
    if na(_seed)
        _return := 3.14159 * nz(_return[1], 1) % n
    else
        _return := 3.14159 * nz(_return[1], 1) % (n + _seed)
    _return := _return % (_range)
//  }|--------------------------------------------------------------------<•

range = 100.0
math_e = 2.7182818285 // Euler's number
example = f_pseudo_random_number(range, math_e)
plot(series=example, title='example', color=red)
Code Author(s):



Disclaimer
License