Join today

Course

The ProRealAlgos proved algo development process

All the knowledge and experience of ProRealAlgos, combined and compressed into a complete course on developing robust algos and becoming a successful algo trader. It is for anyone looking to start developing algos, or who has already started.

Start with chapter 1A

Program introduction

27 lessons Beginner 100% online Lifetime access Free + premium

Description

Do you feel that your own algos never live up to the expectations of your backtest? Do you feel that the threshold to get started is too great? Are you not sure where and how to start with algo trading? Do you want to automate your manual trading, or improve your manual trading? If you answered yes to any one of these, the program is definitely for you.

What will you learn?

  • New ways to find trading ideas
  • Evaluating and backtesting trading ideas
  • Coding your own trading systems
  • Money and risk management
  • Optimization and walk-forward
  • And a lot more

The 4 steps of the program

From a raw idea to an algo you actually trust

STEP 1

Strategy idea and alignment

You will learn how to come up with new trading ideas and how to test them in ProRealTime. We will also cover the basics of coding and backtesting.

STEP 2

Optimizing and refining the edge

You will learn how to further optimize and refine your trading systems by adding functions, filters and finess to your code.

STEP 3

Quality testing and evaluation

Your trading strategy is finished, but will it perform live? Instead of starting your algos immediately, we teach you how to quality test and evaluate your system.

STEP 4

Live management and follow-up

You will learn how to manage your algos and follow up the performance so that you get the best out of your algo.

Two resources that will help you throughout the course

0 of 27 lessons done

Stage 1

Strategy idea and alignment

Where a hypothesis comes from, and how to say it in terms ProRealTime can test. Code is the easy part now. Knowing what is worth coding is not.

3h 4m5 lessons0%

Video25 min

If I started algo trading in 2026, this is what I would do

Start here. The order the rest of the programme follows is the order in this video, and the half hour you spend on it will save you several later.

Do this

Video24 min

The same question, a year earlier

The 2025 version of the same answer. Watching the two next to each other is more useful than either alone: what stayed the same in twelve months is the part that is actually structural, and what changed is the part that was about the tools of the moment.

Do this

Video45 min

1A The best source of trading ideas

Let's talk trading ideas. Let's talk about your sources of trading ideas and let me share with you our own favourite sources of ideas. I will also share with you 3 interesting ideas from our own backlog, that we haven't had the time to test yet. Enjoy.

Do this

Premium

Two extra trading ideas

The 2 other ideas are more complex and have bigger potential. They are the top 2 most interesting ideas we have right now. But it is not for everyone. Those two ideas are exclusively available to premium members.

Premium video

Video35 min

1B 5 things you need to know before coding in ProRealTime

Need to learn the essentials of ProRealTime and the basic coding language? Here's a video covering the must-haves. If you already know the basics of ProRealTime and have some basic understanding of programming, you can skip this video.

I'm going to show you the interface of ProRealTime and the features you will use when coding algos. This is not a course on programming, but I'll quickly show you the basics of what you need to know.

Do this

Premium

Speed up your algo development

Our fifth point is for those who want to speed up their algo development. You can now watch our short tips and tricks video of ProRealTime. It is a video on short commands, shortcuts and things like that, which will speed up your algo development going forward.

Premium video

Video55 min

1C Coding and evaluating trading ideas

We get into how to code and evaluate trading ideas in ProRealTime by coding the three ideas we covered two videos back. Carl will show you the 4 metrics that ProRealAlgos use to evaluate trading ideas quickly and effectively.

Do this

Premium

Coding the two other ideas

The 2 other ideas are more complex and have bigger potential. Watch Carl code the top 2 most interesting ideas we have right now. But it is not for everyone. Those two ideas are exclusively available to premium members.

Premium video

Stage 2

Optimising and refining the edge

Filters, features and finesse, and the moment where most of the damage is done. Every parameter you add is a chance to fit the noise instead of the signal.

2h 45m4 lessons0%

Video50 min

2A Adding filters, features and finess

In this video we start adding some filters, features and finess to the trading idea that we coded in the last video, to make it even better. Slowly turning it into a viable system that will create a passive income stream for you for years. So grab a coffee and join me.

Do this

Premium

The magic snippet that makes..

