{"id":37097375,"url":"https://github.com/heyphat/follow.markets","last_synced_at":"2026-01-14T11:58:06.483Z","repository":{"id":42030905,"uuid":"427905809","full_name":"heyphat/follow.markets","owner":"heyphat","description":" The software enables traders to configure trading signals from markets' observable price actions, build, backtest trading strategies, and eventually conduct and manage trades.","archived":false,"fork":false,"pushed_at":"2023-08-22T06:49:17.000Z","size":4519,"stargazers_count":19,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-19T06:55:56.959Z","etag":null,"topics":["bitcoin","bot","crypto","cryptocurrency","go","golang","markets","stock","telegram","trading","trading-bot"],"latest_commit_sha":null,"homepage":"https://follow.markets","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heyphat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-11-14T11:08:31.000Z","updated_at":"2024-05-06T05:50:57.000Z","dependencies_parsed_at":"2024-06-19T06:17:47.925Z","dependency_job_id":"1e3f4526-76f0-4c3b-9aa7-cf021ef28ba8","html_url":"https://github.com/heyphat/follow.markets","commit_stats":{"total_commits":425,"total_committers":2,"mean_commits":212.5,"dds":"0.0023529411764705577","last_synced_commit":"c92e6acc4c5538301625e95535d9aefe618eb394"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/heyphat/follow.markets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heyphat%2Ffollow.markets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heyphat%2Ffollow.markets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heyphat%2Ffollow.markets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heyphat%2Ffollow.markets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heyphat","download_url":"https://codeload.github.com/heyphat/follow.markets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heyphat%2Ffollow.markets/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28419272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bitcoin","bot","crypto","cryptocurrency","go","golang","markets","stock","telegram","trading","trading-bot"],"created_at":"2026-01-14T11:58:05.856Z","updated_at":"2026-01-14T11:58:06.476Z","avatar_url":"https://github.com/heyphat.png","language":"Go","funding_links":["https://www.buymeacoffee.com/phat"],"categories":[],"sub_categories":[],"readme":"# About\r\nThis is an engine that enables traders to configure trading signals from markets' observable price actions, backtest trading signals/strategies, and eventually conduct/manage trades.\r\n\r\nThis project was born because I found it hard to\r\n1. constantly keep track of the entire market movements based on a set of configurable conditions/rules which is called `signal`.\r\n2. quickly validate trading strategies with absolutely zero coding steps. When a beautiful strategy pops up in my head, just configure it, then execute a backtest request.\r\n3. trade the markets with configurable, validated \u0026 profitable strategies.\r\n\r\nSo if you find yourself suffering from the same pains I had, give it a shot. I would love to hear your thoughts on this.\r\n\r\n# Getting Started\r\n\r\nThe easiest way is to pull the docker image `phat/follow.markets:main` from the docker hub, clone this project and update the `configs/configs.json` file with your personal credentials and likings then run the docker command \r\n\r\n```\r\ngit clone https://github.com/heyphat/follow.markets.git\r\n\r\ncd follow.markets\r\n\r\ndocker pull phat/follow.markets:main\r\n\r\ndocker run -d --rm --name follow.markets \\\r\n  -p 6868:6868\\\r\n  -v $(pwd)/configs/configs.json:/configs/configs.json \\\r\n  -v $(pwd)/configs/results:/configs/results \\\r\n  -v $(pwd)/configs/signals:/configs/signals \\\r\n  phat/follow.markets:main\r\n```\r\n\r\nchange the port flag, `-p`, to match with your setting of `server.port` in the `configs/configs.json` file if needed.\r\n\r\nIf you use arm64-based machine or want to build it from the source code, run the `bash scripts/build` to build docker image, it should build the image with `dev` tag.\r\n\r\nAfter the application deployment, you should be able to call to check on the watchlist via the watcher [APIs](https://github.com/heyphat/follow.markets/blob/main/docs/watcher.mdx). If you check the logs you should see this\r\n\r\n```\r\n2022/02/26 11:53:02 Datadog Tracer v1.34.0 INFO: DATADOG TRACER CONFIGURATION .......\r\n172.17.0.1 - - [26/Feb/2022:11:53:04 +0000] \"POST /evaluator/drop/sample HTTP/1.1\" 200 0\r\nINFO: 2022/02/26 11:53:06 watcher.go:147: [watcher] ETHUSDT: started watching\r\nINFO: 2022/02/26 11:53:08 watcher.go:147: [watcher] ETHUSDTPERP: started watching\r\nINFO: 2022/02/26 11:53:11 watcher.go:147: [watcher] BTCUSDT: started watching\r\nINFO: 2022/02/26 11:53:14 watcher.go:147: [watcher] BTCUSDTPERP: started watching\r\n```\r\n\r\n# Configuration\r\n\r\nThis part discusses only the mandatory variables in the `configs/configs.json` file. For more information, refer to the docs [here](https://github.com/heyphat/follow.markets/tree/main/configs).\r\n\r\n1. Market data provider: `market.provider.binance`. The application targets crypto market at the moment and consumes data provided by Binance. You need to have a Binance account and get the keys, `api_key` and `secret_key`. \r\n2. Market notifier bot: \r\n    1. `market.notifier.telegram.bot_token`. Ask the [BotFather](https://core.telegram.org/bots) for a telegram `bot_token` if you don't know how to get it yet. Then start a conversation with your bot after deploying the system. If you know your tele account `chatID`, you can add it to the `market.notifier.telegram.chat_ids` in advance. Otherwise, you can obtain it from the `bot`.\r\n    2. `market.notifier.telegram.bot_password` this password is to prevent others to access your bot. You can set it to anything, the bot will ask you for authorization when you start talking to it.\r\n3. Visit the signal configurator [here](https://follow.markets) to craft your own signals, or download some samples\r\n    1. 5 minute bullish flag, [here](https://follow.markets/signals/5m_bullish_flag).\r\n    2. 15 minute bullish flag, [here](https://follow.markets/signals/15m_bullish_flag).\r\n    3. 5 minute bullish rolling, [here](https://follow.markets/signals/5m_bullish_rolling)\r\n    4. 15 minute moving average crossing over, [here](https://follow.markets/signals/15m_ma_cross_over)\r\n4. Market signal source path: `market.evaluator.source_path`. Place your signals into this directory before deployment. There is another way to add signals to the system, visit the [evaluator docs]() for more information.\r\n\r\n# Todos \r\n- [ ] Add more indicators.\r\n- [ ] Add more brokers.\r\n- [ ] Integrate with the stock market.\r\n\r\n# More docs (to be updated...)\r\n1. [Configuration](https://github.com/heyphat/follow.markets/tree/main/configs)\r\n2. The market components \u0026 APIs \r\n    1. [Watcher](https://github.com/heyphat/follow.markets/blob/main/docs/watcher.mdx)\r\n    2. [Evaluator]()\r\n    4. [Notifier]()\r\n    5. [Tester]()\r\n    6. [Trader]()\r\n    7. [Streamer]()\r\n3. Other concepts \r\n    1. [Signal]()\r\n    2. [Strategy]()\r\n    3. [Runner]()\r\n    4. [Indicator]()\r\n    5. [Database]()\r\n\r\n\r\n# Examples\r\n1. Visit the configurator to see it for yourself.\r\n2. Some backtest samples. I'm using Notion option from the `database` configs. Here is the [link](https://paxon.notion.site/Dev-Trading-5b9bc26a7a2c4bdbb6f671a59fc8a326) to the notionDB template that you need to duplicate if you want to use notion.\r\n    1. ![main backtest db](docs/images/backtestDB.png)\r\n    2. ![backtest result db](docs/images/backtestRS.png)\r\n3. Some real trades completed by the bot with one of the sample signals\r\n    1. ![trades](docs/images/trades.png)\r\n4. Telebot communications\r\n    1. ![bot signal](docs/images/bot.png)\r\n    2. ![trade_report](docs/images/report.png) \r\n\r\n# Contribution\r\nFeel free to send PRs.\r\n\r\n# Disclaimer\r\nThis software is for educational purposes only. Do not risk money which you are afraid to lose. USE THE SOFTWARE AT YOUR OWN RISK. THE AUTHORS AND ALL AFFILIATES ASSUME NO RESPONSIBILITY FOR YOUR TRADING RESULTS.\r\n\r\n# Support\r\n\u003cp align=\"center\"\u003e\r\n    \u003ca href=\"https://www.buymeacoffee.com/phat\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-green.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheyphat%2Ffollow.markets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheyphat%2Ffollow.markets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheyphat%2Ffollow.markets/lists"}