交易记录价位和手续费支持小数输入
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -130,15 +130,15 @@ class Trade(Base):
|
||||
contract_code: Mapped[str] = mapped_column(String(10), index=True)
|
||||
direction: Mapped[str] = mapped_column(String(4))
|
||||
open_date: Mapped[date] = mapped_column(Date)
|
||||
open_price: Mapped[int] = mapped_column(Integer)
|
||||
open_fee: Mapped[int | None] = mapped_column(Integer, nullable=True, default=0)
|
||||
open_price: Mapped[float] = mapped_column(Float)
|
||||
open_fee: Mapped[float | None] = mapped_column(Float, nullable=True, default=0)
|
||||
close_date: Mapped[date | None] = mapped_column(Date, nullable=True)
|
||||
close_price: Mapped[int | None] = mapped_column(Integer, nullable=True)
|
||||
close_fee: Mapped[int | None] = mapped_column(Integer, nullable=True, default=0)
|
||||
close_price: Mapped[float | None] = mapped_column(Float, nullable=True)
|
||||
close_fee: Mapped[float | None] = mapped_column(Float, nullable=True, default=0)
|
||||
status: Mapped[str] = mapped_column(String(10), default="open")
|
||||
|
||||
@property
|
||||
def pnl(self) -> int | None:
|
||||
def pnl(self) -> float | None:
|
||||
if self.close_price is None:
|
||||
return None
|
||||
mul = 20 # glass futures point value
|
||||
|
||||
@@ -62,8 +62,8 @@ def open_trade(
|
||||
contract_code: str = Form(...),
|
||||
direction: str = Form(...),
|
||||
open_date: str = Form(...),
|
||||
open_price: int = Form(...),
|
||||
open_fee: int = Form(0),
|
||||
open_price: float = Form(...),
|
||||
open_fee: float = Form(0.0),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
t = Trade(
|
||||
@@ -85,8 +85,8 @@ def close_trade(
|
||||
request: Request,
|
||||
trade_id: int,
|
||||
close_date: str = Form(...),
|
||||
close_price: int = Form(...),
|
||||
close_fee: int = Form(0),
|
||||
close_price: float = Form(...),
|
||||
close_fee: float = Form(0.0),
|
||||
db: Session = Depends(get_db),
|
||||
):
|
||||
t = db.query(Trade).filter(Trade.id == trade_id).first()
|
||||
|
||||
@@ -42,11 +42,11 @@
|
||||
</div>
|
||||
<div class="form-group" style="margin-bottom:0;flex:0 0 auto;min-width:80px;">
|
||||
<label>开仓价</label>
|
||||
<input type="number" name="open_price" required placeholder="1300" style="font-size:0.9rem;">
|
||||
<input type="number" step="any" name="open_price" required placeholder="1300" style="font-size:0.9rem;">
|
||||
</div>
|
||||
<div class="form-group" style="margin-bottom:0;flex:0 0 auto;min-width:80px;">
|
||||
<label>手续费</label>
|
||||
<input type="number" name="open_fee" value="0" style="font-size:0.9rem;">
|
||||
<input type="number" step="any" name="open_fee" value="0" style="font-size:0.9rem;">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary" style="font-size:0.82rem;padding:8px 18px;">开仓</button>
|
||||
</div>
|
||||
@@ -100,11 +100,11 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>平仓价格</label>
|
||||
<input type="number" name="close_price" required style="font-size:0.9rem;">
|
||||
<input type="number" step="any" name="close_price" required style="font-size:0.9rem;">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>手续费</label>
|
||||
<input type="number" name="close_fee" value="0" style="font-size:0.9rem;">
|
||||
<input type="number" step="any" name="close_fee" value="0" style="font-size:0.9rem;">
|
||||
</div>
|
||||
<div style="display:flex;gap:10px;justify-content:flex-end;">
|
||||
<button type="button" class="btn" style="background:var(--th-bg);color:var(--fg);" onclick="hideCloseForm()">取消</button>
|
||||
|
||||
Reference in New Issue
Block a user