Function to generate random values.
The returned value will be a float value within range 0 -> _range
parameter.
@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)
// }|--------------------------------------------------------------------<•
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)