Autoplay
Autocomplete
Previous Lesson
Complete and Continue
AT101: Algorithmic Trading Immersive Course
Chapter 1 > Here's What You Are In For!
AT101 is Revamped!
What are Trading Robots? (And why should I build them?) (Part 1) (5:58)
What are Trading Robots? (And why should I build them?) (Part 2) (5:02)
The First Step - How To Start Your Journey?
MT4 Installer Direct Download
MT4 for Mac
Downloading Our Software (MT4) (4:02)
Introduction to MT4 (4:18)
MT4 Basic Guide
Download Template
Structure of a Trading Robot (Part 1) (3:53)
Structure of a Trading Robot (Part 2) (4:40)
Structure of a Trading Robot (Part 3) (5:29)
Why choose MT4 over other software?
Our Holy Grail - Secret to Successful Trading Robots
Hello and Thanks | Your Feedback Channel
Chapter 2 > Programming Basics: Variables And Conditions
The 3 Types of Code
Syntax - The ABCs of Coding (Part 1) (4:17)
Syntax - The ABCs of Coding (Part 2) (3:33)
Reserved Words - Words you cannot use!
Variables - The basic building blocks! (5:38)
Download Code for Expressions
Expressions and Operations (Plus, Minus, Multiplication and Division) (7:11)
Operations and Precedence - Who comes first
Conditional - If this then that (Part 1) (4:49)
Conditional - If this then that (Part 2) (5:51)
Chapter 2 Summary
Our First Quiz - Let's play a game...
Chapter 3 > Robot 1: Adeline - Our First Robot!
Background to our Asset Class
Chart Reading 101
Download Codes for Adeline
Theory behind Robot Adeline (4:35)
Coding Adeline (Part 1) (8:16)
Coding Adeline (Part 2) (7:40)
Understanding Shift
Dry Run! - Our Robot Testing System (Part 1) (4:32)
Dry Run! - Our Robot Testing System (Part 2) (5:34)
3 Types of Testing Method (Simple)
Chapter 3 Summary
Don't worry about not understanding the code!
Chapter 4 > Uncommon Common Sense: Design Effective And Logical Robots
Trading Robot Development Guide - Everything You Need To Succeed (Part 1) (5:15)
Trading Robot Development Guide - Everything You Need To Succeed (Part 2) (4:47)
Trading Robot Development Guide - Everything You Need To Succeed (Part 3) (6:05)
Pros and Cons of Trading Robots - Nothing is Perfect
Calculating Long Term Expected Payout of a Robot (6:42)
Useful Resources
Chapter 4 Summary
Let's Make The Course More Awesome
Start Coding Your Own Trading Strategies
Moving to Python?
Chapter 5 > Garbage In, Garbage Out. Understanding Data
Data Sources and Storage (5:57)
Data Management
Download Dirty Data
Cleaning Data (Part 1) (6:44)
Cleaning Data (Part 2) (7:23)
Cleaning Data (Part 3) (6:15)
Trading on Bad Ticks - Avoid the Scammers in the Markets
We are giving away 10GB of data! + Other Data Sources
Our Second Quiz - Knowledge Is Power...
Chapter 6 > Programming Basics 2: Loops
Loops - Running a piece of code many times (Part 1) (7:22)
Download Code for Loops
Loops - Running a piece of code many times (Part 2) (2:45)
Chapter 7 > Robot 2: Belinda - Utilising Volatility!
Quantifying Volatility - How Big are Average Price Movements?!
Introducing our 2nd Robot: Belinda (4:27)
Download Belinda
Coding and Testing Belinda (6:08)
Chapter 8 > To Buy Big Or Small? Position Sizing And Money Management
Enable Macros for Excel
Coin Flip Game - Understand Bet Sizing by Flipping Coins (7:10)
Theory behind Bet Sizing (aka Position Sizing/Money Management) (7:19)
Download Codes for this Chapter and the Next
Chapter 9 > Robot 2A: Belinda 2.0 (No Gambler's Ruin for Me!)
Coding our Sizing Algorithm! (2:58)
Upgrade time! - Adding Sizing Algos to Belinda (3:32)
Sizing Algo for Deposit Currency
Brief Note - Market Opportunities in Forex vs CFDs!
A Note on Simple Price Action - Adeline and Belinda
Chapter 10 > Where To Start? Idea Generation and Expectations
Expectation of Strategies and Equity Curves (Part 1) (8:13)
Expectation of Strategies and Equity Curves (Part 2) (10:55)
Preliminary Research - First step to building Robots (Part 1) (8:59)
Preliminary Research - First step to building Robots (Part 2) (8:53)
Sources of Ideas!
Strategy Creation Thought Process (Part 1) - A Closer look at Market Prudence
What are Leading and Lagging Indicators
Strategy Creation Thought Process (Part 2) - Think of Relationships
Understanding Entries and Exits
David vs Goliath – Can we outwit the big Funds?
Don't trade solely with Indicators
Does this course suck? Or is it adding value to you?
Chapter 11 > Programming Basics 3: Functions, Time And Self-Learning
Still lost at programming? Self-Learning Methods
Types of Errors! And Common Coding Problems!
Download Code
Debugging Demonstration - Understanding the Thought Process (10:29)
Functions - Little Factories (10:26)
Coding User-Defined Functions (4:44)
When 2 lines cross - Creating a Cross Function (10:24)
Functions with No Output - Returning Void
What is #Define
Understanding Time and Dates
Coding Practice!
Chapter 12 > Relevant Statistics 101!
Statistical Significance and Law of Large Numbers - More is better (6:58)
Minimum Sample Size and Application to Trading (11:01)
Optional Readings on Statistics
Minimum Sample Size vs Live Performance (Good Backtest != Good Live Results)
Chapter 13 > Understanding Robot Behaviour and Robustness: Backtesting!
The Aim of Backtesting - We are NOT trying to build the Ultimate Strategy
Volatility and Timeframes
4 Main Types of Market Conditions (1:37)
Downloading Codes for Chapter 13
Checking Trades - Ensuring Accuracy in the Codes (7:49)
Swap Rates - Overnight Costs
Carry Trade - Earning from Interest Differentials
3 Types of Testing Method (Detailed)
Modelling Quality - A Meaningless Number?
Every Tick Testing Issue - Once Upon a Bar (Part 1) (4:12)
Every Tick Testing Issue - Once Upon a Bar (Part 2) (6:45)
Robustness - Staying Effective through Change (3:35)
Reminder: Don't try to build the ultimate robust robot
Fractals - Timeframe Robustness (NOT referring to candlestick patterns)
Period and Timeframe Robustness (4:35)
Period Robustness (Part 2) – Market Prudence
Seasonal Robustness - Repetitive Behavior in the Markets (4:38)
Seasonal Effects: Best Times to Trade
Instrument Robustness Analysis (4:55)
Black Swans - Stress Testing our Robots through Tough Times (4:40)
Strategic Market Conditions (Part 1) - Building Robots for Specific Market Types (4:43)
Strategic Market Conditions (Part 2) - Recap, Market Prudence and Identifying SMC
Parameter Value Selection: A Glimpse into Curve Fitting Bias
Butterfly Effect: Start Point Phenomenon (6:30)
Robustness - A Summary
Pass or Fail? Backtest Performance Analysis (4:38)
Quick Technical Guide: Running your trading robot live
Chapter 14 > Programming Basics 4: Arrays And Indicators
Mentality towards Technical Indicators - Not Magic Numbers
Math behind Technical Indicators (Part 1) (5:48)
Math behind Technical Indicators (Part 2) (4:57)
Arrays - Invisible Tables of Data (4:18)
Download Codes for Arrays
Programming Arrays (Part 1) (7:30)
Programming Arrays (Part 2) (4:34)
Programming Practice! - Arrays
Buffers – Special Arrays for Indicators
Structure of Indicators (Part 1) (2:44)
Structure of Indicators (Part 2)
Explaining Indicator Code (Part 1) (6:07)
Explaining Indicator Code (Part 2) (7:26)
New Indicator Code and Property Strict
Indicator Coding Practice 1: Replicating an Indicator Manually (4:10)
Indicator Information
Indicator Coding Practice 2: Multiple Buffers (10:11)
Calling Self-Made Indicators - Using iCustom (4:10)
Indicator Code Resources
Chapter 15 > Robot 3: Clarissa - Playing with Time
Download Code for Datetime Script and Clarissa
Understanding the Datetime Data Type
Coding for Seasonal Effects - Managing Date and Time (Part 1) (6:18)
Coding for Seasonal Effects - Managing Date and Time (Part 2) (8:31)
Introducing our 3rd Robot: Clarissa (5:34)
Coding and Testing Clarissa (Part 1) (7:41)
Coding and Testing Clarissa (Part 2) (10:49)
Coding and Testing Clarissa (Part 3) (4:18)
Chapter 16 > What A Mess - Managing Trades, Orders and Positions
Mixing it up: Multiple Order Types
Understanding Market Makers - Can We Trade Like Them?
Download Codes for Clarissa Modified and Falcon Template
Managing 4 and 5 Digit Brokers (4:34)
Adjusting for Yen Pairs (6:15)
Order Limitations: Stop and Freeze Levels
Upgrade Time: Introducing Falcon Template 1.0 (7:35)
Order Functions
Managing Orders with Code (6:14)
Market vs Instant Execution
Upgrade Time: OrderSend Function Falcon 1.0 (7:43)
Understanding Spread
4 More Order Types - Send Pending Orders (7:37)
Managing Multiple Positions with One Robot (4:04)
Closing Positions and Orders (6:41)
Breaking it up - Closing Orders Partially
Risk Management - Limiting Trades when Things Go South (7:18)
Understanding Slippages and Requotes
Handling Errors In Falcon (5:31)
Chapter 17 > Robot 4: Desiree - Turtles
History of the Turtle Traders Experiment - Converting Beginners to Top Traders
Introducing our 4th Robot: Desiree (6:42)
Download Code for Donchian and Desiree
Coding Our Turtle Indicator - Donchian Channels (11:03)
Coding and Testing Desiree (Part 1) (2:04)
Coding and Testing Desiree (Part 2) (8:54)
Coding and Testing Desiree (Part 3) (10:43)
Coding and Testing Desiree (Part 4) (3:46)
Let's Make The Course More Awesome (Again!)
Chapter 18 > Design Theories I - Improving Robots By Manipulating Time, Entries and Exits
Modelling Transaction Costs: Commissions, Spreads and Slippages (8:58)
Why We Dislike Lower Timeframes (9:32)
Same Robot. Different Timeframes. Different Performances.
Understanding Stop Loss - Prudence and Noise Buffer (5:12)
Adaptive Components in Strategies (8:16)
Which should I use - Stops vs Trailing Stops (5:30)
Which is more Important - Entries vs Exits (Trade Management) (9:10)
Asymmetrical Rules - Long Short Bias (11:23)
Chapter 19 > Add A Twist To Your Orders - Advanced Order Management
Executing Trades Immediately - "Every tick" Backtesting
Don't Get Targeted - Hidden Stop and Take Profit (Part 1) (6:49)
Don't Get Targeted - Hidden Stop and Take Profit (Part 2) (5:46)
Pseudo Logic: Breakeven Stops
Optional Content
Download code for Chapter
Coding Hidden Stop and Take Profit (Part 1) (9:11)
Coding Hidden Stop and Take Profit (Part 2) (9:47)
Coding Hidden Stop and Take Profit (Part 3) (5:53)
Hidden Functions and “Every tick”
5 Types of Trailing Stops
Coding Trailing Stops (9:52)
Coding Hidden Trailing Stops (Part 1) (9:18)
Coding Hidden Trailing Stops (Part 2) (8:26)
Coding Volatility Trailing Stops (Part 1) (9:07)
Coding Volatility Trailing Stops (Part 2) (5:40)
Coding Hidden Volatility Trailing Stops (8:08)
Manage Uncertainty - Limiting Trades When Volatility Spikes (4:27)
Adaptive Volatility Trailing Stops
Chapter 20 > Robot 5: Desiree 2.0
Download Code for Desiree 2.0
Coding Desiree 2.0 (10:41)
Chapter 21 > Buff Up Your Robot Responsibly - Optimisation Without Curve Fitting
Introduction to Optimisation (4:03)
What To Aim For - Understanding Objective Functions
Optimisation in MT4 (Part 1) (9:21)
Optimisation in MT4 (Part 2) (7:01)
Genetic Algorithm in English
Optimisation in MT4 - A Look behind the Scenes
Past Doesn't Predict Future - Understanding Curve Fitting (9:35)
Optimising for the Future - 10 Ways to Minimise Curve Fitting
Limitations in MT4's Optimisation (6:47)
Types of Limitations
Too Much Freedom is Bad - Understanding Degrees of Freedom (12:02)
Fuzzy Definition of Degrees of Freedom
Setting up your Optimisation - Understanding Parameters
In and Out-of-Sample Data - Training and Testing (7:13)
Optimisation Evaluation - Parameter Space Analysis (Part 1) (9:56)
Optimisation Evaluation - Parameter Space Analysis (Part 2) (8:53)
Independent Variables Optimisation - Breaking the Process Apart (Part 1) (8:44)
Independent Variables Optimisation - Breaking the Process Apart (Part 2) (7:24)
Quiz on Optimisation - Maximising Performance the Right Way
Speeding Up Your Optimisations! Don't Run Irrelevant Tests
3 Big Mistakes of Backtesting/Optimisation - 1) Overfitting 2) Look-Ahead Bias 3) P-Hacking
Solution to the 3 Big Mistakes in Backtesting/Optimisation
Chapter 22 > Perfect Your Bet Sizing - Advanced Position Sizing Methods
Enable Macros for Excel
Beyond Risk = 2% - Optimising Risk Per Trade (12:34)
Download Code for Advanced Position Sizing
Our Sizing Trilemma - The Impossible Trinity of Sizing (6:28)
Check Your Sizing - Ensuring Lot Size Compatibility (11:19)
Be Nimble Not Clunky - Breaking Down Large Orders (6:59)
Reference Hidden/Trailing Stops - Modifying Our Sizing Algo
A Proposed "Optimal" Bet Sizing Algo - The Kelly (Part 1) (8:35)
A Proposed "Optimal" Bet Sizing Algo - The Kelly (Part 2) (8:51)
Kelly Criterion Resources
Coding the Adaptive Kelly Sizing Algorithm (Part 1) (7:18)
Coding the Adaptive Kelly Sizing Algorithm (Part 2) (8:56)
Coding Hit Rate and Reward Ratio Functions (7:01)
Notes on Adaptive Sizing
Adaptive Position Sizing - Tailoring to Target Factors (Part 1) (6:27)
Adaptive Position Sizing - Tailoring to Target Factors (Part 2) (5:18)
Coding an Adaptive Volatility Sizing Model (6:21)
Formulating Adaptive Sizing Algorithms
Coding an Adaptive Hit Rate Sizing Model (8:30)
Summary - Reviewing our 3 Sizing Methods
Is this course of good value?
Chapter 23 > Robot 6: Elizabeth and the Ugly Martingale
Elizabeth - Martingale and Myths (Part 1) (7:10)
Elizabeth - Martingale and Myths (Part 2) (6:05)
Elizabeth's Rules
Download Elizabeth
Coding Elizabeth (Part 1) (6:43)
Coding Elizabeth (Part 2) (5:29)
Elizabeth Upgraded - Introducing Elizabella (10:24)
Programming Elizabella (Part 1) (6:58)
Programming Elizabella (Part 2) (8:47)
Programming Elizabella (Part 3) (8:05)
Chapter 24 > Programming Basics 5: Clean Up Your Codes! Simple Is Fast!
MT4's Global Variables (Not referring to global scope!) (6:00)
Download Code for Programming Basics 5
Coding Simple Global Variables (1:27)
Coding Global Variables (Spread) (2:58)
Coding Global Variables In an Indicator (Highest Spread) (3:17)
Cleaner Code 1 - Record Backtest Timings (5:21)
Cleaner Code 2 - Coding Principles!
Cleaner Code 3 - Once a Bar (3:37)
Cleaner Code 4 - Partial Once a Bar + Once an Entry/Exit (5:16)
Cleaner Code 5 - Efficient Indicators (3:59)
Include vs Import
Coding with the Include method (5:16)
Coding with the Import method (9:04)
Dynamic Link Library (DLL)
Code Robustness - Write Good Code
Chapter 25 > Garbage In, Garbage Out Again. Advanced Data Cleaning (Part 1)
Offline Testing and Multiple MT4 Instances
Backtesting - Designated vs Actual Period
Download Code for Advanced Data Management (Part 1)
Creating Custom Timeframes (3:45)
Backtesting with Custom Timeframes (5:46)
Different Data, Different Output - Reconciling Backtest Results
Clean Data, Biased Output – Backtesting vs Live Trading Results
1 Min Intrabar – Behind the Scenes
Chapter 26 > Excel VBA - Using Excel Magic to Improve Our Trading
Check out the VBA Course
Chapter 27 > Garbage In, Garbage Out Again. Advanced Data Cleaning (Part 2)
Managing Time Zone Difference between Data and Broker
Understanding Date and Time in Excel
Download Code and Files for this Chapter
Modifying Dates and Time of our Data (Part 1) (8:27)
Modifying Dates and Time of our Data (Part 2) (4:52)
Data Cleaning Series - Definition of Clean Data
Data Cleaning Series - Problems with Dirty Data (Generic) (11:07)
G in G Out Framework (Theory) - The Mega Data Cleaning Framework (Part 1) (10:20)
G in G Out Framework (Theory) - The Mega Data Cleaning Framework (Part 2) (10:08)
G in G out Framework (Practical) - Listing and Scanning for Errors (6:39)
G in G out Framework (Practical) - Basic Error Visualisation (4:04)
Excel How-To: Scatter Plot and Histogram
G in G out Framework (Practical) - Fixing Errors using Clean Reference Data (11:02)
Limitations of Excel - Dealing with Large Dataset
A Glimpse into Advanced Data Chapter (Part 3)
Chapter 28 > I Like Colors And Shapes - Adding Graphics
Download Code for Chapter
Building Dashboards with Comments (7:05)
Building Dashboards with Comments (Falcon 2.5) (3:09)
Building Dashboards - Indicators vs Scripts
Creating and Deleting Graphical Objects - Shapes, Arrows, Lines, Words (Part 1) (7:34)
Creating and Deleting Graphical Objects - Shapes, Arrows, Lines, Words (Part 2) (9:03)
Creating and Deleting Graphical Objects - Immovable Words (4:15)
Modifying Objects (Properties) - Thicker lines, changing colours etc (Part 1) (6:15)
Modifying Objects (Properties) - Thicker lines, changing colours etc (Part 2) (6:25)
Displaying Your Information - Dashboard (Indicator)
Creating Buttons and Dealing with Chart Events (Part 1) (7:08)
Creating Buttons and Dealing with Chart Events (Part 2) (6:25)
Chapter 29 > Ring Ring! Notify Yourself When Something Goes Wrong (Or Right)
Introduction to MT4 Notifications
Download Code for Notifications Chapter
Coding Notifications - 6 Case Studies (5:13)
Trade Notifications with no coding!
MetaTrader 4 General Alerts
Chapter 30 > Robot 7: Faye - Semi-Automated Trading
Download Code for Faye
Programming Faye 01 - Trade + Alerts (8:44)
Faye 02 Theory - Semi-Automated Robot
Programming Faye 02 - Semi-Automated Robot (Alert Only) (8:04)
Chapter 31 > Connect with the outside world - Importing and Exporting Data out of our Trading Platform
Expanding our Trading Options - Reasons for Reading and Writing Data
Download Code
One number - Read and Write data (Part 1) (7:29)
Multiple numbers - Read and Write data (Part 2) (4:44)
Write to the end + Error Management - Read and Write data (Part 3) (2:43)
Storing Files – Non-tester vs Tester
Recording Spreads: Bid-Ask Spread Logger
Chapter 32 > Programming Basics 6: Trading Platform Nuances
Download Code for Programming Basics 6
The Little Details - MT4 Nuances (Part 1)
The Little Details - MT4 Nuances (Part 2)
Modifying Function Inputs – Multiple Outputs and Arrays
Backtest Accuracy - Different Quote and Deposit Currencies
Fixing with Custom Tick Values (Programming) - Different Quote and Deposit Currencies (6:01)
Testing Features and Limitations in MT4
Chapter 33 > Design Theories II - The "Secret Sauce"
Mindset behind Strategies: Prudence-Behavioural Framework (Fundamentals vs Statistics)
Types of Alpha (Introduction)
Alpha Type 1: Data (Numbers, Images and Text)
Alpha Type 2: Global Macro
Alpha Type 3: High-Frequency Trading
Alpha Type 4: Market Microstructure
The Hybrid Model – Semi-Algorithmic Trading (Algo + Manual)
Practical Understanding of Commissions, Volatility and Shift
5 Realities of Algorithmic Trading - All Strategies Die Eventually
Crowd Behaviour - Outwitting the Masses
Chapter 34 > Walk Forward Optimisation - The Most Important Step in Testing
What is Walk Forward Optimisation and Why I Do Need it?
Wthout WFO - Wrong Way to Optimise. Making 2700%
WFO Demonstration (6:56)
Download Code and File
Recording Results, Expectations and Automation
WFO Does Not Eliminate Curve Fitting - Look-Ahead and P-Hacking
Profit is Not Enough - Customising Objective Functions
Coding Customised Objective Functions (Part 1)
Coding Customised Objective Functions (Part 2)
Size of In and Out-of-Samples + Overall Duration
Walk Forward Robustness and Performance Analysis
Chapter 35 > Trading Non-Forex CFDs with MT4 (Stocks, Commodities, Fixed Income and Crypto)
MT4 EAs for CFDs – Understanding the difference with Forex EA
Download code for this chapter
Demo accounts for CFDs
Chapter 36 > Trading on External and Alternative Data with MT4
External Information Inputs – Adding Alpha to Our Strategies
Download Code for Chapter (In Progress)
More lectures coming up!
Bonus Chapter!
Falcon Template - Our Main Robot Template (Check here for Latest Version)
Download Codes for Arrays
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock