{% extends "base.html" %} {% block title %}Analyse technique - Bolsa{% endblock %} {% block header_title %}Analyse technique{% endblock %} {% block content %}
{% set messages = get_flashed_messages(with_categories=true) %} {% if messages %} {% for category, message in messages %}
{{ message }}
{% endfor %} {% endif %}
Retour au menu
{% if resultat %} {% if resultat.erreur %}

{{ resultat.erreur }}

{% if resultat.action %}

Action : {{ resultat.action.company_name }} ({{ resultat.isin }})

{% endif %}
{% else %}

{{ resultat.action.company_name }}

{{ resultat.isin }} {% if resultat.action.ticker %} · {{ resultat.action.ticker }}{% endif %}

{{ "{:,.2f}".format(resultat.cours) }} {{ resultat.action.currency or '€' }} {% set vj = resultat.variation_jour %} {% if vj %}{{ "{:+,.2f}".format(vj) }} %{% else %}--{% endif %}

Dernier cours : {{ resultat.derniere_date_cours }}

Score

{{ resultat.score }}/100

{% if resultat.tendance == 'haussiere' %}🟢 Haussière{% elif resultat.tendance == 'baissiere' %}🔴 Baissière{% else %}🟡 Neutre{% endif %}

{% set rsi14 = resultat.rsi.RSI14 %}

RSI 14

{{ rsi14.valeur if rsi14.valeur is not none else '--' }}

{{ rsi14.zone }}

{% set macd = resultat.macd %}

MACD

{{ "{:+.2f}".format(macd.histogramme) if macd.histogramme is not none else '--' }}

{{ macd.croisement }}

ATR 14

{{ resultat.atr.ATR14 if resultat.atr.ATR14 is not none else '--' }}

{{ resultat.atr.ATR14_pct if resultat.atr.ATR14_pct is not none else '--' }}% du cours

Volatilité 20j

{{ resultat.volatilite.actuelle if resultat.volatilite.actuelle is not none else '--' }}%

Moy 1an : {{ resultat.volatilite.moyenne_1an if resultat.volatilite.moyenne_1an is not none else '--' }}%

Bollinger

{{ resultat.bollinger.position if resultat.bollinger.position is not none else '--' }}%

position dans les bandes

Volume relatif

{{ resultat.volumes.volume_relatif if resultat.volumes.volume_relatif is not none else '--' }}x

{% if resultat.volumes.exceptionnel %}Exceptionnel{% else %}Normal{% endif %}

Drawdown

{{ "{:.1f}".format(resultat.drawdown.actuel) if resultat.drawdown.actuel is not none else '--' }}%

Max : {{ "{:.1f}".format(resultat.drawdown.maximum) if resultat.drawdown.maximum is not none else '--' }}%

Cours & Moyennes mobiles

Volumes

Volatilité 20j annualisée

Supports & Résistances

{% for fenetre in ['20j', '50j', '100j', '250j'] %} {% endfor %}
FenêtrePlus HautPlus Bas
{{ fenetre }} {{ "{:,.2f}".format(resultat.supports_resistances.plus_haut[fenetre]) if resultat.supports_resistances.plus_haut[fenetre] is not none else '--' }} {{ "{:,.2f}".format(resultat.supports_resistances.plus_bas[fenetre]) if resultat.supports_resistances.plus_bas[fenetre] is not none else '--' }}

Support proche : {{ "{:,.2f}".format(resultat.supports_resistances.support_proche) if resultat.supports_resistances.support_proche is not none else '--' }} {{ resultat.action.currency or '€' }}

Résistance proche : {{ "{:,.2f}".format(resultat.supports_resistances.resistance_proche) if resultat.supports_resistances.resistance_proche is not none else '--' }} {{ resultat.action.currency or '€' }}

{% set pb52 = resultat.supports_resistances.plus_bas['250j'] %} {% set ph52 = resultat.supports_resistances.plus_haut['250j'] %} {% set cours = resultat.cours %} {% if pb52 is not none and ph52 is not none and ph52 > pb52 %} {% set pct_pos = ((cours - pb52) / (ph52 - pb52) * 100) | float %}
{{ "{:,.2f}".format(pb52) }} Cours : {{ "{:,.2f}".format(cours) }} {{ "{:,.2f}".format(ph52) }}
{% endif %}

Analyse des gaps

Total gaps

{{ resultat.gap.nb_total }}

Taux comblés

{{ resultat.gap.taux_combles }}%

Gap moyen

{{ resultat.gap.gap_moyen }}%

Plus gros gap

{{ resultat.gap.plus_gros_gap }}%

{% if resultat.gap.derniers %} {% for g in resultat.gap.derniers %} {% endfor %}
DateTypeTailleComblé
{{ g.date }} Gap {{ g.type }} {{ "{:+.2f}".format(g.taille) }}% {% if g.comble %}✓ Oui ({{ g.jours_combles }}j){% else %}✗ Non{% endif %}
{% else %}

Aucun gap significatif détecté.

{% endif %}

Analyse automatique

🟢 Points positifs

{% if resultat.points_positifs %} {% for p in resultat.points_positifs %}

{{ p }}

{% endfor %} {% else %}

Aucun point positif détecté.

{% endif %}

🔴 Points négatifs

{% if resultat.points_negatifs %} {% for n in resultat.points_negatifs %}

{{ n }}

{% endfor %} {% else %}

Aucun point négatif détecté.

{% endif %}

Conclusion : Tendance {% if resultat.tendance == 'haussiere' %}positive {% elif resultat.tendance == 'baissiere' %}négative {% else %}neutre{% endif %} — Score {{ resultat.score }}/100. {% if resultat.points_negatifs and resultat.points_positifs %}Des signaux contradictoires sont présents, prudence recommandée.{% endif %}

Performances

{% for fenetre, val in resultat.performances.fenetres.items() %} {% endfor %} {% if resultat.performances.ytd is not none %} {% endif %}
{{ fenetre }} {{ "{:+.2f}".format(val) if val is not none else '--' }}%
YTD {{ "{:+.2f}".format(resultat.performances.ytd) }}%

Moyennes mobiles & Séries

{% for mm, val in resultat.moyennes_mobiles.sma.items() %} {% if mm.endswith('_distance') %}{% else %} {% endif %} {% endfor %}
{{ mm }} {{ "{:,.2f}".format(val) if val is not none else '--' }} {{ "{:+.2f}".format(resultat.moyennes_mobiles.sma[mm + '_distance']) if resultat.moyennes_mobiles.sma.get(mm + '_distance') is not none else '' }}%

Hausse consécutive : {{ resultat.series.jours_hausse_consecutifs }}j · Baisse : {{ resultat.series.jours_baisse_consecutifs }}j

Plus forte hausse : {{ "{:+.2f}".format(resultat.series.plus_forte_hausse) if resultat.series.plus_forte_hausse is not none else '--' }}% · Plus forte baisse : {{ "{:.2f}".format(resultat.series.plus_forte_baisse) if resultat.series.plus_forte_baisse is not none else '--' }}%

Chandeliers japonais

Pattern actuel : {{ resultat.chandeliers.pattern_actuel }}

{% if resultat.chandeliers.derniers_detectes %} {% for c in resultat.chandeliers.derniers_detectes %} {% endfor %}
DatePattern
{{ c.date }}{{ c.pattern }}
{% else %}

Aucun pattern significatif détecté récemment.

{% endif %}
{% endif %} {% else %}

Analyse technique

Saisissez un ISIN ci-dessus pour afficher la fiche d'analyse complète.

{% endif %}
{% endblock %}