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.

Id
BotPerformanceId
Size
EntryBar
ExitBar
EntryPrice
ExitPrice
SL
TP
Tag
PnL
NetPnL
Commission
ReturnPct
EntryTime
ExitTime
Duration
Equity
TopBest
TopWorst
EntryConversionRate
ExitConversionRate
BotPerformance