Rename strategy to indicators
This commit is contained in:
@@ -10,7 +10,7 @@ namespace Managing.Domain.Shared.Helpers;
|
||||
/// <summary>
|
||||
/// Configuration for strategy combination logic
|
||||
/// </summary>
|
||||
public class StrategyComboConfig
|
||||
public class IndicatorComboConfig
|
||||
{
|
||||
/// <summary>
|
||||
/// Minimum percentage of trend strategies that must agree for strong trend (default: 66%)
|
||||
@@ -47,16 +47,16 @@ public class StrategyComboConfig
|
||||
|
||||
public static class TradingBox
|
||||
{
|
||||
private static readonly StrategyComboConfig _defaultConfig = new();
|
||||
private static readonly IndicatorComboConfig _defaultConfig = new();
|
||||
|
||||
public static Signal GetSignal(HashSet<Candle> newCandles, HashSet<IStrategy> strategies,
|
||||
public static Signal GetSignal(HashSet<Candle> newCandles, HashSet<IIndicator> strategies,
|
||||
HashSet<Signal> previousSignal, int? loopbackPeriod = 1)
|
||||
{
|
||||
return GetSignal(newCandles, strategies, previousSignal, _defaultConfig, loopbackPeriod);
|
||||
}
|
||||
|
||||
public static Signal GetSignal(HashSet<Candle> newCandles, HashSet<IStrategy> strategies,
|
||||
HashSet<Signal> previousSignal, StrategyComboConfig config, int? loopbackPeriod = 1)
|
||||
public static Signal GetSignal(HashSet<Candle> newCandles, HashSet<IIndicator> strategies,
|
||||
HashSet<Signal> previousSignal, IndicatorComboConfig config, int? loopbackPeriod = 1)
|
||||
{
|
||||
var signalOnCandles = new HashSet<Signal>();
|
||||
var limitedCandles = newCandles.ToList().TakeLast(600).ToList();
|
||||
@@ -120,14 +120,14 @@ public static class TradingBox
|
||||
data.Timeframe, config);
|
||||
}
|
||||
|
||||
public static Signal ComputeSignals(HashSet<IStrategy> strategies, HashSet<Signal> signalOnCandles, Ticker ticker,
|
||||
public static Signal ComputeSignals(HashSet<IIndicator> strategies, HashSet<Signal> signalOnCandles, Ticker ticker,
|
||||
Timeframe timeframe)
|
||||
{
|
||||
return ComputeSignals(strategies, signalOnCandles, ticker, timeframe, _defaultConfig);
|
||||
}
|
||||
|
||||
public static Signal ComputeSignals(HashSet<IStrategy> strategies, HashSet<Signal> signalOnCandles, Ticker ticker,
|
||||
Timeframe timeframe, StrategyComboConfig config)
|
||||
public static Signal ComputeSignals(HashSet<IIndicator> strategies, HashSet<Signal> signalOnCandles, Ticker ticker,
|
||||
Timeframe timeframe, IndicatorComboConfig config)
|
||||
{
|
||||
if (strategies.Count == 1)
|
||||
{
|
||||
@@ -179,15 +179,15 @@ public static class TradingBox
|
||||
lastSignal?.Candle,
|
||||
lastSignal?.Date ?? DateTime.UtcNow,
|
||||
lastSignal?.Exchange ?? config.DefaultExchange,
|
||||
StrategyType.Composite,
|
||||
IndicatorType.Composite,
|
||||
SignalType.Signal);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Validates context strategies based on confidence levels indicating market condition quality
|
||||
/// </summary>
|
||||
private static bool ValidateContextStrategies(HashSet<IStrategy> allStrategies, List<Signal> contextSignals,
|
||||
StrategyComboConfig config)
|
||||
private static bool ValidateContextStrategies(HashSet<IIndicator> allStrategies, List<Signal> contextSignals,
|
||||
IndicatorComboConfig config)
|
||||
{
|
||||
var contextStrategiesCount = allStrategies.Count(s => s.SignalType == SignalType.Context);
|
||||
|
||||
@@ -210,7 +210,7 @@ public static class TradingBox
|
||||
/// <summary>
|
||||
/// Evaluates trend direction using majority voting with neutral handling
|
||||
/// </summary>
|
||||
private static TradeDirection EvaluateTrendDirection(List<Signal> trendSignals, StrategyComboConfig config)
|
||||
private static TradeDirection EvaluateTrendDirection(List<Signal> trendSignals, IndicatorComboConfig config)
|
||||
{
|
||||
if (!trendSignals.Any())
|
||||
{
|
||||
@@ -241,7 +241,7 @@ public static class TradingBox
|
||||
/// <summary>
|
||||
/// Evaluates signal direction using weighted majority voting
|
||||
/// </summary>
|
||||
private static TradeDirection EvaluateSignalDirection(List<Signal> signalStrategies, StrategyComboConfig config)
|
||||
private static TradeDirection EvaluateSignalDirection(List<Signal> signalStrategies, IndicatorComboConfig config)
|
||||
{
|
||||
if (!signalStrategies.Any())
|
||||
{
|
||||
@@ -270,7 +270,7 @@ public static class TradingBox
|
||||
TradeDirection trendDirection,
|
||||
List<Signal> signalStrategies,
|
||||
List<Signal> trendStrategies,
|
||||
StrategyComboConfig config)
|
||||
IndicatorComboConfig config)
|
||||
{
|
||||
// Priority 1: If we have signal strategies, they take precedence
|
||||
if (signalDirection != TradeDirection.None)
|
||||
|
||||
Reference in New Issue
Block a user