Skip to content

facinick/blackbox0.1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3850a01 · Sep 12, 2023

History

39 Commits
Sep 9, 2021
Sep 13, 2021
Sep 25, 2021
Sep 27, 2021
Sep 13, 2021
Sep 17, 2021
Sep 9, 2021
Sep 12, 2023
Sep 23, 2021
Sep 25, 2021
Sep 21, 2021

Repository files navigation

Blackbox - FnO Trading Bot in TypeScript

Blackbox is a TypeScript-based trading bot designed primarily for Futures and Options (FnO) trading. It is extensible to other trading platforms, but currently, it is compatible with the Zerodha platform. The bot allows you to implement various trading strategies for automated trading. Please note that this repository is a work in progress, and most features are pending completion.

Features

  • Order Manager

    • Manage pending orders.
    • Retry orders with modification.
    • Cancel orders.
    • Blacklist orders for a specific duration.
  • App

    • Check time and start/stop trading according to market hours.
  • Prisma

    • Pick stocks only from a specific strategy.

Technologies Used

  • TypeScript
  • Node.js
  • Prisma

Installation

To set up the Blackbox trading bot, follow these steps:

  1. Clone this repository to your local machine.
git clone https://github.com/yourusername/blackbox.git
  1. Navigate to the project directory.
cd blackbox
  1. Install the required dependencies.
npm install
  1. Generate Prisma client code.
npm run g

Usage

Here are some useful scripts that you can use:

  • Lint and Fix Code

    npm run lint:fix
  • Format Code

    npm run pretty
  • Start the Trading Bot

    npm start
  • Build the Project

    npm run build
  • Prisma Database Migrations

    • Apply migrations without generating Prisma client code:

      npm run m
    • Generate Prisma client code:

      npm run g
    • Open Prisma Studio for database exploration:

      npm run s

Contributing

Contributions to this project are welcome! Feel free to open issues or submit pull requests to help improve the trading bot.

License

This project is licensed under the MIT License.


Please make sure to update this README with additional information as the project evolves and more features are implemented. Include any setup instructions, configuration details, and usage examples that may be relevant to potential users and contributors.