Fix positions 500 when recommend row lacks turnover field.
Use Jinja defined check in trade template and always set turnover key (or null) when enriching recommend rows. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -141,9 +141,12 @@ def _attach_turnover(row: dict) -> None:
|
||||
price = float(row.get("prev_close") or row.get("price") or 0)
|
||||
mult = float(row.get("mult") or 0)
|
||||
except (TypeError, ValueError):
|
||||
row["turnover"] = None
|
||||
return
|
||||
if vol > 0 and price > 0 and mult > 0:
|
||||
row["turnover"] = round(vol * price * mult, 2)
|
||||
else:
|
||||
row["turnover"] = None
|
||||
|
||||
|
||||
def _letters_from_ths(ths_code: str) -> str:
|
||||
|
||||
@@ -251,7 +251,7 @@
|
||||
</td>
|
||||
<td>{% if r.yesterday_amplitude_pct is not none %}{{ '%.2f'|format(r.yesterday_amplitude_pct) }}%{% else %}—{% endif %}</td>
|
||||
<td>{% if r.volume is not none %}{{ r.volume }}{% else %}—{% endif %}</td>
|
||||
<td>{% if r.turnover is not none %}{{ '%.0f'|format(r.turnover) }}{% else %}—{% endif %}</td>
|
||||
<td>{% if r.turnover is defined and r.turnover is not none %}{{ '%.0f'|format(r.turnover) }}{% else %}—{% endif %}</td>
|
||||
<td>{% if r.mult is not none %}{{ '%g'|format(r.mult) }}{% if r.spec_source == 'ctp' %} <span class="text-muted">(柜台)</span>{% endif %}{% else %}—{% endif %}</td>
|
||||
<td>{% if r.tick_size is not none %}{{ '%g'|format(r.tick_size) }}{% if r.spec_source == 'ctp' %} <span class="text-muted">(柜台)</span>{% endif %}{% else %}—{% endif %}</td>
|
||||
<td>{% if r.margin_one_lot %}{{ r.margin_one_lot }}{% if r.margin_source == 'ctp' %} <span class="text-muted">(柜台)</span>{% endif %}{% else %}—{% endif %}</td>
|
||||
|
||||
Reference in New Issue
Block a user