top of page

Status:

Finished

Version:

v2.03  |  May. 03 / 2023

Excel

Analysis

Algorithmic

Simulation

Modeling

Finance

MAJOR UPDATE
This project has been forked into a new one. Please See Bottom of the webpage for more information.
De-Fi Automated Trading Algorithm

Algo Overview Gif.gif

Algorithmic Trading Model

Since a child I've been fascinated by money markets and the unknown forces in which drive price movements in securities. Reading many books on the nuances of markets, social psychology, risk management, technical knowledge, and the many years of manual trading with no success I have gone a different route in approaching trading. Speculative trading involves many challenges, and one of them includes the inevitable emotions and biases that manifest while trading. Humans react irrationally when presented with the fear of losing and this fear can subconsciously alter our logical perceptions of the information being presented and can cause us to act contrary to apparent logic. As a result I have developed a trading system that integrates quantitative indicators & parameters with fully autonomous algorithmic scripts that are able to execute, monitor, edit, and cancel orders. This way my strategy is executed based on pre-defined parameters without any human interaction to prevent emotions from interfering with the system.

To derive the data required for the system I have developed an excel model that's able to calculate the most probabilistic prices a security may reach after an entry parameter that's collected over the historical price data of a particular asset. The algorithmic trading script derives parameter data from this excel model which is used for the logic of the entry and exit of positions. I will briefly explain and show how I use the data collected from the model and optimize the parameters based on a simulation that's able to fit the data for maximum profit and the safest risk management ratio. I will also explain the design of the model and how the simulation works by using Boolean IF statements. The sample data provided in the model is from a derivative issued on Binance Perpetual Futures Market over the course of 2.5 years.

Data.Entry.jpg

Over the historical history of a particular asset, price data is derived based on hypothetical entries we would have made in regard to a quantitative entry parameter (i.e. Support/Resistance Cross). After the entry price we collect the max high & the max low the price reaches 30 minutes, 6 hours, 12 hours, and 24 hours after the entry to calculate the % change based on the entry price in set time intervals.

Long.Distribution.jpg

Long Distribution Table

Short.Distribution.jpg

Short Distribution Table

After enough price data has been collected, an informative distribution table is able to highlight key areas that the price reaches in each time interval labeled at the top of the tables. Separate distributions are formed for each long and short positions. A general pattern becomes obvious with the provided sample data that as the progression of time elapses the higher the % change deviates from the entry price which inherently increases the time-varying volatility of the open trade as time progresses. Lines have been drawn to demonstrate the consistent slope of increasing variance with the progression of time intervals. Circled in red are the price levels used for our Take-Profit (TP) & Stop-Loss (SL) levels in the later steps.

Long.Prob.jpg

Long Probability Table

Short.Prob.jpg

Short Probability Table

In combination with the frequency distribution table, the probability table gives us informative data to use to determine probabilistic outcomes for each TP & SL level in each time interval. In theory we want to maximize the probabilistic likelihood of our TP levels and minimize the outcomes of our SL levels while maintaining a viable RR ratio. i.e. We could choose a SL between -6.0% and -6.5% for our long positions as the cumulative probability is around 10%, but we only need a handful of losers to blow our account; although the probability is very low, it's still a possible outcome. the labels "I" represent the independent probability of the price reaching a specific (x) price range. The "C" label represents the cumulative probability of the price being equal to or less than the (x) price range for long positions and vice versa for short positions. The red circles are the price levels used for our TP & SL levels in the next steps.

Long.Parameters.jpg

Long Parameter Inputs

Short.Parameters.jpg

Short Parameter Inputs

Circled in red you will see the derived TP & SL levels from the previous steps that are entered into the input section of the model for both the long and short strategy systems. At the bottom of both images you will notice further input fields such as the starting capital, leverage amount, funding rate (fees), spreads, commissions, and max position size per trade. These inputs are used to calculate a more accurate round-trip trade outcome and portfolio forecast.

Sim.Overview.jpg

With price data entered earlier and our parameter inputs have been entered, a simulation is able to determine the outcome of each "trade". P = Profit/Win, L = Lose, D = Draw (TP/SL Not Triggered). If a draw is determined then the simulation moves onto the next time interval and compares whether the % change surpasses either our TP or SL level entered in the inputs section. U = Unknown meaning both the TP and SL levels were surpassed in the same time interval. As a result we have no way of determining based on the data present in the model to know whether the TP or SL were surpassed first. The results section in the next step allow us to separate the unknown outcomes from the known and also show results that calculate all 24h draws & Unknown outcomes as loses based on the 24h SL level.

