2026-04-09 14:46:08 +02:00
|
|
|
from dataclasses import dataclass
|
2026-04-09 15:58:19 +02:00
|
|
|
from datetime import datetime
|
2026-04-09 14:46:08 +02:00
|
|
|
|
2026-04-13 01:30:34 +02:00
|
|
|
|
2026-04-09 14:46:08 +02:00
|
|
|
@dataclass
|
|
|
|
|
class Candle:
|
|
|
|
|
time_open: datetime
|
|
|
|
|
open: float
|
|
|
|
|
high: float
|
|
|
|
|
low: float
|
2026-04-13 01:30:34 +02:00
|
|
|
close: float
|
2026-04-09 14:46:08 +02:00
|
|
|
volume: float
|
|
|
|
|
|
2026-04-13 01:30:34 +02:00
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
|
class Signal:
|
|
|
|
|
direction: str
|
|
|
|
|
stop_loss: float
|
|
|
|
|
entry_price: float
|
|
|
|
|
|
|
|
|
|
|
2026-04-09 14:46:08 +02:00
|
|
|
@dataclass
|
|
|
|
|
class Trade:
|
|
|
|
|
enter_time: datetime
|
|
|
|
|
enter_price: float
|
|
|
|
|
direction: str
|
2026-04-13 01:30:34 +02:00
|
|
|
exit_time: datetime
|
2026-04-09 14:46:08 +02:00
|
|
|
exit_price: float
|
|
|
|
|
pnl: float
|
2026-04-13 01:30:34 +02:00
|
|
|
r_multiple: float = 0.0
|
2026-05-11 19:14:32 +02:00
|
|
|
partial_tp_taken: bool = False
|
|
|
|
|
partial_tp_realized_pnl: float = 0.0
|