January 17

7 comments

Here Is My Secret Weapon To Trade Like A Hedge Fund

By Marc

January 17, 2022

Tradesq

In this article, I will show you how a new web-based tool will make your life easier by helping you build trading systems more efficiently, saving you a bunch of time. This tool is EasyLanguage-based, and it's going to help you take your strategy building to the next level.

Read on as I show you exactly what's possible with Tradesq (See the discounted price for EasyLanguage Mastery readers at the bottom of the article).

My name is Marc, and I am a retail trader who started trading in 2010. It was not easy to manage my expectations at the beginning of my journey until I realized that trading is a business, and I needed to treat it as such. Setting continuous new goals is vital for innovation and constant improvement of my business.

There are many ways that a person interested in trading can attack the markets. I tried them all: fundamental analysis, discretionary trading, technical analysis, algorithmic trading, etc.

I am sure that there is no good or wrong approach; you need to find which is the best approach for you, the best method that fits your personality, background, and lifestyle. Luckily, it only took me two years of losing money to understand that algorithmic trading is my preferred way to trade the markets as I can dramatically reduce my emotions.

Goal #1: Use algorithmic trading to invest in the financial markets

After experimenting with some programming language platforms for traders like Metatrader, Amibroker, Wealth-lab, Tradestation, etc., I chose EasyLanguage because it is very intuitive and straightforward to code trading strategies compared to other competitors. In addition, I knew that adding complexity to a trading code does not mean that it will bring high-quality performance results, but this can do just the opposite by lowering its robustness.

Goal #2: Code EasyLanguage strategies to invest in the financial markets

I explored the Internet world, looking for EasyLanguage courses, mentors, podcasts, and blogs to speed up my learning curve to become a better trader. For example, it is worth mentioning Andrea Unger's courses which are a great starting point for beginners. I gained a lot of ideas from Andrea's methodology, which brought me to a higher level. Needless to say, I am a big fan of Jeff Swanson's blog (the old blog System Trader Success and now EasyLanguage Mastery has been brilliant) and a must-go when I need to find new ideas to start building new strategies with EasyLanguage.

At the beginning of my life as an EasyLanguage developer, I coded mean-reverting strategies successfully on index markets. After experiencing, or better said, suffering a couple of significant drawdowns, I learned about the importance of diversification.

I had a clear idea of how I would perform diversification: Divide my total trading capital into equal "pieces" and use each "piece" to trade a different trading strategy on a different futures market and a different timeframe.

Goal #3: Build a well-diversified portfolio with several EasyLanguage strategies trading different future market-timeframes.

We can attain diversification across 3 points of view:

  1. The strategy idea could be coded based on breakouts, mean-reverting, Intermarket, seasonality, gaps, volatility, price patterns, and spread trading.
  2. The futures markets can belong to different sectors like metals, energies, grains, currencies, meats, etc.
  3. The timeframes or bar sizes range from daily, hourly, 30-min, 15 minutes, etc.

Goal #3 Start: Only “piece” #1 is completed.

Strategy 1 = Mean reverting based on RSI indicator

Market 1 = mini S&P 500 futures market

Timeframe 1 = Daily bar size

Goal #3 Target: Build a well-balanced portfolio by completing the rest of the “pieces”.

For this reason, I committed myself to working on one strategy per month for a year. That's a total of 12 strategies in a year.

The year went away, and I managed to complete these 12 strategies. I was happy because I had achieved my objective, and I now have different trading strategies on other markets and timeframes.

However, I realized that there was a lot of room for improvement within the process to bring a simple strategy code into a strategy ready to trade with real money. I detected three significant inefficiencies during the lifecycle of the trading strategy which I needed to address:

  • Inefficiency #1: Repetitive and slow backtesting process
  • Inefficiency #2: Restricted to strategy codes with limited diversification in my portfolio
  • Inefficiency #3: Challenging to track the performance of my strategies


Those three inefficiencies took off a lot of my time. I spent more than 70% of the time booked for trading to take care of those repetitive tasks that were not bringing me anywhere. So, if I thought about the long term, the best approach was to build an application that would help me overcome these three inefficiencies. This application is now live, and it is called Tradesq.