Sim.Logic.jpg
Forecast.Logic.jpg

You will notice the boolean logic I implemented to allow the logic of the simulation to determine outcomes correctly and apply the specified calculation if the IF statement is true. In the first image the cells check to see whether the "High" is greater than the TP input, AND if the "Low" is greater than the SL input, and if true display a "1", and if NOT then display a "0". The same statements are used for the "P", "L", "D", and "U" fields with slightly different logic and formulas to ensure the correct outcomes are being calculated. The simulation outcome sums are calculated and the total trades needs to equal the total trades on the price inputs table to ensure proper balancing. The second image shows the lengthy IF statements used to determine which outcome happened (which cell in the row equals "1") and apply the specified calculation (TP/SL interval amount) if the cell equals "1". The calculations use the cells from the input section to calculate the most accurate balance change and equity curve.

Long.RR Results.jpg

Long Results

Short.RR Results.jpg

Short Results

The final results gives us an insight into whether our trading system has any merit to its sustainability & profitability and by testing various TP/SL levels we can optimize our parameters based on our historical data collected. The Risk To Reward Ratio (RR) averages all the TP & SL levels to determine an overall RR ratio. The color of the ratio changes based on the value calculated and represents the level of risk relative to the potential gains. If we are risking losing more than we are potentially gaining the ratio will be red. If our risk to reward is relatively equal to each other then the ratio will be yellow representing a "balanced" ratio, and a green ratio represents the most ideal setup where we are risking less than we are potentially gaining. These numbers are meaningless though unless we match them with our Win/Lose Ratio. I won't go into detail about the relationships between win/lose & RR ratios, but I want to emphasize how important analyzing these metrics are before committing the strategy with real capital.

i.e. [100 sample trades] ~ (30% win rate = 30 winning trades & 70 losing trades) ~ (Risk SL 1x : Reward TP  2x) = 0.5 

(30 winners x 2x = 60)   |   (70 losers x 1x = 70)   |   60 - 70 = -10. Although our RR ratio is very favorable (0.5), our win/lose ratio is very low (3:7) and as a result our losers outpace our winners in the long run which on average in the above example would produce a -10% loss on 100 trades with a 1% SL & 2% TP (1:2 = 0.5).

This page is by no means meant to be a guide or a full explanation of the model, trading system, theories, algorithms, API's, or calculations, nor how the price data was derived as it would be far outside the scope of a "project explanation" as the above information is meant to briefly demonstrate and highlight the models function/capabilities. If you would like to learn more about this project, I have provided my entire cover sheet below with well detailed explanations of the trading system, theories, algorithmic functions, and entire pipeline workflow. If you would like access to the current version of the trading model follow the link below for access.

Want Access To The File?

Click the button below to access the available files for download. NOTE: You will need a password to access. Please contact me if you require one.

This Project is:

In Progress

Active updates being implemented!

-   Monte Carlo Sim: I'm currently implementing a Monte Carlo (MC) Simulation page that's able to calculate thousands of portfolio outcomes based on random variables and parameter inputs from the model and ensure the parameters have a probable chance of long term success and a viable RR ratio. Instead of relying on the model solely we can use a MC simulation in tandem with the model to ensure the system is not overfitted or the data being skewed giving a biased representation. A MC simulation could help highlight issues in the system before committing any capital; preventing costly mistakes by only learning of the faults after the fact when the system has been analyzed to be unprofitable after a certain length of time + trades.

​

 

-   Advanced Booleans: I'm researching the ability to test more sophisticated boolean logic within excel to push the limits of what it can do. I would like to test the comparison of the current model (immediate entries based on Support/Resistance line crosses) vs entries based on retracement levels. The majority of the time prices tend to retrace after crossing critical price levels. This price discovery can be very volatile and as such can create wild price swings. First we are overpaying for a security when the price crosses our trigger line and then retraces to lower levels shortly after, and second this increases the likelihood of the price triggering our SL level instead of entering on a retracement level. Third, we risk the chance that we don't get a fill with a retracement order if the price has enough momentum to spike in the favorable direction and not return. As a result we could miss out on profitable trade based on retracement orders. I would like to compare both immediate entry vs retracement entry and calculate & compare the performance return of both.

