# przemyslawbak/ohlc_candlestick_patterns architecture

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

- Interactive diagram: https://gitdiagram.com/przemyslawbak/ohlc_candlestick_patterns
- Repository: https://github.com/przemyslawbak/ohlc_candlestick_patterns

## Overview

This is a .NET library for detecting candlestick patterns, classic chart formations, and Fibonacci patterns in OHLCV series, then counting or weighting signals and evaluating historical accuracy. The primary workflow is to provide OHLCV data and a selected pattern family, obtain signal results or accuracy summaries, and optionally visualize results. The examples document these capabilities; the sampled source confirms the console and graphing integrations. Some library orchestration and WPF wiring are not shown, so uncertain calls are omitted.

Main entry points: [`Candlestick_Patterns/Fibonacci.cs`](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Fibonacci.cs) (Fibonacci patterns), [`GraphMaker/FiboTester.cs`](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/GraphMaker/FiboTester.cs) (Fibonacci graph demo), [`Candlestick_Patterns/Signals.cs`](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Signals.cs) (Signal API), [`Candlestick_Patterns/AccuracyTrials.cs`](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/AccuracyTrials.cs) (Accuracy trials)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["Applications"]
  node_console["Console demo<br/>[Program.cs]"]
  node_wpf["Interactive viewer<br/>[MainWindow.xaml.cs]"]
  node_datajson["JSON data loader<br/>[DataFromJson.cs]"]
end

subgraph group_core["Analysis library"]
  node_coredata["OHLCV models<br/>[OhlcvObject.cs]"]
  node_signals["Signal API<br/>[Signals.cs]"]
  node_accuracy["Accuracy trials<br/>[AccuracyTrials.cs]"]
  node_patterns["Candle patterns<br/>[Patterns.cs]"]
  node_formations["Chart formations<br/>[Formations.cs]"]
  node_fibonacci["Fibonacci patterns<br/>[Fibonacci.cs]"]
  node_peaks["Peak detection<br/>[SetPeaksVallyes.cs]"]
  node_zigzag["Signal series<br/>[ZigZagObject.cs]"]
end

subgraph group_visuals["Visualization"]
  node_fiboapp["Fibonacci graph demo<br/>[FiboTester.cs]"]
  node_chartapp["Chart window<br/>[Program.cs]"]
  node_plot["WPF chart<br/>[MainWindow.xaml.cs]"]
end

node_user(("Engineer"))
node_market[("Market data")]

node_user -->|"runs"| node_console
node_market -.->|"provides OHLCV"| node_console
node_console -->|"requests signals"| node_signals
node_console -->|"requests accuracy"| node_accuracy
node_signals -->|"evaluates patterns"| node_patterns
node_signals -->|"evaluates formations"| node_formations
node_signals -->|"evaluates Fibonacci"| node_fibonacci
node_accuracy -->|"tests patterns"| node_patterns
node_accuracy -->|"tests formations"| node_formations
node_accuracy -->|"tests Fibonacci"| node_fibonacci
node_patterns -->|"returns signals"| node_zigzag
node_formations -->|"returns signals"| node_zigzag
node_fibonacci -->|"detects pivots"| node_peaks
node_fibonacci -->|"returns signals"| node_zigzag
node_user -->|"uses"| node_wpf
node_wpf -->|"loads data"| node_datajson
node_user -->|"runs"| node_fiboapp
node_market -.->|"provides OHLCV"| node_fiboapp
node_fiboapp -->|"requests signals"| node_fibonacci
node_fiboapp -->|"renders graph"| node_plot
node_user -->|"opens"| node_chartapp
node_chartapp -->|"requests points"| node_fiboapp

