This commit is contained in:
David Brazda
2024-10-18 12:37:33 +02:00
parent 9d70678e8c
commit 246ea48281
2 changed files with 6 additions and 13 deletions

View File

@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup( setup(
name='ttools', name='ttools',
version='0.2.6', version='0.2.7',
packages=find_packages(), packages=find_packages(),
install_requires=[ install_requires=[
'vectorbtpro', 'vectorbtpro',

View File

@ -80,25 +80,18 @@ def register_custom_inds(indicator_name: str = None, if_exists: str ="skip"):
raise ValueError(f"Indicator '{indicator_name}' not found") raise ValueError(f"Indicator '{indicator_name}' not found")
else: else:
for var_name, var_value in globals().items(): for var_name, var_value in globals().items():
if var_name.startswith("IND_") and isinstance(var_value, vbt.IndicatorFactory): if var_name.startswith("IND_"):
vbt.IF.register_custom_indicator(var_value, location="ttools", if_exists=if_exists) vbt.IF.register_custom_indicator(var_value, location="ttools", if_exists=if_exists)
def deregister_custom_inds(indicator_name: str = None): def deregister_custom_inds(indicator_name: str = None):
"""Deregister a custom indicator or all custom indicators. """Deregister a custom indicator or all custom indicators.
If `indicator_name` is provided, only the indicator with that name is registered. If `indicator_name` is provided, only the indicator with that name is deregistered.
Otherwise, all indicators are registered - they are the ones starting with "IND_" . Otherwise, all ttools indicators are deregistered.
This function does not have an `if_exists` argument. This function does not have an `if_exists` argument.
""" """
if indicator_name is not None: if indicator_name is not None:
var_name = f"IND_{indicator_name}" vbt.IF.deregister_custom_indicator(indicator_name, location="ttools")
var_value = globals().get(var_name)
if var_value is not None and isinstance(var_value, vbt.IndicatorFactory):
vbt.IF.deregister_custom_indicator(var_value, location="ttools")
else: else:
raise ValueError(f"Indicator '{indicator_name}' not found") vbt.IF.deregister_custom_indicator(location="ttools")
else:
for var_name, var_value in globals().items():
if var_name.startswith("IND_") and isinstance(var_value, vbt.IndicatorFactory):
vbt.IF.deregister_custom_indicator(var_value, location="ttools")