app.backbone.entities.trade
1from sqlalchemy import Column, DateTime, ForeignKey, Integer, Float, Date, Boolean, String 2from sqlalchemy.orm import relationship 3from . import Base 4 5class Trade(Base): 6 __tablename__ = 'Trades' 7 8 Id = Column(Integer, primary_key=True, autoincrement=True) 9 BotPerformanceId = Column(Integer, ForeignKey('BotPerformances.Id'), nullable=False) 10 11 Size = Column(Integer, nullable=False) 12 EntryBar = Column(Integer, nullable=False) 13 ExitBar = Column(Integer, nullable=False) 14 EntryPrice = Column(Float, nullable=False) 15 ExitPrice = Column(Float, nullable=False) 16 SL = Column(Float, nullable=True) 17 TP = Column(Float, nullable=True) 18 Tag = Column(String, nullable=True) 19 PnL = Column(Float, nullable=False) 20 NetPnL = Column(Float, nullable=False) 21 Commission = Column(Float, nullable=False) 22 ReturnPct = Column(Float, nullable=False) 23 EntryTime = Column(DateTime, nullable=False) 24 ExitTime = Column(DateTime, nullable=False) 25 Duration = Column(Integer, nullable=False) 26 Equity = Column(Float, nullable=False) 27 TopBest = Column(Boolean, nullable=True) 28 TopWorst = Column(Boolean, nullable=True) 29 EntryConversionRate = Column(Float, nullable=False) 30 ExitConversionRate = Column(Float, nullable=False) 31 32 33 # Relación con BotPerformance 34 BotPerformance = relationship('BotPerformance', back_populates='TradeHistory', lazy='joined') 35 36 def __repr__(self): 37 return f"<TradeHistory(Id={self.Id}, Size={self.Size}, PnL={self.PnL}, ReturnPct={self.ReturnPct})>"
class
Trade(sqlalchemy.orm.decl_api._DynamicAttributesType, sqlalchemy.inspection.Inspectable[sqlalchemy.orm.mapper.Mapper[typing.Any]]):
6class Trade(Base): 7 __tablename__ = 'Trades' 8 9 Id = Column(Integer, primary_key=True, autoincrement=True) 10 BotPerformanceId = Column(Integer, ForeignKey('BotPerformances.Id'), nullable=False) 11 12 Size = Column(Integer, nullable=False) 13 EntryBar = Column(Integer, nullable=False) 14 ExitBar = Column(Integer, nullable=False) 15 EntryPrice = Column(Float, nullable=False) 16 ExitPrice = Column(Float, nullable=False) 17 SL = Column(Float, nullable=True) 18 TP = Column(Float, nullable=True) 19 Tag = Column(String, nullable=True) 20 PnL = Column(Float, nullable=False) 21 NetPnL = Column(Float, nullable=False) 22 Commission = Column(Float, nullable=False) 23 ReturnPct = Column(Float, nullable=False) 24 EntryTime = Column(DateTime, nullable=False) 25 ExitTime = Column(DateTime, nullable=False) 26 Duration = Column(Integer, nullable=False) 27 Equity = Column(Float, nullable=False) 28 TopBest = Column(Boolean, nullable=True) 29 TopWorst = Column(Boolean, nullable=True) 30 EntryConversionRate = Column(Float, nullable=False) 31 ExitConversionRate = Column(Float, nullable=False) 32 33 34 # Relación con BotPerformance 35 BotPerformance = relationship('BotPerformance', back_populates='TradeHistory', lazy='joined') 36 37 def __repr__(self): 38 return f"<TradeHistory(Id={self.Id}, Size={self.Size}, PnL={self.PnL}, ReturnPct={self.ReturnPct})>"
The base class of the class hierarchy.
When called, it accepts no arguments and returns a new featureless instance that has no instance attributes and cannot be given any.
Trade(**kwargs)
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and
values in kwargs
.
Only keys that are present as attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.