​

 

-   Dynamic Spread %: Currently the spread % is a fixed average, but this percentage varies greatly based on the order size, current liquidity of a security, and volume to name a few. I would like to implement a constant value that changes the spread % based on the order size since the more "shares" you would like to purchase the greater the impact there is on the orderbook. Depending on the orderbook liquidity the spread % can greatly impact the accuracy of the forecasted balance change. Eventually volume and current liquidity in the order book could be used as other constants for more accurate calculations and outcomes.

​

 

-   Correlation analysis: Once I collect enough data on separate securities I would like to assess the correlation between different assets within the model with various statistical techniques. Understanding the multitudes of correlations will help me get a more accurate picture of the specific sectors and manage my portfolio risk effectively across multiple securities. Some securities in a sector can be a leading indicator for other "lagging" securities. Analyzing the correlation behaviors between securities will give me further strategies to develop and implement in the trading system.

​

​

-   Data collection automation: I'm currently researching tools and scripts that are capable of scanning, deriving, and entering price data from TradingView such as the entry price, 30m, 6h, 12h, and 24h max "high" & "low" prices for each entry (9 total inputs) based on trigger parameters. Currently this process is done manually and extremely time consuming which is why I only have a handful of securities for my algorithm to scan and trade, but I would like to eventually have every possible security on a exchange analyzed and filtered based on the performance return, RR ratios and eventually implemented in the algorithm to be ready to trade 24/7 when parameters are triggered. I'm currently looking into Python libraries to automate this process through a few clicks.

​

​

-   Visual Analytics: I'm currently implementing graphs and statistical representations on a single page called "Final Analysis & Conclusions" to curate all the most useful data, stats, and visual analytics of all the principle factors in the system. Based on the limitations of Excel, I may look at deriving data from Tableau to generate more in-depth and useful visual information and then integrating it into the conclusions page of the excel file.

​

​

Full Cover Sheet & Trading System Details

Below is more in-depth detail explaining the process of collecting data, the theories behind the systems, how the algorithm works, etc.

Throughout the cover I will explain how the simulated model(s) presented is able to calculate the best probabilistic outcomes based on parameters collected over a historical price data of a particular security. Furthermore, I will briefly explain how to utilize this data and integrate it into an automated algorithmic trading program by using a couple user-friendly interfaces. By taking out the human bias and emotional factor when entering/exiting trades, we can rely solely on the quantitative data collected and have that data execute automatically on our behalf based on pre-defined set parameters and algorithmic logic. Entries are determined by a price cross of the Support & Resistance slopes that are formed from the Highs and Lows of a current trend. This is briefly explained in the “Signal and Trigger Parameters” Section.

​

Extracting excess returns from price movements in a security can be largely viewed as speculative. This may be due to most trades being executed and driven by human emotions, instead of facts and logic. So how do we find an edge in these markets? Perhaps, instead of arbitrarily choosing our TP/SL levels like most traders do we derive them from back tested historical price data and statistical probabilities through a time series interval model. This way the stats derived from model(s) produce unique & useful information that most market participants are unaware of.

​

Based on a 15-year study looking at TSE data of the performance results of day traders showed that the aggregate net performance was largely negative. Throughout a twelve-year period of the study the fraction of profitable day traders consistently hovered around 5% and unprofitable traders accounted for 72% - 80% of total trading volume Barber et. Al. (2017). I approach this challenge by finding a systematic edge through quantifiable and statistical calculations through time series interval models to become the net positive minority in the market by analyzing data better than my competitors and gaining better insight of the asset in question. Knowing the probabilistic price levels a security will take within a given time interval provides invaluable information a trader can exploit amongst the other competitors in a market.

​

The price action of a security in time intervals of less than 1hr is almost entirely influenced by technical forces which can offer price opportunities for a trader to take advantage of. Market inefficiencies are constantly correcting themselves, but there are moments when a security becomes overbought/oversold based on technical indications in which a trader can spot and profit from. Support and Resistance lines form areas of confluence that form high probability zones which causes high volatility and large price movements. When prices cross these S&R lines, the price is in “discovery mode”. How high the price will go, how long will it stay at these levels, and what kind of retracements will it make? We can never know the answers to these questions with absolute certainty, but we can calculate the most likely or probable level(s) the price will reach based on historical scenarios of the same setup.

​

