# iterativv/nostalgiaforinfinity architecture

> Architecture diagram of the GitHub repository iterativv/nostalgiaforinfinity, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/iterativv/nostalgiaforinfinity
- Repository: https://github.com/iterativv/nostalgiaforinfinity

## Overview

NostalgiaForInfinity is a Freqtrade crypto-trading strategy. In live use, Freqtrade supplies market candles and trade context to the strategy; the strategy computes indicators, evaluates entry and exit rules, and returns decisions that Freqtrade executes through an exchange. The repository also documents configurable pairlists, spot/futures modes, backtesting, and position-management features such as rebuy and derisking. The strategy excerpts are partial, so internal method-level wiring is not asserted. README-described update flows are shown separately from trading.

Main entry points: [`docker/updater/entrypoint.sh`](https://github.com/iterativv/nostalgiaforinfinity/blob/main/docker/updater/entrypoint.sh) (Docker updater), [`NostalgiaForInfinityX8.py`](https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py) (Market candles), [`docs/backtesting`](https://github.com/iterativv/nostalgiaforinfinity/tree/main/docs/backtesting) (Backtesting), [`configs/recommended_config.json`](https://github.com/iterativv/nostalgiaforinfinity/blob/main/configs/recommended_config.json) (Bot configuration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_trading["Strategy runtime"]
  node_candles["Market candles"]
  node_indicators["Indicators"]
  node_entry["Entry signals"]
  node_exit["Exit signals"]
  node_position["Position management"]
end

subgraph group_config["Trading setup"]
  node_configfiles["Bot configuration"]
  node_pairlists["Pairlists and blacklists"]
end

subgraph group_operations["Operations"]
  node_backtest["Backtesting"]
  node_results["Backtest results"]
  node_standalone["Standalone updater<br/>[checkupdates.sh]"]
  node_dockerupdater["Docker updater<br/>[entrypoint.sh]"]
end

node_operator(("Trader"))
node_freqtrade["Freqtrade bot"]
node_exchange["Crypto exchange"]
node_github["GitHub repository"]

node_operator -->|"configures"| node_freqtrade
node_configfiles -->|"configures"| node_freqtrade
node_pairlists -->|"supplies pairs"| node_freqtrade
node_exchange -->|"provides market data"| node_freqtrade
node_freqtrade -->|"passes candles"| node_candles
node_candles -->|"computes features"| node_indicators
node_freqtrade -->|"requests analysis"| node_indicators
node_freqtrade -->|"requests signals"| node_entry
node_freqtrade -->|"requests signals"| node_exit
node_freqtrade -->|"requests adjustments"| node_position
node_entry -->|"returns entries"| node_freqtrade
node_exit -->|"returns exits"| node_freqtrade
node_position -->|"returns adjustments"| node_freqtrade
node_freqtrade -->|"places orders"| node_exchange
node_freqtrade -->|"runs strategy"| node_backtest
node_backtest -->|"produces results"| node_results
node_standalone -.->|"checks updates"| node_github
node_dockerupdater -.->|"checks updates"| node_github
node_dockerupdater -.->|"may restart"| node_freqtrade

click node_candles "https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py"
click node_indicators "https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py"
click node_entry "https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py"
click node_exit "https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py"
click node_position "https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py"
click node_configfiles "https://github.com/iterativv/nostalgiaforinfinity/blob/main/configs/recommended_config.json"
click node_pairlists "https://github.com/iterativv/nostalgiaforinfinity/tree/main/configs"
click node_backtest "https://github.com/iterativv/nostalgiaforinfinity/tree/main/docs/backtesting"
click node_results "https://github.com/iterativv/nostalgiaforinfinity/tree/main/docs/backtest-results"
click node_standalone "https://github.com/iterativv/nostalgiaforinfinity/blob/main/tools/checkupdates.sh"
click node_dockerupdater "https://github.com/iterativv/nostalgiaforinfinity/blob/main/docker/updater/entrypoint.sh"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_candles,node_indicators,node_entry,node_exit,node_position toneBlue
class node_configfiles,node_pairlists toneAmber
class node_backtest,node_results,node_standalone,node_dockerupdater toneMint
class node_operator,node_freqtrade,node_exchange,node_github toneIndigo
```

## Components

### Strategy runtime

- [Market candles](https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py): `NostalgiaForInfinityX8.py`
- [Indicators](https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py): `NostalgiaForInfinityX8.py`
- [Entry signals](https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py): `NostalgiaForInfinityX8.py`
- [Exit signals](https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py): `NostalgiaForInfinityX8.py`
- [Position management](https://github.com/iterativv/nostalgiaforinfinity/blob/main/NostalgiaForInfinityX8.py): `NostalgiaForInfinityX8.py`

### Trading setup

- [Bot configuration](https://github.com/iterativv/nostalgiaforinfinity/blob/main/configs/recommended_config.json): `configs/recommended_config.json`
- [Pairlists and blacklists](https://github.com/iterativv/nostalgiaforinfinity/tree/main/configs): `configs`

### Operations

- [Backtesting](https://github.com/iterativv/nostalgiaforinfinity/tree/main/docs/backtesting): `docs/backtesting`
- [Backtest results](https://github.com/iterativv/nostalgiaforinfinity/tree/main/docs/backtest-results): `docs/backtest-results`
- [Standalone updater](https://github.com/iterativv/nostalgiaforinfinity/blob/main/tools/checkupdates.sh): `tools/checkupdates.sh`
- [Docker updater](https://github.com/iterativv/nostalgiaforinfinity/blob/main/docker/updater/entrypoint.sh): `docker/updater/entrypoint.sh`

### Other components

- **Trader**
- **Freqtrade bot**
- **Crypto exchange**
- **GitHub repository**

## Connections

- Trader → Freqtrade bot: configures
- Bot configuration → Freqtrade bot: configures
- Pairlists and blacklists → Freqtrade bot: supplies pairs
- Crypto exchange → Freqtrade bot: provides market data
- Freqtrade bot → Market candles: passes candles
- Market candles → Indicators: computes features
- Freqtrade bot → Indicators: requests analysis
- Freqtrade bot → Entry signals: requests signals
- Freqtrade bot → Exit signals: requests signals
- Freqtrade bot → Position management: requests adjustments
- Entry signals → Freqtrade bot: returns entries
- Exit signals → Freqtrade bot: returns exits
- Position management → Freqtrade bot: returns adjustments
- Freqtrade bot → Crypto exchange: places orders
- Freqtrade bot → Backtesting: runs strategy
- Backtesting → Backtest results: produces results
- Standalone updater → GitHub repository: checks updates
- Docker updater → GitHub repository: checks updates
- Docker updater → Freqtrade bot: may restart