..any algo 200% better in a matter of minutes. Simply copy it and paste it into your system, run an optimization on the variable C and then use whatever values improve the system. This code snippet is also proven not to cause over-optimizing.

Premium video

Video45 min

2C How can we use SMACD to find good entries?

The Stochastic MACD indicator is a combination of the stochastic oscillator and the regular Moving Average Convergence / Divergence. Let me show you how to use it with ProRealTime to find the best possible entries and exits.

Do this

Premium

An algo using SMACD divergence..

..on the DAX40 market on the daily timeframe. Long only, using SMACD Divergence and exiting the trade in 20 days with a stoploss of 2.9%. A profit factor of 5 and a win rate of over 54%.

Video50 min

2D Master trading hours, days and seasons

When building a trading strategy the possibilities are limitless. You can add hundreds of different indicators, filters, oscillators, codes and features, but I have found that new developers find it hard to know where to start, just because there are so MANY possibilities.

So I am going to help you get started by guiding you with some simple filters on trading hours, days and seasons.

Do this

Premium

That extra yearly filter..

..can also improve your trading strategy a lot. Make sure you are only using this filter on a strategy trading an index with historical data.

Reading20 min

A time of day effect, measured

Chapter 2D is about trading hours, days and months. Here is what a real one looks like when you can check the answer.

We generated two price series. One has a genuine effect planted in it: the first four hours of each day carry real upward drift and the rest of the day is noise. The other is noise all the way through. The same simple rule, long inside a four hour window and flat outside it, was run on both.

Series with the planted effect: profit factor 3.44 over 104 trades. Series without it: profit factor 1.10 over the same 104 trades.

The gap is the whole point. A time filter that is picking up something real keeps working when you move the window a little. A time filter fitted to noise falls apart the moment you do, and on a single backtest the two look alike.

Do this

Premium

The time filter, in ProBuilder

The ProBuilder that implements this lesson is in the premium programme.

Stage 3

Quality testing and evaluation

The stage that decides whether you are looking at an edge or at an artefact. Nothing here is opinion: the bars are generated, so whether an edge exists is a fact.

3h 46m6 lessons0%

Video60 min

2B Walk-Forward Optimization

In this learning video Carl goes through several methods to test and evaluate your algos, and their different advantages and disadvantages. There are no perfect ways, but there are definitely methods to avoid.

Walk-forward testing is the antidote you need to avoid overly optimizing your backtest and to make the best use of the available historic data. It is widely recognized as the de facto method for backtesting and optimization.

Do this

Premium

A SP500 strategy that's showing..

..an amazing walk-forward test. It is a daily strategy on the SP500 index going long in connection to US bank holidays. Results include a profit factor of 3.32, a drawdown less than 13% and a win rate of 63%.

Video41 min

500 entries and exits, backtested

Five hundred entry and exit combinations run through the same test, which is the most direct answer there is to "which indicator should I use". The useful part is not the winner. It is how close together the whole field sits once you look at five hundred of them at once.

Do this

Reading30 min

Seven parameters on pure noise

A strategy with seven adjustable numbers was run on a price series with no edge in it whatsoever. Not a weak edge. None. The series is a random walk and we know that because we generated it.

Tuning the seven numbers produced a rising equity curve over about a hundred trades. Then nothing was changed except the random seed, which produces a different stretch of the same edgeless process:

Seed 7, profit factor 1.09. Seed 11, 0.83. Seed 23, 1.34. Seed 44, 0.71. Seed 91, 1.24.

A profit factor of 1.34 on a hundred trades looks like a finding. It is nothing at all. That spread, on data guaranteed to contain no edge, is what overfitting produces, and it is the number your own backtest is competing with.

Do this

Reading30 min

Real edge, or noise?

Five price series were generated. One has a specific rule planted in it: after three consecutive down closes, the next bar carries real upward drift. The others do not.

The matching strategy, buy after three red bars and hold five bars, was run on each, averaged over six seeds so that one lucky run could not decide it:

Planted edge, profit factor 1.84. Session effect, 1.55. Mean reverting, 1.10. Trending, 0.96. Pure noise, 0.86.

The planted one does stand out, over six runs. On any single run it does not: 1.84 and 1.10 overlap comfortably in one sample. That is the finding worth carrying around. One backtest cannot separate a real edge from a lucky one, and no amount of staring at the equity curve changes that.