Goal #4: Build a well-diversified portfolio with several EasyLanguage strategies trading different future market-timeframes with less effort.

Tradesq is a web application that supports EasyLanguage traders during the whole lifecycle of a trading strategy. For example, from the beginning, when you optimize an EasyLanguage code for several market-timeframes up to the end when you take a strategy off the portfolio if there is performance degradation within this strategy.

Tradesq’s backbone is composed of:

  • Smart Backtesting: “Set and forget” backtest tools to optimize EasyLanguage codes.
  • Strategy Library: +1000 ready-to-use EasyLanguage trading strategies from the Tradesq community.
  • Forward Testing: Automated tracking of the trading strategies performance from the Strategy Library.

Now let's look at how Tradesq addresses the three inefficiencies I found earlier.

Inefficiency #1 

Repetitive and slow backtesting process. A strategy code built for a specific market and timeframe could have been "optimized" with variables for other market-timeframes. Suppose I can find a simple code adapted to a particular market-time frame. Why can't I find other market-timeframes that have decent equity curves using the same code with its corresponding variables? 

 Let me explain it with an example. First, I coded a simple trading breakout system with a stoploss, and profit target found below:

The first line of the code now includes some input variables. Those variables are necessary to perform optimizations and discover what ranges of parameter values perform better:

Imagine that I would like to execute the same optimization for 45 markets and 11 timeframes. The amount of time needed to set up those optimizations is unnecessarily long, even considering the need to wait for an optimization to finish before setting up the next one. In this case, the process would become very repetitive and inefficient because there is no way to automate it.

The solution to inefficiency #1: Tradesq’s Smart Backtesting can run several optimizations in parallel selecting a bunch of markets and timeframes in just five simple steps:

  1. Enter the Strategy name
  2. Select the markets to be optimized
  3. Select the timeframes to be optimized
  4. Enter the strategy code with the input variables that need to be optimized
  5.  Enter the input variable ranges

In just a minute, I could set up 495 optimization backtests (45 futures markets x 11 timeframes) in the queue, and they will be processed in the background one after the other. So there is no need to set them one by one. Plus, a notification is sent to the Tradesq user when all backtests are completed.

If we continue with the same example, Smart backtesting found 11 market-timeframe strategies out of the 495 backtests that met the screening parameter criteria.

The Tradesq user can now access any market-timeframe combinations to see the optimization values (mystop, myprofit, long_b, short_b) that satisfy the screening parameter criteria. For example, if the user selects the market HO and timeframe daily combination, the results below are displayed:

And by clicking on a specific strategy number, you can access its equity curve, performance metrics, and strategy code:

At this moment, the same strategy code built for a specific market and timeframe has been "optimized" for other market-timeframes without much effort.

Inefficiency #2

Restricted to my strategy codes with limited diversification in my portfolio. How can I come up with more than one strategy per month?

The solution to inefficiency #2: Tradesq's Strategy Library has more than 1,000+ fully coded EasyLanguage trading strategies from all the Tradesq community members. Accessing this database allows a Tradesq user to have both ready-to-use strategies and multiple ideas that can be converted into strategies.

Imagine that we are interested in having different strategies in different markets and timeframes to diversify our portfolio, as we discussed earlier. Strategy Matrix is a great starting point to see the existing strategies performing well in different market-timeframe combinations.

For example, if a Tradesq user would like to diversify its portfolio using Market SB (Sugar) and Timeframe 480 min, the results below are displayed:

By clicking on a specific strategy, you can access its optimization values that satisfy the screening parameter criteria, equity curve, performance statistics, and strategy code.

Therefore, I now have a better starting point to obtain more than one strategy per month with proven strategies on specific sectors or markets.

Inefficiency #3

Challenging to track the performance of my strategies.

The solution to inefficiency #3: Tradesq's Forward Testing allows any Tradesq user automated monitoring of its out-of-sample strategies performance. Currently, we can activate Forward Testing by two methods:

  • Manual: Any Tradesq user can manually schedule a Forward Testing for a specific strategy with specific parameter values.
  • Automatic: Tradesq algorithms constantly search for strategies with in-sample equity curves that have an even slope, small, short-lived drawdowns, and a significant amount of trades within the Strategy Library. The selected strategies will be placed in the Forward Testing list to track regularly their out-of-sample equity curve and performance metrics.