The trading system relies on Perpetual Futures to trade both long and short with substantial liquidity and leverage. Perp. Futures are inherently different from commodities since the contracts are derivatives of the underlying asset that gives the right to buy the actual asset anytime in the future. Since the actual underlying asset is technically not being traded, this presents a fundamental difference with futures since the sum or aggregate results of all market participants (for every gain there is an equally opposite loser(s)) is always zero. All market participants play a zero-sum game for one reason only; that is the potential opportunity to receive a net gain on a capital risk. Zero-sum games offer the player (trader) the ability to outsmart and outmaneuver their competitors by understanding the market dynamics better than the majority of the money flow (overall volume) and their competitors.

Goals & Tasks


The overall goal of the model is to derive key data values to use as parameters for our trading system to have a net return that outperforms common indexes such as the S&P and Dow Jones. Below are specific tasks required for the model that are integral to the overall performance, consistency, risk management, and potential drawdowns ($ loss) of the trading system.

​

1.  Collect a large enough historical sample size of price data for the asset in question (the more the better). The data involves a) A trigger/entry price (Based on S&R levels). b) The maximum High price the asset reaches 30 minutes, 6 hours, 12 hours, and 24 hours after the trigger entry. The maximum price “resets” using the trigger price as the reference for each time interval. c) The maximum Low price the asset reaches 30 minutes, 6 hours, 12 hours, and 24 hours after the trigger entry. The maximum price “resets” using the trigger price as the reference for each time interval.

​

2.  Analyze the information computed from the price data inputted on pages 1.A & 1.B such as mean, median, and standard deviation. We can use this data for our Take Profit & Stop Loss % inputs in the simulation model on pages 2.A & 2.B.

​

3.  Edit the TP & SL levels for each time interval to maximize winners and minimize losers to ensure a viable win to lose ratio, and RR ratio. Ensure the net change is reasonably profitable and the finalized TP & SL inputs are within the Standard deviation of the median in the case of a-symmetrical distributions. Also ensure TP & SL levels are probable (highlighted in the Sim pages 2.A + 2.B). Lastly, we need to make small corrections to each TP & SL input per time interval to ensure the net results are consistent with minimal variance as to prevent overfitting of the data.

​

4.  A reasonable net positive return, viable win/lose & RR Ratio, and consistent outcomes satisfy the factors required for a long-term winning strategy and proper risk management.

​

​

​

​

Technical Setups & Data Collection


Parallel channels based on Support and Resistance levels (S&R) are the technical indicators we use that trigger our entry for both long and short positions. Mostly based on Alan Andrews pitchfork channels, we can tailor the channel indicator and implement a trigger line that's buffered (1.5% +/- in our case) from the upper parallel and lower parallel lines (trendlines). The theory of why channels are used as our parameter to enter trades is beyond the scope of this guide, but detailed information pertaining to trendlines and channels can be easily obtained online. 

1.   In Figure 1 the number 1 arrow that points to the bottom line of the sloped rectangle represents the main trend line. To prevent fake outs (price action reversing shortly after triggering our entry) the 1.5% buffer trigger entry line is implemented above the trendline for long entries.

2.   The number 2 circle in Figure 1 shows how the 1.5% buffer prevented a fake out and never triggered an order; potentially preventing a loss. 

3.   The number 3 arrow in Figure 1 we can see the confirmation of our entry with the price breaking through our trigger line and successfully continuing upward.

NOTE: The above explanations are the same for short positions but using the lower parallel line instead as our entry with a -1.5% buffer.

trading thesis figures-06.png

As referenced in Figure 2, we can see the process of collecting the necessary data for forming the results needed for the models. The three distinct elements of data needed for each trade row on the short/long data pages 2.A & 2.B are Entry Price (Long or Short Position), Highs of each time interval denoted as (H.1, H.2, H.3, H.4) and the Lows of each time interval denoted as (L.1, L.2, L.3, L.4). The below bullet points explain in more detail about the data collection for a Long Trade:

​

Long Entry: [4:30PM] Price: $8.458 {Reference Price}

​

