{"id":51097063,"url":"https://github.com/asidko/binance-kline-scanner","last_synced_at":"2026-06-24T07:31:09.477Z","repository":{"id":366330441,"uuid":"1275879974","full_name":"asidko/binance-kline-scanner","owner":"asidko","description":"Screen Binance USD-M futures for fresh same-color candle impulses","archived":false,"fork":false,"pushed_at":"2026-06-21T09:46:10.000Z","size":290,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-21T11:14:23.334Z","etag":null,"topics":["binance","candlestick","cli","crypto","futures","scanner","trading"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asidko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-21T08:52:57.000Z","updated_at":"2026-06-21T09:46:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/asidko/binance-kline-scanner","commit_stats":null,"previous_names":["asidko/binance-kline-scanner"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/asidko/binance-kline-scanner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asidko%2Fbinance-kline-scanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asidko%2Fbinance-kline-scanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asidko%2Fbinance-kline-scanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asidko%2Fbinance-kline-scanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asidko","download_url":"https://codeload.github.com/asidko/binance-kline-scanner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asidko%2Fbinance-kline-scanner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34722609,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-24T02:00:07.484Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binance","candlestick","cli","crypto","futures","scanner","trading"],"created_at":"2026-06-24T07:31:07.220Z","updated_at":"2026-06-24T07:31:09.466Z","avatar_url":"https://github.com/asidko.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# binance-kline-scanner\n\n[![ci](https://github.com/asidko/binance-kline-scanner/actions/workflows/ci.yml/badge.svg)](https://github.com/asidko/binance-kline-scanner/actions/workflows/ci.yml)\n[![release](https://img.shields.io/github/v/release/asidko/binance-kline-scanner)](https://github.com/asidko/binance-kline-scanner/releases/latest)\n[![license: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n\n![demo](demo.jpg)\n\nScreen Binance USD-M futures for fresh impulse setups - runs of N consecutive\nsame-color \"large\" candles, ranked best-first. It flags where price ran hard,\nthen stalled into a level it has to break - and computes that level for you.\n`bks` scans your whole watchlist in parallel.\n\n![chart](chart.jpg)\n\n*`bks` looks for setups like this: a burst of large candles, then a tight\nconsolidation - it finds them and marks the break level (red) price coils against.*\n\n## Install\n\nPrebuilt single-file binary (Linux / macOS, x86_64 / arm64), no Python needed:\n\n```\ncurl -fsSL https://raw.githubusercontent.com/asidko/binance-kline-scanner/main/install.sh | sh\n```\n\nThis drops `bks` into `~/.local/bin`. To uninstall, run the same line with\n`--remove` appended:\n\n```\ncurl -fsSL https://raw.githubusercontent.com/asidko/binance-kline-scanner/main/install.sh | sh -s -- --remove\n```\n\nPrefer to do it by hand? Download a binary from the\n[latest release](https://github.com/asidko/binance-kline-scanner/releases/latest)\nand `chmod +x` it.\n\n**Android (Termux):** the same `curl ... | sh` line works - arm64 gets a\nprebuilt binary; other arches build from source (`pkg install python` first).\n\n## Use\n\n```\nbks\n```\n\nScans your watchlist on the 15m timeframe and prints the strongest setups first.\nSymbols come from `~/.config/bks/scan_symbols.txt`, created from a default list\non first run - edit it to choose what scans.\n\nMore:\n\n```\nbks --direction down             # bearish impulses only\nbks --type ongoing               # still-running moves (skip ones price already reacted to)\nbks --include-stale              # also show runs price has closed back into\nbks --all-symbols                # every Binance USD-M perp (crypto + TradFi), ~hundreds\nbks --symbols SOLUSDT,XRPUSDT    # these symbols instead of the watchlist\nbks --count 4 --k 2              # stricter: 4+ candles, bigger-than-usual bodies\nbks --interval 1h                # a different timeframe (default 15m)\nbks --full                       # extra columns: base, freshness, body sizes\nbks --format json                # machine-readable, for piping into other tools\n```\n\nA run is N+ consecutive same-color candles whose bodies beat the window's\ntypical body. Fresh runs (no later candle has closed back into them) rank first,\nthen by length, then body size. The still-forming candle is dropped, so results\nnever shift mid-candle.\n\nEach row shows direction, type (`ongoing`, or `level` with the price it reacted\nat), age, length, and start time; `--full` adds base, freshness, and body sizes.\nExit code: `0` matched, `1` none, `2` error.\n\n## Symbols\n\nThe default watchlist is liquid crypto alts plus TradFi / pre-IPO equity perps\n(TSLA, NVDA, SpaceX, OpenAI, ...). Edit `~/.config/bks/scan_symbols.txt` to change\nit, or override the dir with `BKS_CONFIG_DIR`. Or `--all-symbols` to skip the list\nand scan every trading USD-M perpetual Binance lists.\n\n## Telegram alerts\n\nWant a ping when price reaches a level? Install\n[binance-futures-monitor](https://github.com/asidko/binance-futures-monitor)\n(`bfm`), then turn the levels `bks` finds into alerts:\n\n```\nbks --type level --format json | jq -r '.results[] | \"\\(.symbol) \\(.runs[0].level)\"' \\\n  | while read sym lvl; do bfm add --symbol \"$sym\" --level \"$lvl\"; done\n```\n\n`bfm` pings you (Telegram, etc.) when price hits any of them.\n\n## How it works\n\nTwo pieces, wired by import:\n\n- `klines_seq_detector.py` - the pure detector: an OHLC window in, a verdict out.\n  No network, no symbols; importable or runnable standalone.\n- `scanner.py` - read-only fetch of klines per symbol from Binance in a bounded,\n  jittered thread pool, runs the detector, ranks, renders. This is the `bks` binary.\n\n## Build from source\n\n```\nuv sync\nuv run ./scanner.py                                  # run without installing\nuv run python build.py                               # build the bks binary\nuv run python test_scanner.py                        # tests (no network)\n```\n\n## License\n\nMIT - see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasidko%2Fbinance-kline-scanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasidko%2Fbinance-kline-scanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasidko%2Fbinance-kline-scanner/lists"}