diff --git a/internal/app/app.go b/internal/app/app.go index 5d801bb..8e7be73 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -55,6 +55,7 @@ func Run(cfg *config.Config, log *slog.Logger) error { fundingRepo, oiRepo, lsRepo, + usecase.NewIndicatorUsecase(), log, ) diff --git a/internal/usecase/market_context.go b/internal/usecase/market_context.go index ad1bda2..72604c6 100644 --- a/internal/usecase/market_context.go +++ b/internal/usecase/market_context.go @@ -39,6 +39,8 @@ type MarketContextUsecase struct { oiRepo OpenInterestRepository lsRepo LongShortRatioRepository + indicator IndicatorComputer + log *slog.Logger } @@ -49,6 +51,7 @@ func NewMarketContextUsecase( fundingRepo FundingRepository, oiRepo OpenInterestRepository, lsRepo LongShortRatioRepository, + indicator IndicatorComputer, log *slog.Logger, ) *MarketContextUsecase { return &MarketContextUsecase{ @@ -58,6 +61,7 @@ func NewMarketContextUsecase( fundingRepo: fundingRepo, oiRepo: oiRepo, lsRepo: lsRepo, + indicator: indicator, log: log, } } @@ -183,10 +187,7 @@ func (u *MarketContextUsecase) Build(ctx context.Context, symbol string) (*entit }, TakerBuySellVolume: nil, }, - Technical: entity.TechnicalStructure{ - Support: []entity.TechnicalLevel{}, - Resistance: []entity.TechnicalLevel{}, - }, + Technical: u.indicator.Compute(klines[derivativePeriod], globalLS), DataQuality: entity.DataQuality{ Source: "binance", Warnings: warnings,