refactor: Reorder TradingPlan dataclass fields to comply with Python requirements

This commit is contained in:
Bobby (aider) 2025-02-11 17:43:49 -08:00
parent 4730499ae2
commit 34c006e360

View File

@ -36,11 +36,6 @@ class TradingPlan:
# General Info
plan_name: str
status: PlanStatus
created_at: datetime = None
updated_at: datetime = None
id: int = None
# Strategy Definition
timeframe: Timeframe
market_focus: MarketFocus
entry_criteria: str
@ -51,35 +46,30 @@ class TradingPlan:
trade_frequency: TradeFrequency
market_conditions: str
indicators_used: str
# Trade Execution Rules
entry_confirmation: str
position_sizing: float
maximum_drawdown: float
max_trades_per_day: int
max_trades_per_week: int
# Risk Management
total_risk_per_trade: float
max_portfolio_risk: float
adjustments_for_drawdown: str
risk_controls: str
plan_author: str
# Performance Tracking
# Fields with default values must come after required fields
created_at: datetime = None
updated_at: datetime = None
id: int = None
strategy_version: int = 1
win_rate: Optional[float] = None
average_return_per_trade: Optional[float] = None
profit_factor: Optional[float] = None
historical_backtest_results: Optional[str] = None
real_trade_performance: Optional[str] = None
# Notes & Evolution
improvements_needed: Optional[str] = None
strategy_version: int = 1
plan_author: str
trade_review_notes: Optional[str] = None
future_testing_ideas: Optional[str] = None
# Optional fields
sector_focus: Optional[str] = None
fundamental_criteria: Optional[str] = None
options_strategy_details: Optional[str] = None