{% extends "base.html" %} {% from "_macros.html" import pat, wlabel, pill, tri, icon, popover %} {% set active = "home" %} {% block title %}Home — wave-alpha{% endblock %} {% block content %}

Welcome to wave-alpha

{% if view.kpis.signals is not none and view.kpis.signals > 0 %} {{ view.kpis.signals }} signal{% if view.kpis.signals != 1 %}s{% endif %} from your latest scan {% if view.kpis.watchlist_hits is not none and view.kpis.watchlist_hits > 0 %} · {{ view.kpis.watchlist_hits }} of your watched tickers triggered {% endif %}. {% else %} Run a scan or open a deep-dive below to get started. {% endif %}

{{ icon('plus', 14) }}Add to watchlist Open scan {{ icon('arrow-right', 14) }}
Signals {% call popover("What 'Signals' counts", anchor="pipeline") %}

Tickers in the latest scan with a non-null trade signal — entry, stop, target, and R:R all defined.

{% endcall %}
{{ view.kpis.signals if view.kpis.signals is not none else "—" }}
{% if view.latest_scan_id %}from {{ view.latest_scan_id }}{% else %}no scans yet{% endif %}
Top R:R {% call popover("What 'Top R:R' shows", anchor="trade-plan") %}

Maximum signal R:R across the latest scan. The sub-line names the ticker and bias.

{% endcall %}
{{ "%.2f"|format(view.kpis.top_rr.value|float) if view.kpis.top_rr else "—" }}
{% if view.kpis.top_rr %}{{ view.kpis.top_rr.ticker }} · {{ view.kpis.top_rr.bias or "—" }}{% else %}—{% endif %}
Watchlist hits {% call popover("What 'Watchlist hits' counts", anchor="pipeline") %}

Watchlist symbols that produced a signal in the latest scan, matched case-insensitively by ticker.

{% endcall %}
{{ view.kpis.watchlist_hits if view.kpis.watchlist_hits is not none else "—" }}
{% if view.kpis.watchlist_hits is not none %}of {{ view.watchlist_total }} watched{% else %}no watchlist{% endif %}
Stable picks {% call popover("What 'Stable picks' means", anchor="coherence") %}

Watchlist symbols whose history streak ≥ 3 — same direction in the last 3 scans.

{% endcall %}
{{ view.kpis.stable_picks if view.kpis.stable_picks is not none else "—" }}
streak ≥ 3 days

Deep-dive any ticker

Tip: press ⌘K from anywhere to focus the nav search.

Today's top signals

{% if view.latest_scan_id %}View scan →{% endif %}
{% if view.top_signals %} {% for r in view.top_signals %} {% endfor %}
{{ r.ticker }} {{ pat(r.top_pattern) }} {% if r.direction == "up" %}{{ pill("LONG", "bull", dot=true) }} {% elif r.direction == "down" %}{{ pill("SHORT", "bear", dot=true) }} {% else %}{{ pill("—", "muted") }}{% endif %} {{ "%.2f"|format(r.top_score) if r.top_score is not none else "—" }} {{ "%.2f"|format(r.signal_rr|float) }}R
{% else %}

No signals in the latest scan.

{% endif %}

Your watchlist · top picks

View all →
{% if view.watchlist_top %}
{% for w in view.watchlist_top %}
{{ w.symbol }} {% if w.pattern %}{{ pat(w.pattern) }}{% else %}no high-confidence count{% endif %} {% if w.bias == "long" %}{{ pill("LONG", "bull", dot=true) }} {% elif w.bias == "short" %}{{ pill("SHORT", "bear", dot=true) }} {% else %}{% endif %} {% if w.signal_rr %}{{ "%.1f"|format(w.signal_rr|float) }}R {% else %}{% endif %}
{% endfor %}
{% else %}

No watchlist entries yet — add some.

{% endif %}
{% if view.recently_analyzed %}

Recently analyzed

{% for r in view.recently_analyzed %} {{ r.ticker }} · {{ r.as_of }} {% endfor %}
{% endif %}
{% endblock %}