tbapi.api.bases.optimization_algorithm
1from __future__ import annotations 2from typing import TYPE_CHECKING 3from tbapi.common.decorators import tb_class, tb_interface 4from tbapi.common.converters import to_python_datetime, to_net_datetime 5from datetime import datetime 6from Tickblaze.Scripts.Api.Bases import OptimizationAlgorithm as _OptimizationAlgorithm 7from typing import Any, overload 8from abc import ABC, abstractmethod 9from tbapi.api.bases.script import Script 10if TYPE_CHECKING: 11 from tbapi.api.bases.optimization_vector import OptimizationVector 12 13@tb_interface(_OptimizationAlgorithm) 14class OptimizationAlgorithm(Script): 15 16 @staticmethod 17 def new(*args, **kwargs): 18 """Generic factory method for OptimizationAlgorithm. Use overloads for IDE type hints.""" 19 return OptimizationAlgorithm(*args, **kwargs) 20 21 @property 22 def max_optimizations(self) -> int: 23 """The number of optimization vectors that the algorithm will select and run if the optimization process runs to completion.""" 24 val = self._value.MaxOptimizations 25 return val 26 @property 27 def optimization_parameters(self) -> IReadOnlyList: 28 val = self._value.OptimizationParameters 29 return val 30 @optimization_parameters.setter 31 def optimization_parameters(self, val: IReadOnlyList): 32 tmp = self._value 33 tmp.OptimizationParameters = val 34 self._value = tmp 35 @property 36 def vectors(self) -> IReadOnlyList: 37 val = self._value.Vectors 38 return val 39 @vectors.setter 40 def vectors(self, val: IReadOnlyList): 41 tmp = self._value 42 tmp.Vectors = val 43 self._value = tmp 44 45 @abstractmethod 46 def get_next_vectors_to_run(self, max_count: int) -> list[OptimizationVector]: 47 result = self._value.GetNextVectorsToRun(max_count) 48 return result 49 50 def on_vector_processed(self, vector: OptimizationVector) -> None: 51 result = self._value.OnVectorProcessed(vector._value) 52 return result 53
21@tb_interface(_OptimizationAlgorithm) 22class OptimizationAlgorithm(Script): 23 24 @staticmethod 25 def new(*args, **kwargs): 26 """Generic factory method for OptimizationAlgorithm. Use overloads for IDE type hints.""" 27 return OptimizationAlgorithm(*args, **kwargs) 28 29 @property 30 def max_optimizations(self) -> int: 31 """The number of optimization vectors that the algorithm will select and run if the optimization process runs to completion.""" 32 val = self._value.MaxOptimizations 33 return val 34 @property 35 def optimization_parameters(self) -> IReadOnlyList: 36 val = self._value.OptimizationParameters 37 return val 38 @optimization_parameters.setter 39 def optimization_parameters(self, val: IReadOnlyList): 40 tmp = self._value 41 tmp.OptimizationParameters = val 42 self._value = tmp 43 @property 44 def vectors(self) -> IReadOnlyList: 45 val = self._value.Vectors 46 return val 47 @vectors.setter 48 def vectors(self, val: IReadOnlyList): 49 tmp = self._value 50 tmp.Vectors = val 51 self._value = tmp 52 53 @abstractmethod 54 def get_next_vectors_to_run(self, max_count: int) -> list[OptimizationVector]: 55 result = self._value.GetNextVectorsToRun(max_count) 56 return result 57 58 def on_vector_processed(self, vector: OptimizationVector) -> None: 59 result = self._value.OnVectorProcessed(vector._value) 60 return result
Defines properties and methods for a script, including initialization and metadata.
@staticmethod
def
new(*args, **kwargs):
24 @staticmethod 25 def new(*args, **kwargs): 26 """Generic factory method for OptimizationAlgorithm. Use overloads for IDE type hints.""" 27 return OptimizationAlgorithm(*args, **kwargs)
Generic factory method for OptimizationAlgorithm. Use overloads for IDE type hints.
max_optimizations: int
29 @property 30 def max_optimizations(self) -> int: 31 """The number of optimization vectors that the algorithm will select and run if the optimization process runs to completion.""" 32 val = self._value.MaxOptimizations 33 return val
The number of optimization vectors that the algorithm will select and run if the optimization process runs to completion.
@abstractmethod
def
get_next_vectors_to_run( self, max_count: int) -> list[tbapi.api.bases.optimization_vector.OptimizationVector]:
def
on_vector_processed( self, vector: tbapi.api.bases.optimization_vector.OptimizationVector) -> None: