Skip to content

A FSM cryptocurrency trading bot with 4 state whose decisions are supported by TensorFlow Library

License

Notifications You must be signed in to change notification settings

basaryldrm06/RageBot

Repository files navigation

RageBot

Project Cover

Table of Contents

Description

RageBot represents an experimental convergence of artificial intelligence and a finite state machine, aimed at evaluating its effectiveness in financial transactions.

This bot dynamically assesses whether the upcoming position should be classified as LONG or SHORT, contingent upon the existing state, and subsequently corroborates this decision through artificial intelligence. If the AI's determination concurs with the prevailing state, the bot executes the position. This amalgamation of machine learning and state-based logic introduces a nuanced approach to financial decision-making, potentially enhancing adaptability and precision in trading strategies.

Project Cover

Technologies Used

  1. Python: The primary programming language driving RageBot's functionality and logic.

  2. TensorFlow Library: Leveraging the power of TensorFlow for machine learning applications, enhancing RageBot's ability to analyze market trends and make informed decisions.

  3. Binance API: RageBot connects seamlessly to the Binance cryptocurrency exchange through its API, allowing real-time access to market data and execution of trades.

  4. TA-Lib Library: Technical Analysis Library provides essential functions for technical analysis of financial markets, aiding RageBot in evaluating market indicators.

  5. ChatGPT: ChatGPT, powered by OpenAI, is employed for code assistance, aiding developers in coding tasks and providing guidance on library usage. Additionally, ChatGPT is utilized for crafting informative log messages, enhancing communication and facilitating a smoother understanding of RageBot's operations.

Installation

To install Project, follow these simple steps:

  1. Install Python:
    • Visit Python official website and download python.
    • I strongly recommend downloading a version lower than 3.10 and higher than 3 to ensure that you can download it without any issues and run the Talib library smoothly.
  2. Cloning the Project into your local: Go to the directory where you want to download the project using 'cd', and then type the following command
    $git clone https://github.com/basaryldrm06/RageBot
  3. Install Dependencies Enter these commands in sequence.
    $cd RageBot
    $pip install -r requirements.txt

Upon successfully completing these steps, proceed to configure your settings and run the program.

In case you encounter any issues, kindly attempt to resolve them before moving forward.

If you are facing difficulties downloading the Talib library, consider trying a manual download from this link.

Configuration

Rename the file config2.py to config.py.

Open the config.py file to edit the settings, and fill in the empty fields according to your preferences.

Config File

If you do not have an api key you can obtain one from this link

You can use the default values for other sections or customize them based on your preferences.

Once you have finished editing your settings, you will be ready to run the program.

Running the Bot

If you have completed the previous steps, RageBot is now ready to run. Start it by entering the following command:

$python main.py

After running the command, you should see a screen similar to the one below.

Running Bot

Editing the Code

Feel free to tailor the project to your specific preferences and requirements. The code has been meticulously documented to provide clear explanations of each component, empowering you to make effortless customizations. Whether you want to tweak parameters, integrate additional features, or adapt the functionality to suit your needs, the codebase is designed to be intuitive and easily adaptable.

Code Example

Warnings

This trading bot is developed solely for experimental purposes, aiming to explore the viability and effectiveness of using deep learning with a Finite-State-Machine in financial transactions. It is a completely experimental project shared as open-source to serve as an example for the development of trading bots.

Any profits or losses incurred using this bot are entirely your responsibility. Please refrain from using the program if you are not familiar with its functionalities. Understand that engaging in financial transactions carries inherent risks, and it's crucial to exercise caution and knowledge when utilizing this bot.

Code Example

Last Words from Developer

I hope you find this project useful and enjoyable.

Artificial intelligence is one of the most significant inventions of our era, with a wide range of applications. While working on this project, my goal was to explore the extent to which the power of artificial intelligence could be applied to financial transactions. For this reason, this project was particularly intriguing and enjoyable for me.

Feel free to follow my account for more projects like this and stay updated on upcoming releases. Don't forget to star and watch this project to receive notifications about future updates and improvements.

If you have any innovative ideas in mind for trading bots or AI, You can reach out to me through the links on my profile. We can collaborate and develop something together.

Thank you for your interest and support! 🚀