H.1: [5:00PM ~ 30m Interval] Price: $8.522 {Max %Δ: +0.76%}
L.1: [5:00PM ~ 30m Interval] Price: $8.326 {Max %Δ: -1.59%}
H.2: [10:30PM ~ 6h Interval] Price: $8.755{Max %Δ: +3.51%}
L.2: [10:30PM ~ 6hr Interval] Price: $8.307{Max %Δ: -1.82%}
H.3: [4:30AM ~ 12h Interval] Price: $8.814{Max %Δ: +4.21%}
L.3: [4:30AM ~ 12hr Interval] Price: $8.394{Max %Δ: -0.76%}
H.4: [5:00PM ~ 24h Interval] Price: $8.656{Max %Δ: +2.34%}
L.4: [5:00PM ~ 24hr Interval] Price: $8.467{Max %
Δ: +0.11%}

trading thesis figures-05.png

The price inputs above for the entry price, H.x and L.x are inputted in the fields under the respective time interval column as seen in Figure 3. When prices are inputted in the interval columns the % changes are computed automatically for the models and simulator on pages 2.A & 2.B.

trading thesis figures-07.png

The trendline and trigger lines are dynamic and move based on future price changes of a security. As seen in left Figure 4, The price crosses the trendline, but fails to cross the trigger line. As time progresses the price then drops and crosses the trendline in the opposite direction (down). When the price crosses the trendline, fails to cross the trigger line, and then crosses the trendline again in the opposite direction; then the trendline & trigger line must be updated to the new S&R levels. Figure 4 on the right shows the old trendline (dashed line), and the new updated trendline & trigger line that now touches the new high created. 

​

Price crossing Resistance trigger line = Long Entry. Price crossing Support trigger line = Short Entry.

trading thesis figures-04.png

Simulation Model

 

By inputting high and low prices on the 30m candle chart throughout the time intervals of 30m, 6h, 12h, and 24h in the long (1.A) & short (1.B) data pages, we can formulate a model that simulates how many winners, losers, the max % gain/loss on trades, and the net values of these outcomes (You may edit the time intervals to suit the candle frame desired). The simulation determines what’s a winner or loser based on boolean logic by calculating whether the price surpassed either the TP or SL levels that are entered in the input section on pages 2.A & 2.B. If the high & low both cross the TP & SL levels within the same time interval, then the result is determined to be “unknown” and can be omitted from the calculations by looking at the “No U + D”. 

If the high and lows of the mock trade fail to surpass either the TP or SL level, then the result is determined to be a “draw” within that time interval; meaning nothing happened in the trade and the simulator see’s if the price surpasses the TP or SL levels in the next time interval and so forth until either a winner, loser, or draw is determined in the 24h time interval. If a draw is determined in the 24h interval, then the calculation determines the draw to be a loser and the 24h SL % is used as the % loss in the net values as a worst-case scenario. This limits the potentially skewed data that would arise if draws were considered winners. The “No U + D” header omits draws being calculated as a loss.

​

​

​

Short Trades Simulation Example

 

*Refer to Figure 5 for examples

 


1.       -3.17% low within the 30-minute frame surpasses the -1.58% TP in the inputs and the high does not surpass the 2.40% SL which equals a winner.

​

2.       2.69% high within the 30-minute frame surpasses the 2.40% SL in the inputs and the low does not surpass the -1.58% TP which equals a loser.

​

3.       Neither the high or low % surpass the TP and SL levels within the time frame which equals a draw. The simulation will then calculate the same process in the 6h, 12h, and finally the 24h time interval.

​

4.       Both the high and low % surpassed the TP and SL levels within the same time interval meaning the result is unknown. Within the same time interval, did the price pass the TP or the SL first? Not enough information is present to determine the result which is why it’s referenced as “unknown”.

trading thesis figures-03.png

Algorithmic Logic

 

Using an automated trading platform that provides a proprietary scripting language we can execute trades based on the code written in the triggered alerts. I won’t go into detail into how the platform or code works, but simply show how the script is able to handle our parameters and execute orders when conditions are triggered as in the short position example in Figure 3.

​

trading thesis figures-02.png

Integration & Execution

 

Utilizing a couple user-friendly interfaces, we can fully automate our algorithms logic into a script using parameters from the model. First, we will use the platform Tradingview as we need a graphical interface that allows us to draw our trendlines and be able to trigger alerts when prices cross these lines. Tradingview sends these alerts to a 3rd party server (Alertatron) with a message containing the script.

​

Alertatron receives this alert from Tradingview, scans the commands, and forwards these requests that can enter trades, create/edit open TP & SL orders, close orders, etc on our exchange of choice. We will use Binance as the supported exchange to connect our API settings and required permissions to our Alertatron account. In Figure 7 a flow diagram shows the process in which an alert triggers an order from Tradingview, to Alertatron, and finally Binance.