If a strategy has Forward Testing activated either manually or automatically, it will appear within the Forward Testing Strategies list:

By selecting a strategy in the Forward Testing, we can display its equity curve, performance metrics, and strategy code:

Forward Testing helps you find robust strategies and decreases the probabilities of overfitting when you start live trading.

To recap, Tradesq's backbone is composed of:

  • Smart Backtesting: “Set and forget” backtest tools to optimize EasyLanguage codes.
  • Strategy Library: +1,000 ready-to-use EasyLanguage trading strategies from the Tradesq community.
  • Forward Testing: Automated tracking of the trading strategies performance from the Strategy Library.

A Tradesq user (1) can access its cloud dedicated server to Schedule Backtests (2) across multiple markets and timeframes to look for new trading strategies. Furthermore, this user can also manually Schedule Forward tests (3) to track the performance of the existing strategies.

Looking at the Forward testing strategies (2), the Tradesq user (1) can have precious information to decide whether to include a strategy or not in their “Well-diversified Portfolio” (3). For example, suppose a Tradesq user considers that a specific trading strategy is robust enough because it performs well out of sample data. In this case, this user can activate the strategy in the portfolio. On the contrary, if some productive strategies do not perform well, these can be deactivated from the portfolio.

Tradesq is the primary tool that helps me trade like a hedge fund. It removes most of the administration time required for trading to focus on strategy and portfolio development. As a result, I can take trading more seriously as a business.

Watch A Video Demo of Tradesq

Hi, Jeff Swanson here. I can send you three video demos of how to use Tradesq so you can see the cool features it has. Just signup below and I'll send you links to the following video demos.

  • Smart Backtesting - Quickly Test Many Markets And Timeframes With A Single Click!
  • Strategy Library - Search Hundred of Strategies and Download the EasyLanguage Code!
  • Automated Walk Forward - Search For Profitable Strategies On Out-Of-Sample Data

If you would like access to the Tradesq demo videos, simply join our free newsletter by signing up below.

WATCH: Tradesq Video Demos!

Join the EasyLanguage Mastery email list, and you'll get...

  • Three Video Demo of Tradesq
  •  Bi-Weekly Newsletter on Algo Trading
  •  Access to discounts and free training
About the author

  • A bit too expensive I’m afraid, even with the ELM discount. Also, I’m not really fond of having to subscribe to applications like this. I prefer to pay once for the product, and then maybe pay a small fee for bigger updates.

    • Thanks for your feedback Palle.

      I agree that products should be paid once with small fees for updates. However, Tradesq is built as a service rather than as a product because of the following:

      1. The backtests from all the Tradesq users need heavy processing. They are running in Tradesq cloud dedicated servers and not on a laptop. Every user receives a notification once a backtest is completed.

      2. The strategy Library is constantly growing with our community’s backtests. Furthermore, Tradesq 5 report is adapted every month to new strategies that perform well using out of sample data in different sectors.

      3. Your private strategies and the best equity curves from the Strategy library are continuously forward tested. This task also needs heavy processing.

      In summary, Tradesq is a service that helps find strategies that perform well using out of sample data every month and automatically tracks your existing private strategies. It is a continuous job because markets change, and users need to know what strategies perform well in those markets “now” using out of sample data.

    • Both Tradesq and Peak Algo Lab are based on the same platform (tradesq engine). Both uses cloud servers to optimize strategies with parallel execution. The main difference are the user base and the shared strategies.

      MultiOpt on the other hand is a Tradestation extension which runs on your local PC. It does not offer forward testing and strategy library (strategies shared amongst users) capabilities.

      • Thanks Kris – if thats true then isn’t AlgoLab better? It looks like Algo Lab has hedge funds building strategies and the “World’s biggest strategy library” plus some free filters? And its the same price. And ok sounds like MultliOpt is totally differnet but has Monte Carlo and better testing? What does Tradesq do differently or better?

  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

    Learn To Code & Build Strategies
    Using EasyLanguage. 

    >