top of page

A Coinbase Trading Bot For You!

Writer's picture: T. FrancisT. Francis

Updated: Dec 5, 2024



Here’s the breakdown of building the trading bot using UiPath for the RSI strategy, followed by a guide to create the complete UiPath project.


Strategy: RSI-Based Trading Bot


  1. Strategy Rules:

    • Buy Signal: RSI < 30 (oversold condition).

    • Sell Signal: RSI > 70 (overbought condition).

    • Stop-Loss: Sell if the price drops by 5% from the buy price.

    • Take-Profit: Sell if the price increases by 10% from the buy price.

  2. Key Steps:

    • Fetch the historical market data (price data for a given cryptocurrency).

    • Calculate the RSI for the specified period (e.g., 14 periods).

    • Check RSI thresholds for trade signals.

    • Place trades using the Coinbase API.

Building the UiPath Workflow


1. Set Up the Project

  • Initialize Variables:

    • API_Key, API_Secret, API_Passphrase: Secure credentials for Coinbase API.

    • BaseURL: Base endpoint of the Coinbase API.

    • RSI_Period: Number of periods to calculate RSI (default: 14).

    • DataTable: To store historical price data.

    • Holding: Boolean to track if a position is held.

    • BuyPrice: Store the price at which a buy occurred.

2. Fetch Market Data

3. Calculate RSI

  • Use the formula: RSI=100−1001+RSRSI = 100 - \frac{100}{1 + RS}RSI=100−1+RS100​

    • RS (Relative Strength): RS=Average Gain over N periodsAverage Loss over N periodsRS = \frac{\text{Average Gain over N periods}}{\text{Average Loss over N periods}}RS=Average Loss over N periodsAverage Gain over N periods​

    • Implement this calculation in UiPath using Assign and For Each Row activities to loop through the DataTable.

4. Trading Logic

  • Decision Conditions:

    • Check RSI values:

      • If RSI < 30 and Holding == False, place a buy order.

      • If RSI > 70 or stop-loss/take-profit conditions are met, place a sell order.

  • Use If activities for decision-making.

  • Use HTTP Request activities for buy/sell orders through the Coinbase API.

5. Logging and Monitoring

  • Use the Log Message activity to record:

    • Market data retrieval.

    • RSI values.

    • Trade actions (buy/sell).

  • Save logs for audit purposes.

Complete UiPath Project


This project will include the following workflows:

  • Main.xaml: The central workflow orchestrating all activities.

  • FetchMarketData.xaml: Workflow to fetch and process market data.

  • CalculateRSI.xaml: Workflow to calculate the RSI.

  • TradeExecution.xaml: Workflow to handle buy/sell orders based on signals.

  • ErrorHandling.xaml: Workflow for managing errors and logging.



Check out the other blog posts on this topic at diyrpa.com/blog


4 views0 comments

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page