Do this

Reading30 min

What optimising actually buys you

ProRealTime will optimise your variables for you, and the number it hands back is almost always a good one. This is what that number is worth.

A moving average cross with two parameters, fifty six combinations in the grid. Three years to optimise on, then the next year traded with whichever pair won. Rolled forward six times, across sixty separate price series.

On series with no edge in them at all: best in-sample profit factor 1.62, and 0.62 in the year that followed. The chosen parameters beat 1.0 out of sample in 37 per cent of the 265 folds. Walk-forward efficiency, which is the out-of-sample result divided by the in-sample one, came out at 38 per cent.

Then the same test on series with a genuine effect planted in them: 1.71 in sample, 0.65 out of sample, above 1.0 in 41 per cent of folds. Four percentage points better than noise. A fifty six cell grid search could not find a real edge through its own optimisation noise.

This is why walk-forward exists, and also why it is not a rescue. It tells you honestly that the parameter you picked was worth about 38 per cent of what it looked like. It does not hand you a better parameter.

Do this

Premium

Running the walk-forward yourself

The ProBuilder that implements this lesson is in the premium programme.

Reading35 min

The cost of trading, measured

A strategy can have a real edge and still lose money. This is the experiment that shows it most cleanly, and it is the one most people never run.

A short horizon rule, three rising closes then hold five bars, on a series with a genuine effect planted in it. About 455 trades per run, average trade size 18 points, across forty separate series. Then the same thing again with a spread charged on every round trip:

No spread, profit factor 1.09. Half a point, 1.03. One point, 0.98. Two points, 0.88. Four points, 0.71.

The edge is real. We planted it. It is worth less than one point per trade, so a one point spread is the whole of it. The same run on a series with no edge went 0.99, 0.93, 0.88, 0.78, 0.61.

Two things follow. The first is to put your broker's real spread into the backtest before you believe anything, not after. The second is the harder one: the faster a strategy trades, the larger the share of its edge the spread takes, which is why short horizon systems look so good before costs and so ordinary after them.

Do this

Premium

Charging the real cost in code

The ProBuilder that implements this lesson is in the premium programme.

Stage 4

Live management and follow-up

The stage where the money is actually lost. Every system you run will spend time underwater, and the question that costs people is not whether a drawdown arrives, it is what they do when it does.

2h 19m6 lessons0%

Video9 min

Position sizing, and why it decides everything

Nine minutes, and the one thing on this page most likely to change your results. The measured version is the next lesson.

Reading30 min

What risk per trade actually does

Take a system that genuinely works and change nothing about it except how much you risk per trade. A 45 per cent win rate paying 1.8 to 1, which is plus 0.256 of a risk unit per trade, measured over 200,000 trades. Two hundred trades per path, fifty thousand paths at each setting.

Risking 0.5 per cent: median result 1.29 times the account, median worst drawdown 5 per cent. One per cent: 1.65 times, 10 per cent drawdown. Two per cent: 2.61 times, 19 per cent drawdown.

Five per cent: 8.28 times the account, median worst drawdown 43 per cent, and a 26 per cent chance of being down more than half at some point along the way. Ten per cent: 27.29 times, median drawdown 70 per cent, and the account halves at some point in 96 per cent of paths.

Read that last line again. The median outcome at ten per cent risk is twenty seven times your money, and almost every single path goes through losing half of it. That is the trap. The average keeps improving as you size up, long after the path has stopped being something a human being can sit through, and the drawdown you cannot sit through is the one you close at the bottom of.

Do this

Premium

Risk-based sizing in ProBuilder

The ProBuilder that implements this lesson is in the premium programme.

Reading20 min

How long a losing run gets

The same profitable system. 45 per cent of trades win, the winners pay 1.8 times the losers, and over 200,000 trades it makes 0.256 of a risk unit each time. It works. Here is what working looks like from the inside.

Two hundred trades, fifty thousand simulated runs. The median worst losing streak is eight trades in a row. The ninetieth percentile is eleven. The ninety ninth is fifteen. The longest run seen in fifty thousand was thirty two.

A run of six or more happens in 92.9 per cent of those lives. Eight or more in 53.1 per cent. Ten or more in 20.0 per cent. Twelve or more in 6.4 per cent.

