PINE LIBRARY

cache

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
arraysdebuggingstatistics

Perpustakaan Pine

Dalam semangat sebenar TradingView, penulis telah menerbitkan kod Pine ini sebagai satu perpustakaan sumber terbuka supaya pengaturcara Pine lain dari komuniti kami boleh menggunakannya semula. Sorakan kepada penulis! Anda boleh menggunakan perpustakaan ini secara peribadi atau dalam penerbitan sumber terbuka lain, tetapi penggunaan semula kod dalam penerbitan ini adalah dikawal oleh Peraturan dalaman.

Penafian