{"id":48766652,"url":"https://github.com/madztheo/versatile-trading-bot","last_synced_at":"2026-04-13T08:03:02.532Z","repository":{"id":39873911,"uuid":"212873356","full_name":"madztheo/versatile-trading-bot","owner":"madztheo","description":"A versatile trading bot which can be connected to different brokers and use different strategies.","archived":false,"fork":false,"pushed_at":"2026-01-24T12:42:34.000Z","size":1056,"stargazers_count":5,"open_issues_count":44,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-25T00:33:43.597Z","etag":null,"topics":["coinbase","oanda","oanda-api","trading","trading-algorithms","trading-bot","trading-strategies"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/madztheo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2019-10-04T17:55:56.000Z","updated_at":"2025-12-09T13:34:21.000Z","dependencies_parsed_at":"2024-12-07T06:25:09.671Z","dependency_job_id":"3b36a4ce-ac83-484e-b40a-f7800172924a","html_url":"https://github.com/madztheo/versatile-trading-bot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/madztheo/versatile-trading-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madztheo%2Fversatile-trading-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madztheo%2Fversatile-trading-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madztheo%2Fversatile-trading-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madztheo%2Fversatile-trading-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madztheo","download_url":"https://codeload.github.com/madztheo/versatile-trading-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madztheo%2Fversatile-trading-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31744404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T06:26:45.479Z","status":"ssl_error","status_checked_at":"2026-04-13T06:26:44.645Z","response_time":93,"last_error":"SSL_read: 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":["coinbase","oanda","oanda-api","trading","trading-algorithms","trading-bot","trading-strategies"],"created_at":"2026-04-13T08:02:57.404Z","updated_at":"2026-04-13T08:03:02.522Z","avatar_url":"https://github.com/madztheo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Versatile Trading Bot\n\nA versatile trading bot which can be connected to different brokers and which can use different strategies. The project has been built with NodeJS and is coded in TypeScript.\n\n## About the strategy used\n\nThe Ichimoku Strategy has been tested for some time (1 hour candle) and is not fully profitable. But it is not entirely unprofitable either. I suspect most of the improvement should be made on the stop loss and exit strategy. The winning trades have totaled a higher absolute average than the losing ones but the losing ones are more common impacting the strategy efficiency.\n\n## Brokers implemented\n\nThere are 2 brokers (or exchanges) implementation in this project so far: Oanda (a FOREX and commodities broker) and Coinbase Pro (a cryptocurrency exchange). The implementation for Oanda is more rigorous and thoroughly tested than the one for Coinbase. I do not advise its use for Coinbase as is, improvements should be made beforehand.\n\n## Technical notes\n\nThe project still uses Promises, so one technical improvement that could be done is switching to async/await when possible. And make yourself aware of all the environment variables that need to be set before using this project.\n\n## Tests\n\nRun `npm test` to execute the tests. This project uses Jest for testing with ts-jest to support TypeScript.\nThe tests are based on sample data extracted from Oanda API.\n\n## Disclaimer\n\nYou are free to use or fork this project as well as suggest improvements. However, I am not liable for any loss that the use of this algorithm may incur. Keep in mind that your capital is at risk while investing in markets such as the FOREX or cryptocurrencies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadztheo%2Fversatile-trading-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadztheo%2Fversatile-trading-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadztheo%2Fversatile-trading-bot/lists"}