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 # General Info
plan_name: str plan_name: str
status: PlanStatus status: PlanStatus
created_at: datetime = None
updated_at: datetime = None
id: int = None
# Strategy Definition
timeframe: Timeframe timeframe: Timeframe
market_focus: MarketFocus market_focus: MarketFocus
entry_criteria: str entry_criteria: str
@ -51,35 +46,30 @@ class TradingPlan:
trade_frequency: TradeFrequency trade_frequency: TradeFrequency
market_conditions: str market_conditions: str
indicators_used: str indicators_used: str
# Trade Execution Rules
entry_confirmation: str entry_confirmation: str
position_sizing: float position_sizing: float
maximum_drawdown: float maximum_drawdown: float
max_trades_per_day: int max_trades_per_day: int
max_trades_per_week: int max_trades_per_week: int
# Risk Management
total_risk_per_trade: float total_risk_per_trade: float
max_portfolio_risk: float max_portfolio_risk: float
adjustments_for_drawdown: str adjustments_for_drawdown: str
risk_controls: 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 win_rate: Optional[float] = None
average_return_per_trade: Optional[float] = None average_return_per_trade: Optional[float] = None
profit_factor: Optional[float] = None profit_factor: Optional[float] = None
historical_backtest_results: Optional[str] = None historical_backtest_results: Optional[str] = None
real_trade_performance: Optional[str] = None real_trade_performance: Optional[str] = None
# Notes & Evolution
improvements_needed: Optional[str] = None improvements_needed: Optional[str] = None
strategy_version: int = 1
plan_author: str
trade_review_notes: Optional[str] = None trade_review_notes: Optional[str] = None
future_testing_ideas: Optional[str] = None future_testing_ideas: Optional[str] = None
# Optional fields
sector_focus: Optional[str] = None sector_focus: Optional[str] = None
fundamental_criteria: Optional[str] = None fundamental_criteria: Optional[str] = None
options_strategy_details: Optional[str] = None options_strategy_details: Optional[str] = None