click node_console "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Financial_Candlestick_Patterns/Program.cs"
click node_wpf "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/WPFGraphMaker/MainWindow.xaml.cs"
click node_datajson "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/WPFGraphMaker/DataFromJson.cs"
click node_coredata "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/OhlcvObject.cs"
click node_signals "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Signals.cs"
click node_accuracy "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/AccuracyTrials.cs"
click node_patterns "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Patterns.cs"
click node_formations "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Formations.cs"
click node_fibonacci "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Fibonacci.cs"
click node_peaks "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/SetPeaksVallyes.cs"
click node_zigzag "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/ZigZagObject.cs"
click node_fiboapp "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/GraphMaker/FiboTester.cs"
click node_chartapp "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/GraphCreator/Program.cs"
click node_plot "https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/WPFGraphMaker/MainWindow.xaml.cs"

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_console,node_wpf,node_datajson toneBlue
class node_coredata,node_signals,node_accuracy,node_patterns,node_formations,node_fibonacci,node_peaks,node_zigzag,node_market toneAmber
class node_fiboapp,node_chartapp,node_plot toneMint
class node_user toneIndigo
```

## Components

### Applications

- [Console demo](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Financial_Candlestick_Patterns/Program.cs): `Financial_Candlestick_Patterns/Program.cs`
- [Interactive viewer](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/WPFGraphMaker/MainWindow.xaml.cs): `WPFGraphMaker/MainWindow.xaml.cs`
- [JSON data loader](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/WPFGraphMaker/DataFromJson.cs): `WPFGraphMaker/DataFromJson.cs`

### Analysis library

- [OHLCV models](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/OhlcvObject.cs): `Candlestick_Patterns/OhlcvObject.cs`
- [Signal API](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Signals.cs): `Candlestick_Patterns/Signals.cs`
- [Accuracy trials](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/AccuracyTrials.cs): `Candlestick_Patterns/AccuracyTrials.cs`
- [Candle patterns](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Patterns.cs): `Candlestick_Patterns/Patterns.cs`
- [Chart formations](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Formations.cs): `Candlestick_Patterns/Formations.cs`
- [Fibonacci patterns](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/Fibonacci.cs): `Candlestick_Patterns/Fibonacci.cs`
- [Peak detection](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/SetPeaksVallyes.cs): `Candlestick_Patterns/SetPeaksVallyes.cs`
- [Signal series](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/Candlestick_Patterns/ZigZagObject.cs): `Candlestick_Patterns/ZigZagObject.cs`

### Visualization

- [Fibonacci graph demo](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/GraphMaker/FiboTester.cs): `GraphMaker/FiboTester.cs`
- [Chart window](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/GraphCreator/Program.cs): `GraphCreator/Program.cs`
- [WPF chart](https://github.com/przemyslawbak/ohlc_candlestick_patterns/blob/main/WPFGraphMaker/MainWindow.xaml.cs): `WPFGraphMaker/MainWindow.xaml.cs`

### Other components

- **Engineer**
- **Market data**

## Connections

- Engineer → Console demo: runs
- Market data → Console demo: provides OHLCV
- Console demo → Signal API: requests signals
- Console demo → Accuracy trials: requests accuracy
- Signal API → Candle patterns: evaluates patterns
- Signal API → Chart formations: evaluates formations
- Signal API → Fibonacci patterns: evaluates Fibonacci
- Accuracy trials → Candle patterns: tests patterns
- Accuracy trials → Chart formations: tests formations
- Accuracy trials → Fibonacci patterns: tests Fibonacci
- Candle patterns → Signal series: returns signals
- Chart formations → Signal series: returns signals
- Fibonacci patterns → Peak detection: detects pivots
- Fibonacci patterns → Signal series: returns signals
- Engineer → Interactive viewer: uses
- Interactive viewer → JSON data loader: loads data
- Engineer → Fibonacci graph demo: runs
- Market data → Fibonacci graph demo: provides OHLCV
- Fibonacci graph demo → Fibonacci patterns: requests signals
- Fibonacci graph demo → WPF chart: renders graph
- Engineer → Chart window: opens
- Chart window → Fibonacci graph demo: requests points