So eight losses in a row is the normal experience of a system that works, not evidence against it. If your plan is to stop after five, you have written a plan that turns off nearly every working system you will ever build.

Do this

Reading30 min

Drawdown, or broken?

A system you licensed is in drawdown. You have what you would really have: the record you were shown before you bought it, and the record since. Keep it running, or stop it?

Three worlds were generated, three hundred cases each, every one of them showing a backtest profit factor of about 1.28. In the first the edge is still there. In the second it dies the day you go live. In the third there never was one and the backtest was a good run on noise.

Over the first hundred live trades: edge still there, median live profit factor 1.14, above 1.0 in 69 per cent of cases. Edge died at go-live, 0.99, above 1.0 in 49 per cent. Never had an edge, 1.02, above 1.0 in 53 per cent.

Now the number that matters. Hand someone one live record from a healthy system and one from a dead one and ask which is which. Picking the higher live profit factor is right 64 per cent of the time. Against a system that never worked at all, 62 per cent. Guessing is 50.

A hundred real trades buys you fourteen points of edge over a coin toss. That is the honest answer, and it is why what saves you is not a cleverer diagnosis. It is position size, and a rule you wrote down before you started.

Do this

Exercise25 min

Write your stop rule now

Decide this while nothing is at stake, because you will not decide it well halfway down. A usable rule names a number and a horizon, not a feeling.

Three of the pieces are already in the ProRealAlgos support answers: run the systems together, because one is in drawdown while another is making money; check in weekly or monthly rather than daily; and remember that stopping an algo does not close its open positions.

The two lessons above give you the numbers to put in it. Eight losses in a row is ordinary. A hundred trades barely tells a dead system from an unlucky one.

Do this

Reading25 min

Going live without a surprise

The last gap between a backtest and a running system is a short list of platform facts, and every one of them has cost somebody money.

Stopping an algo does not close what it already has open. The position stays, without the code that was managing it. If you want to be flat, close the position.

A backtest fills at the bar close. Live, you fill at whatever the next tick is, and on an instrument with a two point spread that difference is the whole of a short horizon edge, as the cost lesson above measured.

A strategy that has been restarted begins with no memory. Counters, flags and trailing stop levels held in variables are all back to their starting values, so the first bar after a restart is the one to write defensively.

Run it on a demo account for long enough to watch it take, manage and close a trade unattended. Not to prove the edge, which a demo cannot do, but to prove the plumbing.

Do this

Premium

A restart-safe opening block

The ProBuilder that implements this lesson is in the premium programme.

Stage 5

Strategies, traded live

Five systems from the channel, each one with its rules on screen and its trades taken in front of you. Watch these last. Once the four stages are behind you, you will see what each strategy is risking as well as what it is making.

1h 49m5 lessons0%

Video28 min

Trading like an idiot, ten minutes a day

The rules are deliberately crude, which is the reason to watch it first. Simple enough that you can see every moving part, and every moving part is something the earlier stages taught you to interrogate.

Do this

Video21 min

The two step strategy

Two conditions and nothing else. Watch what the second one is actually filtering out, and ask whether that filter would survive being moved.

Video17 min

A simple scalping strategy

Short holding periods, which makes this the one to hold the cost lesson against. Note the average trade size, then divide it by your own spread.

Do this

Video20 min

A one minute strategy

The fastest system on the page. Everything the cost lesson measured applies here with the most force, and the trade count is what makes it so.

Video23 min

The one candle strategy

A single bar pattern as the entire entry. The interesting question is not whether it works on the chart shown, but how many one bar patterns there are to choose from, and what that does to the odds of one of them looking good.

Stage T

Platform traps

Running alongside the five stages. Code that looks right and is not, which is exactly what an AI writes most of when it writes ProBuilder.

35m1 lessons0%

Reading35 min

The traps, instruction by instruction

Every page of the reference ends with a section called common errors and gotchas. There are 1,168 of them across 301 instructions, each one a specific way that correct looking code does the wrong thing.

They are also the shortest way to check code you did not write. An AI will happily hand you ADX[14](close), which looks reasonable and is a syntax error in ProRealTime, and the ADX page says so in one line.

Open the reference

Do this