cache

A simple cache library to store key value pairs.
- Fed up of injecting and returning so many values all the time?
- Want to separate your code and keep it clean?
- Need to make an expensive calculation and use the results in numerous places?
- Want to throttle calculations or persist random values across bars or ticks?
Then you've come to the right place. Or not! Up to you, I don't mind either way... ;)
Check the helpers and unit tests in the script for further detail.
Detailed Interface
init(persistant) Initialises the syncronised cache key and value arrays
Parameters:
persistant: bool, toggles data persistance between bars and ticks
Returns: [string[], float[]], a tuple of both arrays
set(keys, values, key, value) Sets a value into the cache
Parameters:
keys: string[], the array of cache keys
values: float[], the array of cache values
key: string, the cache key to create or update
value: float, the value to set
has(keys, values, key) Checks if the cache has a key
Parameters:
keys: string[], the array of cache keys
values: float[], the array of cache values
key: string, the cache key to check
Returns: bool, true only if the key is found
get(keys, values, key) Gets a keys value from the cache
Parameters:
keys: string[], the array of cache keys
values: float[], the array of cache values
key: string, the cache key to get
Returns: float, the stored value
remove(keys, values, key) Removes a key and value from the cache
Parameters:
keys: string[], the array of cache keys
values: float[], the array of cache values
key: string, the cache key to remove
count() Counts how many key value pairs in the cache
Returns: int, the total number of pairs
loop(keys, values) Returns true for each value in the cache (use as the while loop expression)
Parameters:
keys: string[], the array of cache keys
values: float[], the array of cache values
next(keys, values) Returns each key value pair on successive calls (use in the while loop)
Parameters:
keys: string[], the array of cache keys
values: float[], the array of cache values
Returns: [string, float], tuple of each key value pair
clear(keys, values) Clears all key value pairs from the cache
Parameters:
keys: string[], the array of cache keys
values: float[], the array of cache values
unittest_cache(case) Cache module unit tests, for inclusion in parent script test suite. Usage: log.unittest_cache(__ASSERTS)
Parameters:
case: string[], the current test case and array of previous unit tests (__ASSERTS)
unittest(verbose) Run the cache module unit tests as a stand alone. Usage: cache.unittest()
Parameters:
verbose: bool, optionally disable the full report to only display failures
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.
Declinazione di responsabilità
Libreria Pine
In pieno spirito TradingView, l'autore ha pubblicato questo codice Pine come libreria open-source in modo che altri programmatori Pine della nostra comunità possano riutilizzarlo. Complimenti all'autore! È possibile utilizzare questa libreria privatamente o in altre pubblicazioni open-source, ma il riutilizzo di questo codice in una pubblicazione è regolato dal nostro Regolamento.