​

Depending on the asset in question, there may be numerous trading pairs between various tokens/coins. Assets with high trading volume in both USDT & BUSD stablecoins are a selection requirement for trading in the algorithm. This greatly simplifies our process by using reduce-only orders and prevents hedging on the same asset (having both long & short positions open at the same time, instead of a short position cancelling out a long position and vice versa). By separating the long and short positions into different stablecoin pairings the algorithm’s logic doesn’t need to handle hedged positions. Capital will be split between the two stablecoins based on proportional leverage power in both coins.

 

Long Positions = USDT, Short Positions = BUSD

i.e. ETH/USDT = 10x Max ; ETH/BUSD = 5x Max 
Total Capital = $10,000. 
USDT Balance =
$3,330USDT x 10 = $33,300 Total Purchase Power
BUSD Balance =
$6,670BUSD x 5 = $33,350 Total Purchase Power
 

The total purchase power with leverage ends up being $33,300 for both our USDT and BUSD balances.

​

trading thesis figures-01.png

Sources

 

Fama, Eugene (1991). "Efficient Capital Markets II", Journal of Finance, 46, pp. 1575-617.

​

Coghlan Capital. (n.d.). https://coghlancapital.com/andrews-pitchfork/ 

​

Barber, Lee, Liu, Odean, Zhang (2017). “Do Day Traders Rationally Learn About Their Ability?”, University Of California, Berkeley, pp. 2, 9-11, 12-15

​

​

PipelineAlgo-01.jpg
PipelineAlgo-02.jpg

MAJOR UPDATE
Sept. 3/2023

Regulatory Restrictions

 

Canada, the Country I reside in has implemented sweeping regulations restricting many of the services the algorithm above utilized to run. Binance (the CEX that the algorithm relies on) pulled out of Canada completely starting September 1st/2023, along with the majority of major exchanges. For the exchanges that still want to service Canadians, HEAVY restrictions are put in place rendering my trading activities obsolete and unavailable. The Restrictions include a $30,000 yearly purchase limit on crypto and a complete ban on leverage trading unless you hold $5+ Million in assets (I unfortunately do not posses such sums of money). I trade more than $30,000 in a week sometimes and I NEED access to at least 5x leverage to trade the position sizes needed to make enough profit after spreads & fees. There are solutions to bypassing the regulatory restrictions Canada has forced on its citizens, but unfortunately the new solution is more intensive, requires more expansive scripting logic, and requires a self-hosting server to execute API requests, but in the end will be safe from any future regulations. 

 

DyDx is a decentralized exchange that cannot be enforced by any government regulations, has decent liquidity, and has an expansive API to interact with the orderbook via scripts and webhook requests that can be formulated into trading parameters the above model requires. The account that interacts with the orderbook is pseudo-anonymous and only requires a private wallet such as Metamask to interact and sign De-Fi transactions. DyDx utilizes a layer 2 platform for all trades ensuring they're executed immediately, and with relatively low fees in comparison to centralized exchanges. DyDx offers perpetual futures with leverage, but openly states they will restrict anyone from a restricted Country (which includes Canada), BUT they can only enforce their policy based on the IP location of the computer/Server. A simple VPN, or ensuring the hosting server is located in a non-restricted country is all that is needed to bypass their restrictions since there is no KYC due to their decentralized nature.

​

This is a work in progress and will likely be forked into a separate project from this one. As a result this project will be marked as "completed", and the new project will demonstrate the new project/algorithm.

​

​

LAST UPDATE

Apr. 8/2024

​

​

The newest DyDx exchange v4 has recently been released, offering a new ecosystem of decentralized trading with full custody wallet connections. Due to the fully permissionless access; this exchange is not limited to KYC limitations, minimum fund requirements, and the network is completely distributed amongst thousands of nodes individually run around the world. Initial setup is complete and currently in the testing phase, allowing this project to be revitalized into action again, but will be forked into a new project since the entire trading pipeline has changed. The new project entails setting up a remote server hosted in a crypto friendly Country, installing the correct repositories that will handle the API's for DyDx and Tradingview, and connecting the DyDx wallet and exchange through the API on the remote server.  You can view the new project here De-Fi Automated Trading

bottom of page