https://github.com/nazmiefearmutcu/dive-into-crypto
Dive Into Crypto — a financial scanner for Binance USDT-M perpetual futures: 15 indicators across 12 timeframes, whale-microstructure divergence filtering, one consensus verdict per symbol. Native Android, runs on your device.
https://github.com/nazmiefearmutcu/dive-into-crypto
android binance compose-multiplatform cryptocurrency futures kotlin scanner technical-analysis
Last synced: 29 days ago
JSON representation
Dive Into Crypto — a financial scanner for Binance USDT-M perpetual futures: 15 indicators across 12 timeframes, whale-microstructure divergence filtering, one consensus verdict per symbol. Native Android, runs on your device.
- Host: GitHub
- URL: https://github.com/nazmiefearmutcu/dive-into-crypto
- Owner: nazmiefearmutcu
- License: mit
- Created: 2026-05-20T12:19:19.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-20T13:06:05.000Z (about 1 month ago)
- Last Synced: 2026-06-20T15:07:23.375Z (about 1 month ago)
- Topics: android, binance, compose-multiplatform, cryptocurrency, futures, kotlin, scanner, technical-analysis
- Language: Kotlin
- Size: 961 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-quant - TBV1 - `Python` - Crypto perpetual-futures bot with a 7-tab web dashboard and a 15-indicator consensus engine voting across 12 timeframes (1m → 1d). Paper-mode by default. Includes packaged macOS reference build and Windows distribution. (Trading & Backtesting)
README
# Dive Into Crypto
[](LICENSE)
[](https://github.com/nazmiefearmutcu/dive-into-crypto/commits)
[](https://github.com/nazmiefearmutcu/dive-into-crypto/stargazers)



**Dive Into Crypto is a financial scanner** for the entire Binance USDT‑M perpetual‑futures
market. For every symbol it runs **15 technical indicators across 12 timeframes**, cross‑checks
the result against **whale (top‑trader) positioning**, and collapses everything into a single
confidence‑scored consensus verdict — long, short, or neutral. It reads only **public** Binance
market data: no account, no API keys, no sign‑up.
It ships in **two editions** that share one consensus engine:
| Edition | Stack | Data | Runs | Status |
| --- | --- | --- | --- | --- |
| **[📱 Android](android/)** | Kotlin · Jetpack Compose | Binance USDT‑M public REST + WS | On your device | Released — `v0.1.0` |
| **[🖥️ Desktop](desktop/)** | Python (Crypcodile) + React terminal UI | Crypcodile‑fed, highest‑fidelity | Local, terminal‑launched | Released — `desktop-v0.1.0` |
> ⚠️ Dive Into Crypto is an analysis and research tool, **not financial advice** and **not an
> automated trader**. It places no orders. Markets are risky; you are responsible for your own decisions.
---
## The Desktop Edition
A single‑window terminal‑themed desktop scanner. Real Binance USDT‑M data flows through
[**Crypcodile**](https://github.com/nazmiefearmutcu/Crypcodile) (the open‑source market‑data
engine) into the same canonical consensus engine the Android app uses — so the desktop verdicts
**match Android exactly** (pinned by 30 parity tests). Three terminal themes: **Phosphor · Amber · Ice**.
| Scanner — ranked market sweep | Panel — one symbol, in depth |
| --- | --- |
|  |  |
### Run it
```bash
git clone https://github.com/nazmiefearmutcu/dive-into-crypto.git
cd dive-into-crypto/desktop/backend
uv sync
uv run dive-desktop # starts the local service and opens the UI in your browser
```
The UI is prebuilt and served by the local service; nothing leaves your machine except public
Binance market‑data requests. Full details: **[desktop/README.md](desktop/README.md)**.
---
## The Android Edition
Native Kotlin/Compose, runs entirely on your device, single signed APK. Install and usage:
**[android/README.md](android/README.md)** · APK on the [latest release](../../releases/latest).
---
## The shared engine
Both editions implement the *same* consensus, pinned to one Python reference (the desktop reuses
it directly; Android pins to it via 61 fixture tests).
### 15 indicators
Every symbol × timeframe runs 15 independent indicators, each returning a five‑level signal
(`STRONG_BUY = +2 … STRONG_SELL = −2`).
| # | Indicator | Defaults | Family |
| --- | --- | --- | --- |
| 1 | RSI | period 14 | Oscillator |
| 2 | Stochastic | %K 14, %D 3 | Oscillator |
| 3 | Williams %R | period 14 | Oscillator |
| 4 | CCI | period 20 | Oscillator |
| 5 | MACD | 12 / 26 / 9 | Trend |
| 6 | EMA cross | 9 / 21 | Trend |
| 7 | SMA cross | 50 / 200 | Trend |
| 8 | Ichimoku | 9 / 26 / 52 | Trend |
| 9 | Parabolic SAR | AF 0.02 / 0.2 | Trend |
| 10 | Bollinger Bands | 20, 2σ | Volatility |
| 11 | MFI | period 14 | Volume |
| 12 | OBV | SMA 20 | Volume |
| 13 | ROC | period 12 | Momentum |
| 14 | ADX + DI | period 14 | Trend strength |
| 15 | ATR filter | period 14 | Volatility (filter, weight 0) |
### Consensus
A weighted vote (`weightedScore = Σ(signal × weight) / Σ(weight)`) with verdict thresholds
(`≥1.2 STRONG_BUY · ≥0.4 BUY · ≤−0.4 SELL · ≤−1.2 STRONG_SELL`), a conflict override that forces
NEUTRAL on too much disagreement, ADX‑driven regime adaptation, a 0–100 confidence score, and a
LOW/MEDIUM/HIGH risk assessment.
### Whale‑divergence filtering
On top of the indicators, Dive Into Crypto watches **top‑trader long/short positioning** and looks
for it to **diverge from price** (empirically contrarian, calibrated on real Binance observations).
A symbol whose whale flow contradicts its indicator verdict is **eliminated** from the ranking and
back‑filled by the next clean survivor. The 12 timeframes are
`1m · 3m · 5m · 15m · 30m · 1h · 2h · 4h · 6h · 8h · 12h · 1d`.
---
## Data sources
Public Binance USDT‑M Futures endpoints only — no authentication.
| Data | Endpoint |
| --- | --- |
| Candles (OHLCV) | `fapi.binance.com/fapi/v1/klines` |
| Open interest history | `fapi.binance.com/futures/data/openInterestHist` |
| Top‑trader L/S (positions / accounts) | `fapi.binance.com/futures/data/topLongShort*Ratio` |
| Global L/S (accounts) | `fapi.binance.com/futures/data/globalLongShortAccountRatio` |
| Taker buy/sell ratio | `fapi.binance.com/futures/data/takerlongshortRatio` |
| Funding / mark / index | `fapi.binance.com/fapi/v1/premiumIndex`, `…/fundingRate` |
> Binance market data may be geo‑restricted in some regions; that is a network/runtime condition
> independent of the app.
---
## Repository layout
```
dive-into-crypto/
├─ android/ # native Kotlin/Compose edition (Gradle)
├─ desktop/ # Python (Crypcodile) backend + React terminal UI
└─ docs/ # specs, plans, screenshots
```
---
## Disclaimer
Dive Into Crypto is an educational and research tool. It does not give financial advice, it does
not execute trades, and it makes no guarantee of accuracy or profitability. Cryptocurrency
derivatives are high‑risk. Use it at your own risk.
## License
[MIT](LICENSE) © nazmiefearmutcu