Library "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
진정한 TradingView 정신에 따라, 저자는 이 파인 코드를 다른 파인 프로그래머들이 재사용할 수 있도록 오픈 소스 라이브러리로 공개했습니다. 저자에게 박수를 보냅니다! 이 라이브러리는 개인적으로 사용하거나 다른 오픈 소스 출판물에서 사용할 수 있지만, 이 코드를 출판물에서 재사용하는 것은 하우스 룰에 의해 관리됩니다.