StrategyParamHelper
Вспомогательный класс для StrategyParam.
Методы
public static bool CanOptimize(Type type)
result = StrategyParamHelper.CanOptimize(type)
Проверка может оптимизировать параметр.
- type
- Тип значения параметра.
Возвращает: , если можно оптимизировать параметр, в противном случае .
public static IStrategyParam CreateParam(Type type, string id)
result = StrategyParamHelper.CreateParam(type, id)
Создать параметр.
- type
- Тип
- id
- идентификатор
Возвращает: IStrategyParam
public static int GetIterationsCount(IStrategyParam param)
result = StrategyParamHelper.GetIterationsCount(param)
Получите количество итераций оптимизации для параметра.
- param
- IStrategyParam
Возвращает: Количество итераций.
public static int GetIterationsCount(Type type, object from, object to, object step, IEnumerable values)
result = StrategyParamHelper.GetIterationsCount(type, from, to, step, values)
Get the number of optimization iterations for a parameter shape.
- type
- The type of the parameter value.
- from
- Initial value, or .
- to
- Final value, or .
- step
- Increment value, or .
- values
- Explicit values, or . Win over the range when not empty.
Возвращает: Number of iterations, zero when the shape defines no values of its own.
public static string GetName(IStrategyParam param)
result = StrategyParamHelper.GetName(param)
Получите имя параметра.
- param
- IStrategyParam
Возвращает: Отображаемое имя.
public static IEnumerable<object> GetOptimizationValues(Type type, object from, object to, object step, IEnumerable values)
result = StrategyParamHelper.GetOptimizationValues(type, from, to, step, values)
Get all optimization values for a parameter shape.
- type
- The type of the parameter value.
- from
- Initial value, or .
- to
- Final value, or .
- step
- Increment value, or .
- values
- Explicit values, or . Win over the range when not empty.
Возвращает: Enumerable of all optimization values, empty when the shape defines none of its own.
public static IEnumerable<object> GetOptimizationValues(IStrategyParam param)
result = StrategyParamHelper.GetOptimizationValues(param)
Получите все значения оптимизации для параметра.
- param
- IStrategyParam
Возвращает: Перечисляемый из всех значений оптимизации.
public static object GetRandom(IStrategyParam param, IRandomProvider provider)
result = StrategyParamHelper.GetRandom(param, provider)
Generate a random value within the optimization range for the parameter.
- param
- IStrategyParam
- provider
- Where the value is drawn from. A search worth keeping the result of is worth running again, so the caller states the source rather than a default deciding for it - RandomProvider is the one a strategy runs on.
Возвращает: Random value within the optimization range.
public static HashSet<object> GetRandomValues(IStrategyParam param, int count, IRandomProvider provider)
result = StrategyParamHelper.GetRandomValues(param, count, provider)
Generate a set of unique random values for the parameter.
- param
- IStrategyParam
- count
- Number of random values to generate.
- provider
- Where the values are drawn from.
Возвращает: Set of unique random values.
public static HashSet<T> GetRandomValues<T>(StrategyParam<T> param, int count, IRandomProvider provider)
result = StrategyParamHelper.GetRandomValues(param, count, provider)
Generate a set of unique random values for the parameter.
- param
- StrategyParam
- count
- Number of random values to generate.
- provider
- Where the values are drawn from.
Возвращает: Set of unique random values.
public static T GetRandom<T>(StrategyParam<T> param, IRandomProvider provider)
result = StrategyParamHelper.GetRandom(param, provider)
Generate a random value within the optimization range for the parameter.
- param
- StrategyParam
- provider
- Where the value is drawn from.
Возвращает: Random value within the optimization range.
public static IEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ToBruteForce(Strategy strategy, IEnumerable<ValueTuple<IStrategyParam, IEnumerable>> parameters, IStrategyParam[] optimizedParams, int totalCount)
result = StrategyParamHelper.ToBruteForce(strategy, parameters, optimizedParams, totalCount)
Сгенерируйте все клоны стратегий с перестановками параметров для оптимизации методом перебора. Поддерживает явные списки значений для таких параметров, как финансовый инструмент DataType.
- strategy
- Базовая стратегия клонирования.
- parameters
- Параметры с необязательными явными значениями, которые можно использовать вместо диапазона.
- optimizedParams
- Выход: все параметры, участвующие в оптимизации.
- totalCount
- Выход: общее количество итераций.
Возвращает: Ленивое перечисление клонов стратегий с их массивами параметров.
public static IEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ToBruteForce(Strategy strategy, IStrategyParam[] parameters, IStrategyParam[] optimizedParams, int totalCount)
result = StrategyParamHelper.ToBruteForce(strategy, parameters, optimizedParams, totalCount)
Сгенерируйте все клоны стратегий с перестановками параметров для оптимизации методом перебора.
- strategy
- Базовая стратегия клонирования.
- parameters
- Параметры для оптимизации.
- optimizedParams
- Выход: все параметры, участвующие в оптимизации.
- totalCount
- Выход: общее количество итераций.
Возвращает: Ленивое перечисление клонов стратегий с их массивами параметров.
public static IAsyncEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ToBruteForceAsync(Strategy strategy, IStrategyParam[] parameters, IStrategyParam[] optimizedParams, int totalCount)
result = StrategyParamHelper.ToBruteForceAsync(strategy, parameters, optimizedParams, totalCount)
Generate all strategy clones with parameter permutations for brute force optimization.
- strategy
- The base strategy to clone.
- parameters
- The parameters to optimize.
- optimizedParams
- Output: all parameters involved in optimization.
- totalCount
- Output: total number of iterations.
Возвращает: Lazy enumerable of strategy clones with their parameter arrays.
public static IAsyncEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ToBruteForceAsync(Strategy strategy, IEnumerable<ValueTuple<IStrategyParam, IEnumerable>> parameters, IStrategyParam[] optimizedParams, int totalCount)
result = StrategyParamHelper.ToBruteForceAsync(strategy, parameters, optimizedParams, totalCount)
Generate all strategy clones with parameter permutations for brute force optimization. Supports explicit value lists for parameters like Security, DataType.
- strategy
- The base strategy to clone.
- parameters
- The parameters with optional explicit values to use instead of range.
- optimizedParams
- Output: all parameters involved in optimization.
- totalCount
- Output: total number of iterations.
Возвращает: Lazy enumerable of strategy clones with their parameter arrays.
public static IEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ToBruteForceRandom(Strategy strategy, IStrategyParam[] parameters, int randomCount, IStrategyParam[] optimizedParams, int totalCount)
result = StrategyParamHelper.ToBruteForceRandom(strategy, parameters, randomCount, optimizedParams, totalCount)
Сгенерируйте все клоны стратегий со случайными значениями параметров для оптимизации методом перебора.
- strategy
- Базовая стратегия клонирования.
- parameters
- Параметры для оптимизации.
- randomCount
- Количество случайных выборок на параметр.
- optimizedParams
- Выход: все параметры, участвующие в оптимизации.
- totalCount
- Выход: общее количество итераций.
Возвращает: Ленивое перечисление клонов стратегий с их массивами параметров.
public static IAsyncEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ToBruteForceRandomAsync(Strategy strategy, IStrategyParam[] parameters, int randomCount, IStrategyParam[] optimizedParams, int totalCount)
result = StrategyParamHelper.ToBruteForceRandomAsync(strategy, parameters, randomCount, optimizedParams, totalCount)
Generate all strategy clones with random parameter values for brute force optimization.
- strategy
- The base strategy to clone.
- parameters
- The parameters to optimize.
- randomCount
- Number of random samples per parameter.
- optimizedParams
- Output: all parameters involved in optimization.
- totalCount
- Output: total number of iterations.
Возвращает: Lazy enumerable of strategy clones with their parameter arrays.
public static ValueTuple<IStrategyParam, object, object, object, IEnumerable>[] ToGeneticParameters(Strategy strategy, IStrategyParam[] parameters)
result = StrategyParamHelper.ToGeneticParameters(strategy, parameters)
Преобразуйте параметры стратегии в формат генетического оптимизатора.
- strategy
- Стратегия с параметрами.
- parameters
- Параметры для оптимизации.
Возвращает: Массив кортежей, подходящих для CancellationToken).
public static ValueTuple<IStrategyParam, object, object, object, IEnumerable>[] ToGeneticParameters(Strategy strategy, IEnumerable<ValueTuple<IStrategyParam, IEnumerable>> parameters)
result = StrategyParamHelper.ToGeneticParameters(strategy, parameters)
Преобразование параметров стратегии в формат генетического оптимизатора с поддержкой явных значений.
- strategy
- Стратегия с параметрами.
- parameters
- Параметры с необязательными явными значениями, которые можно использовать вместо диапазона.
Возвращает: Массив кортежей, подходящих для CancellationToken).