A Streamlit web application for long-term crypto investors. Analyzes market phases (Accumulation/Distribution), detects 50+ candlestick patterns, provides entry signals, and monitors derivatives data (Open Interest, Funding Rate, Long/Short Ratio).
| Feature | Description |
|---|---|
| π Watchlist Dashboard | Monitor multiple assets at a glance with A/D status |
| π’ Phase Zones | Shaded chart areas showing Accumulation/Distribution periods |
| π Simplified Wyckoff | Beginner-friendly labels: "Smart Money Buying/Selling" |
| β Entry Signals | Strong Buy/Sell when A/D + Pattern align |
| π Timeframe Compare | Daily vs Weekly alignment check |
| 50+ Patterns | Hammer, Doji, Engulfing, Morning Star, and more |
| π Open Interest Monitor | Derivatives analysis with investment scoring |
Analyze futures market data for smarter investment decisions:
- Open Interest (OI): Track rising/falling OI with price divergence
- Funding Rate: Identify market sentiment (bullish/bearish bias)
- Long/Short Ratio: See market positioning at a glance
- Investment Score: 0-100 score combining all derivatives metrics
- Historical Signals: Visual markers showing past bullish/bearish signals
| OI Change | Price Change | Signal | Meaning |
|---|---|---|---|
| β Rising | β Rising | π’ Bullish | New money entering, trend strengthening |
| β Rising | β Falling | π΄ Bearish | Short sellers entering aggressively |
| β Falling | β Rising | π‘ Weak Rally | Short covering, may not sustain |
| β Falling | β Falling | π Capitulation | Liquidations, potential bottom |
Add your favorite coins (BTC, ETH, SOL, etc.) and see which ones are in Accumulation (π’) or Distribution (π΄) at a glance.
Select a coin and click "Analyze" to see:
- Phase Zones: Green shaded areas = Accumulation periods
- Wyckoff Phase: Simple labels like "Smart Money Buying"
- Entry Signals: β markers when pattern + phase align
Check if Daily AND Weekly charts agree:
- β Both bullish = High confidence entry
β οΈ Mixed = Wait for confirmation
Select a coin and analyze derivatives data:
- 4-Hour Resolution: ~3 months of data for short-term trends
- Daily Resolution: ~1 year of data for long-term analysis
- Investment Score: 0-100 rating based on derivatives health
- Frontend: Streamlit
- Data Sources:
- Yahoo Finance (
yfinance) - Default, native daily + weekly support - CryptoCompare API - Alternative source, best for daily timeframe
- Yahoo Finance (
- Derivatives: Coinalyze API
- Analysis: TA-Lib (Technical Analysis Library)
- Charts: Plotly
The app includes a toggle to switch between Yahoo Finance and CryptoCompare:
- Yahoo Finance (Default): Recommended for weekly timeframe analysis as it provides native weekly candlestick data
- CryptoCompare: Great for daily timeframe, but weekly data is simulated by aggregating daily candles (less accurate for weekly analysis)
# Clone repo
git clone https://github.com/foxy1402/candlestick-watcher.git
cd candlestick-watcher
# Install dependencies (requires TA-Lib C library)
pip install -r requirements.txt
# Run
streamlit run app.py
β οΈ Note: TA-Lib requires a C library. On Windows, use pre-built wheels. On Linux/Mac, install viabrew install ta-liborapt-get install libta-lib-dev.
- Push this repo to GitHub
- Go to share.streamlit.io
- Connect your repo, select
app.py - Add Secrets (Settings β Secrets):
COINALYZE_API_KEY = "your-api-key-here"
- Deploy!
- Sign up at coinalyze.net
- Get your free API key (1000 calls/month)
- Add to Streamlit Secrets as shown above
Every push to main/master (and every v* tag) builds a container image and
publishes it to the GitHub Container Registry via GitHub Actions
(.github/workflows/docker-publish.yml). No registry secrets are required β
it uses the built-in GITHUB_TOKEN.
Image: ghcr.io/foxy1402/candlestick-watcher:latest
After the first successful run, open the package on GitHub β Package settings and set visibility to Public if you want to pull it without authentication.
| Variable | Default | Description |
|---|---|---|
PORT |
8501 |
Port the app listens on. Most PaaS inject this automatically. |
COINALYZE_API_KEY |
β | Required for the Open Interest Monitor. |
CRYPTOCOMPARE_API_KEY |
β | Optional alternative price data source. |
docker run --rm -p 8501:8501 \
-e COINALYZE_API_KEY=your-key \
ghcr.io/foxy1402/candlestick-watcher:latest
# open http://localhost:8501To run on a different port:
docker run --rm -e PORT=9000 -p 9000:9000 ghcr.io/foxy1402/candlestick-watcher:latest- New β Web Service β Deploy an existing image from a registry
- Image URL:
ghcr.io/foxy1402/candlestick-watcher:latest - Render sets
PORTautomatically β the app binds to it, no extra config needed. - Add
COINALYZE_API_KEYunder Environment.
- Stacks / Containers β Add container
- Image:
ghcr.io/foxy1402/candlestick-watcher:latest - Map a host port to container port
8501(or setPORTand map that port). - Add env vars (
PORT,COINALYZE_API_KEY) under Env.
docker build -t candlestick-watcher .
docker run --rm -p 8501:8501 candlestick-watcherMIT
- Original pattern logic inspired by Caner Irfanoglu's article
- TA-Lib
- Coinalyze API for derivatives data