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: , 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
Pinebibliotek

I sann TradingView-anda har författaren publicerat denna Pine-kod som ett bibliotek med öppen källkod så att andra Pine-programmerare från vår community kan återanvända den. Hatten av för författaren! Du kan använda det här biblioteket privat eller i andra publikationer med öppen källkod, men återanvändning av den här koden i en publikation regleras av våra ordningsregler.

Frånsägelse av ansvar

Informationen och publikationerna är inte avsedda att vara, och utgör inte heller finansiella, investerings-, handels- eller andra typer av råd eller rekommendationer som tillhandahålls eller stöds av TradingView. Läs mer i Användarvillkoren.

Vill du använda det här biblioteket?

Kopiera följande rad och klistra in det i ditt skript.