fix(trend): use money RR, track DCA fills, snapshot before close
Align running-plan header and DCA table with risk-budget RR, record actual fill prices after each leg, and save pre-close snapshots on stop/TP/handoff across hub and exchanges. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -101,22 +101,7 @@
|
||||
<div class="running-plans-stack">
|
||||
{% for t in trend_plans %}
|
||||
{% set sym = t.exchange_symbol or t.symbol %}
|
||||
{% set calc = namespace(rr=None, pnlpct=None) %}
|
||||
{% if t.avg_entry_price is not none and t.stop_loss is not none and t.take_profit is not none %}
|
||||
{% set e = t.avg_entry_price|float %}
|
||||
{% set sl = t.stop_loss|float %}
|
||||
{% set tp = t.take_profit|float %}
|
||||
{% if t.direction == 'long' %}
|
||||
{% set risk = e - sl %}
|
||||
{% set reward = tp - e %}
|
||||
{% else %}
|
||||
{% set risk = sl - e %}
|
||||
{% set reward = e - tp %}
|
||||
{% endif %}
|
||||
{% if risk > 0 %}
|
||||
{% set calc.rr = reward / risk %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% set calc = namespace(pnlpct=None) %}
|
||||
{% if t.floating_pnl is not none and t.plan_margin_capital is not none and t.plan_margin_capital|float > 0 %}
|
||||
{% set calc.pnlpct = (t.floating_pnl|float) / (t.plan_margin_capital|float) * 100 %}
|
||||
{% endif %}
|
||||
@@ -148,7 +133,7 @@
|
||||
</div>
|
||||
<div class="plan-cell">
|
||||
<span class="lbl">盈亏比</span>
|
||||
<span class="val">{% if calc.rr is not none %}{{ '%.2f'|format(calc.rr) }}:1{% else %}—{% endif %}</span>
|
||||
<span class="val">{% if t.money_rr is not none %}{{ '%.2f'|format(t.money_rr) }}:1{% elif t.planned_rr is not none %}{{ '%.2f'|format(t.planned_rr) }}:1{% else %}—{% endif %}</span>
|
||||
</div>
|
||||
<div class="plan-cell">
|
||||
<span class="lbl">标记价</span>
|
||||
|
||||
Reference in New Issue
Block a user