Full Curriculum
Thirty-seven parts, 206 pages, five difficulty levels, and about 113 hours of time on task including labs, projects and the capstone.
The five levels
Section titled “The five levels”Levels are a dependency graph rather than parallel tracks. Level 4 assumes Level 3 because you cannot audit a backtest you cannot read.
Level 1 — Chart Reader
Understand market data, read charts, recognise structure, know what common indicators measure, and use AmiBroker interactively.
0 of 6 parts started
Level 2 — AmiBroker Analyst
Manage databases and universes, build workspaces, run scans and explorations across a whole market.
0 of 2 parts started
Level 3 — AFL Developer
Think in arrays, write custom indicators, build multi-timeframe and multi-symbol tools, and reuse your own code.
0 of 9 parts started
Level 4 — Trading System Researcher
Turn ideas into objective rules, backtest them at portfolio level, detect bias, optimise responsibly and evaluate robustness.
0 of 9 parts started
Level 5 — Real-Time AmiBroker User
Understand live data architecture, configure intraday databases, troubleshoot feeds, build live charts, scanners and alerts.
0 of 11 parts started
Page types
Section titled “Page types”| Type | What it is |
|---|---|
| Lesson | Teaches something, usually with a formula and a quiz |
| Lab | You run something and record the results |
| Project | You build a complete, reusable tool |
| Challenge | Something is broken; you diagnose it before reading the solution |
| Reality check | A popular market claim, made testable and then tested |
| Reference | Material you return to rather than read once |
| Overview | A part’s introduction and contents |
The whole course
Section titled “The whole course”Part 1Market and Technical Analysis FoundationsLevel 1 · Chart Reader2.2 h
What markets are, how prices form, and what technical analysis can and cannot claim.
- LessonWhat Financial Markets Are20 min
- LessonParticipants, Brokers and Orders22 min
- LessonBid, Ask, Spread and Liquidity22 min
- LessonPrice Formation, Volatility and Time22 min
- LessonTechnical, Fundamental and Systematic Analysis20 min
- LessonProbability, Not Prediction25 min
Part 2Understanding Market DataLevel 1 · Chart Reader2.7 h
What is actually inside a bar, how market data gets corrupted, and why data quality decides whether analysis means anything.
- LessonOHLCV and What a Bar Hides22 min
- LessonTimeframes, Ticks and How Bars Are Built24 min
- LessonSplits, Dividends and Adjusted Data24 min
- LessonData Defects in Practice22 min
- LessonSurvivorship, Delistings and Index Membership25 min
- LabLab: Prove That Bad Data Breaks Analysis45 min
Part 3Getting Started with AmiBrokerLevel 2 · AmiBroker Analyst3.9 h
Installing AmiBroker, understanding its vocabulary, and building a database and workspace you can actually work in.
- LessonInstalling AmiBroker: Versions and Editions20 min
- LabLab: Install AmiBroker and Verify Your Setup35 min
- LessonThe AmiBroker Interface and Its Vocabulary25 min
- LessonDatabases and the Base Time Interval28 min
- LessonImporting and Updating Market Data30 min
- LessonSymbols, Watchlists and Categories22 min
- LessonNavigating and Scaling Charts22 min
- LabLab: Build Your First AmiBroker Workspace50 min
Part 4Reading Price ChartsLevel 1 · Chart Reader2.3 h
Getting real information out of a chart: chart types, scaling, swings and market structure.
- LessonChart Types and What Each One Shows22 min
- LessonLinear versus Logarithmic Scaling18 min
- LessonSwings, Highs and Lows24 min
- LessonMarket Structure: Trends, Ranges and Transitions26 min
- LabLab: Structured Chart Interpretation45 min
Part 5Support, Resistance and Price StructureLevel 1 · Chart Reader2.9 h
The most-used and least-tested ideas in technical analysis, treated as hypotheses rather than laws.
- LessonSupport and Resistance as Zones24 min
- LessonTrendlines and Channels22 min
- LessonBreakouts, Failed Breakouts and Role Reversal24 min
- LessonConsolidation and Volatility Contraction22 min
- LabLab: Map the Structure of a Real Chart45 min
- Reality checkReality Check: Do Support Levels Actually Hold?35 min
Part 6IndicatorsLevel 1 · Chart Reader5.5 h
Indicators as transformations of price and volume: what each one measures, how it is misused, and how to test it.
- LessonWhat an Indicator Actually Is24 min
- LessonMoving Averages: SMA and EMA28 min
- LessonMoving Average Slope and Crossovers26 min
- LessonADX and Directional Movement26 min
- LessonMACD24 min
- LessonRSI and Rate of Change28 min
- LessonThe Stochastic Oscillator22 min
- LessonVolatility: True Range, ATR and Bollinger Bands28 min
- LessonVolume and Volume-Based Indicators26 min
- LabLab: Indicator Behaviour Workbench55 min
- Reality checkReality Check: Does RSI Above 70 Mean Sell?40 min
Part 7Candlesticks and Chart PatternsLevel 1 · Chart Reader2.3 h
Pattern vocabulary without pattern worship, and the bridge from visual recognition to systematic testing.
- LessonCandlestick Anatomy and Single-Bar Patterns24 min
- LessonMulti-Bar Candlestick Patterns22 min
- LessonClassic Chart Patterns26 min
- LessonContext, Evidence and Base Rates26 min
- Reality checkReality Check: Can We Test Whether a Pattern Predicted Anything?40 min
Part 8AFL Programming FundamentalsLevel 3 · AFL Developer4.2 h
AmiBroker Formula Language from zero, built around the one idea that makes AFL make sense: it works on arrays.
- LessonWhat AFL Is and Where It Runs24 min
- ProjectYour First Formula30 min
- LessonSyntax Basics: Statements, Comments and Names24 min
- LessonVariables, Numbers and Expressions24 min
- LessonThe Array Model: The Most Important Lesson in This Course35 min
- LessonBoolean Arrays: Close > MA(Close, 50)30 min
- LessonLogic, Conditionals and IIf()28 min
- LessonNull Values, Nz() and Warm-Up Periods26 min
- LessonErrors, Debugging and Sanity Checks28 min
Part 9Working with Arrays and Historical BarsLevel 3 · AFL Developer3.4 h
The array toolkit: looking back, running extremes, counting, and the state-versus-event distinction that separates working formulas from broken ones.
- LessonReferencing Past Bars with Ref()28 min
- LessonRunning Extremes: HHV, LLV and Friends26 min
- LessonCounting and Accumulating: BarsSince, Cum, Sum26 min
- LessonValueWhen(): Carrying a Value Forward26 min
- LessonState versus Event: The Distinction That Breaks Formulas32 min
- LessonCleaning Signals: ExRem, ExRemSpan and Flip28 min
- ChallengeChallenge: State or Event?35 min
Part 10Building Custom AFL IndicatorsLevel 3 · AFL Developer5.2 h
From a single Plot() call to configurable, multi-pane analysis tools you will actually keep.
- LessonPlotting with Plot(): Styles, Colours and Panes30 min
- LessonChart Titles and Dynamic Text26 min
- LessonPlotShapes() and Visual Signals28 min
- LessonParameters: Param, ParamToggle, ParamList and ParamColor30 min
- ProjectProject: Configurable Moving-Average Indicator45 min
- ProjectProject: Trend Regime Indicator50 min
- ProjectProject: ATR Volatility Indicator45 min
- ProjectProject: Multi-Indicator Analysis Panel60 min
Part 11Reusable AFL ProgrammingLevel 3 · AFL Developer2.9 h
Functions, scope, include files and the start of a personal AFL library you will use for the rest of the course.
- LessonUser-Defined Functions and Procedures30 min
- LessonVariable Scope: local, global and the Traps26 min
- LessonInclude Files and Building a Library28 min
- LessonDefensive AFL: Guarding Against Bad Input and Bad Data28 min
- ProjectProject: Your Personal AFL Utility Library60 min
Part 12Scanning and ExplorationLevel 2 · AmiBroker Analyst5.2 h
Using the Analysis window to ask questions of an entire market instead of one chart at a time.
- LessonThe Analysis Window and Its Four Modes28 min
- LabLab: Your First Scan35 min
- LessonExploration: Filter, AddColumn and AddTextColumn32 min
- LessonConditional Formatting, Sorting and Ranking Columns26 min
- LessonBuilding Screening Filters That Mean Something30 min
- ProjectProject: Build a Daily Stock Screener60 min
- ChallengeChallenge: The Scan That Returns Nothing35 min
- LessonExporting Results and Building a Daily Workflow26 min
- Reality checkReality Check: Do High-Volume Breakouts Lead Anywhere?40 min
Part 13Ranking and Relative StrengthLevel 3 · AFL Developer2.8 h
Comparing symbols against each other at a point in time, which is a different question from filtering.
- LessonRelative Strength: What It Does and Does Not Mean26 min
- LessonRanking versus Filtering24 min
- LessonStatic Variables for Cross-Sectional Work30 min
- LessonStaticVarGenerateRanks() and Top-N Selection30 min
- ProjectProject: Market Relative Strength Ranking Tool60 min
Part 14Multi-Timeframe AFLLevel 3 · AFL Developer3.1 h
Using weekly context with daily setups without accidentally reading the future.
- LessonWhy Traders Use Multiple Timeframes24 min
- LessonTimeFrameSet() and TimeFrameRestore()30 min
- LessonExpansion Modes and the Look-Ahead Trap34 min
- ProjectProject: Multi-Timeframe Trend Indicator50 min
- ProjectProject: Multi-Timeframe Scanner50 min
Part 15Multi-Symbol AnalysisLevel 3 · AFL Developer2.7 h
Reading another symbol's data from inside a formula, and the alignment problems that come with it.
- LessonForeign(), SetForeign() and RestorePriceArrays()30 min
- LessonBenchmarks and Relative Performance28 min
- LessonSectors and Intermarket Analysis26 min
- LessonData Alignment Pitfalls Across Symbols28 min
- ProjectProject: Relative Strength Comparison Tool50 min
Part 16Market BreadthLevel 3 · AFL Developer2.4 h
Measuring how many stocks are participating, and building the composites that let you do it.
- LessonBreadth Concepts: Participation and Its Measures26 min
- LessonBuilding Composites with AddToComposite()32 min
- LessonBreadth Divergence and Market Regime26 min
- ProjectProject: Market Breadth Dashboard60 min
Part 17Introduction to Real-Time MarketsLevel 5 · Real-Time AmiBroker User1.8 h
The full architecture from exchange to chart, and an honest account of what real-time access costs and requires.
- LessonThe Real-Time Architecture, End to End28 min
- LessonDelayed, Real-Time and Historical Data26 min
- LessonEdition Requirements and the Three Access Levels26 min
- LessonPlugins and the Database Relationship Pro26 min
Part 18Real-Time Data ProvidersLevel 5 · Real-Time AmiBroker User2.2 h
A provider-neutral decision framework, followed by verified provider-specific appendices.
- LessonChoosing a Data Source: A Decision Framework28 min
- ReferenceAppendix: Interactive Brokers Pro30 min
- ReferenceAppendix: IQFeed Pro25 min
- ReferenceAppendix: eSignal and Other Supported Feeds Pro25 min
- LessonFree and End-of-Day Sources with AmiQuote26 min
Part 19Creating an Intraday AmiBroker DatabaseLevel 5 · Real-Time AmiBroker User2.9 h
Base interval, storage, backfill and maintenance for a database that holds minutes instead of days.
- LessonThe Base Interval Decision28 min
- LessonIntraday Database Settings in Detail Pro28 min
- LessonBackfill and Database Maintenance Pro28 min
- ChallengeChallenge: The History That Is Not All There Pro40 min
- LabLab: Build an Intraday Market Database Pro50 min
Part 20Trading Sessions, Exchanges and Time ZonesLevel 5 · Real-Time AmiBroker User2.1 h
The most under-taught source of silent intraday errors, demonstrated rather than asserted.
- LessonExchange Time versus Your Clock Pro30 min
- LessonSessions: Regular Hours, Pre-Market and After-Hours Pro28 min
- LessonDaylight Saving and Alignment Failures Pro28 min
- ChallengeChallenge: The Opening Range That Moved Pro40 min
Part 21Real-Time ChartsLevel 5 · Real-Time AmiBroker User2.3 h
Building an intraday chart layout that updates correctly and tells you when it has stopped.
- LessonIntraday Chart Intervals and What They Cost Pro26 min
- LessonFeed Updating versus Chart Refresh Pro28 min
- LabLab: Build a Real-Time Trading Layout Pro50 min
- ChallengeChallenge: The Chart That Stopped Updating Pro35 min
Part 22Real-Time Quotes and Time & SalesLevel 5 · Real-Time AmiBroker User0.9 h
The quote fields, the windows that display them, and what order-by-order data really tells you.
- LessonQuote Fields and the Real-Time Quote Window Pro28 min
- LessonTime & Sales: What It Does and Does Not Tell You Pro28 min
Part 23Real-Time AFLLevel 5 · Real-Time AmiBroker User2.4 h
Reading live quote fields from AFL, controlling refresh, and knowing which context your formula is running in.
- LessonGetRTData() and the Live Quote Fields Pro30 min
- LessonKnowing Where You Are: Status() and Execution Context28 min
- LessonRequestTimedRefresh() and Real-Time Performance28 min
- ProjectProject: Real-Time Quote Dashboard Pro55 min
Part 24Real-Time ScanningLevel 5 · Real-Time AmiBroker User2.0 h
Running Analysis repeatedly against updating data, and the costs that decide whether it is practical.
- LessonRepeat Scanning: Mechanics and Costs Pro28 min
- LessonDefining Intraday Setup Conditions Pro30 min
- ProjectProject: Intraday Breakout Scanner Pro60 min
Part 25AFL AlertsLevel 5 · Real-Time AmiBroker User1.8 h
Getting told when something happens, exactly once, for the right reason.
- LessonAlert Mechanisms and AlertIf()30 min
- LessonDuplicate Alerts and How to Stop Them30 min
- ProjectProject: Real-Time Breakout Alert Pro50 min
Part 26Bar Replay and Simulated PracticeLevel 5 · Real-Time AmiBroker User2.0 h
Practising chart reading and intraday decisions on historical data, without a live feed and without risking money.
Part 27From Trading Idea to Trading SystemLevel 4 · Trading System Researcher2.9 h
The disciplined translation from something you noticed into something a computer can evaluate.
- LessonFrom Observation to Hypothesis28 min
- LessonFrom Hypothesis to Rules30 min
- LessonFrom Rules to AFL30 min
- LessonExecution Assumptions You Must State28 min
- ProjectProject: Your First Complete Trading System60 min
Part 28AmiBroker BacktestingLevel 4 · Trading System Researcher4.8 h
The backtester in depth: signals, sizing, costs, stops and the leap from one symbol to a portfolio.
- LessonBacktester Basics: Signals and Trade Prices30 min
- LessonPosition Sizing with SetPositionSize()30 min
- LessonCosts: Commissions, Slippage and the Spread28 min
- LessonStops with ApplyStop()32 min
- LessonPortfolio Backtesting: Many Symbols, One Account32 min
- LessonSingle-Symbol Thinking versus Portfolio Reality28 min
- ProjectProject: A Realistic Portfolio Backtest65 min
- Reality checkReality Check: Is the Golden Cross Worth Anything?45 min
Part 29Understanding Backtest ResultsLevel 4 · Trading System Researcher2.8 h
Reading AmiBroker's report using AmiBroker's own vocabulary, and knowing which numbers deserve your attention.
- LessonReading the Backtest Report28 min
- LessonReturn Metrics: Net Profit, CAR, RAR and Exposure28 min
- LessonRisk Metrics: Drawdown and Its Relatives30 min
- LessonTrade Statistics: Wins, Losses, Payoff and Expectancy30 min
- LessonWhy Win Rate Alone Tells You Almost Nothing26 min
- LessonEquity Curve Analysis28 min
Part 30Backtesting MistakesLevel 4 · Trading System Researcher4.7 h
The strongest section of the course: the errors that make bad systems look brilliant, and how to catch them.
- LessonLook-Ahead Bias32 min
- LessonSurvivorship and Selection Bias30 min
- LessonData Snooping, Curve Fitting and Overfitting32 min
- LessonUnrealistic Fills, Costs and Liquidity30 min
- LessonPosition Sizing and Portfolio Errors28 min
- LessonInsufficient Evidence and Regime Dependence30 min
- ChallengeChallenge: 180% a Year with a 3% Drawdown45 min
- ChallengeChallenge Collection: Six Broken Backtests55 min
Part 31OptimizationLevel 4 · Trading System Researcher2.9 h
Searching a parameter space without fooling yourself, and why the best value is the wrong target.
- LessonWhat Optimize() Actually Does28 min
- LessonReading Parameter Surfaces30 min
- LessonBest Value versus Robust Region30 min
- LessonOptimization Targets and Search Engines28 min
- LabLab: Optimise Without Fooling Yourself55 min
Part 32Out-of-Sample and Walk-Forward TestingLevel 4 · Trading System Researcher2.9 h
Keeping data you have not looked at, and re-estimating parameters the way you would have had to in real time.
- LessonIn-Sample and Out-of-Sample28 min
- LessonWalk-Forward Methodology30 min
- LessonThe AmiBroker Walk-Forward Workflow30 min
- LessonInterpreting Out-of-Sample Degradation28 min
- LabLab: Run a Walk-Forward Analysis60 min
Part 33Monte Carlo and RobustnessLevel 4 · Trading System Researcher1.8 h
What resampling can tell you about a strategy, and the much larger set of things it cannot.
- LessonWhat Monte Carlo Can and Cannot Tell You28 min
- LessonThe AmiBroker Monte Carlo Workflow26 min
- LessonSequence Risk and Risk of Ruin30 min
- LessonThe Limits of Simulation26 min
Part 34Risk ManagementLevel 4 · Trading System Researcher2.9 h
The part of a system that decides whether you survive long enough for the edge to matter.
- LessonRisk Per Trade and Stop Distance28 min
- LessonVolatility-Based Position Sizing30 min
- LessonPortfolio Exposure, Concentration and Correlation30 min
- LessonDrawdown and Risk of Ruin in Practice28 min
- LabLab: Same Strategy, Three Position-Sizing Models60 min
Part 35Developing a Complete Trading Research ProcessLevel 4 · Trading System Researcher2.0 h
Assembling everything into a repeatable weekly and daily process, with the human decision left where it belongs.
- LessonThe Research Lifecycle End to End30 min
- LessonDefining Your Universe and Market Regime28 min
- LessonFrom Candidate to Decision30 min
- LessonJournalling and Separating Two Kinds of Performance30 min
Part 36Advanced AFLLevel 3 · AFL Developer2.9 h
Optional material for readers who want to go further: dynamic and static variables, matrices, performance and the custom backtester.
- LessonDynamic Variables: VarSet, VarGet and Friends28 min
- LessonStatic Variables in Depth30 min
- LessonMatrices and Advanced Data Handling28 min
- LessonPerformance: QuickAFL, Multi-Threading and Cost30 min
- LessonAdvanced Debugging and Tracing28 min
- LessonIntroduction to the Custom Backtester Interface32 min
CapstoneCapstone: Build Your Own AmiBroker Trading Research WorkstationLevel 5 · Real-Time AmiBroker User8.4 h
Nine components that combine the whole course into one working research environment, ending in a written research report.
- OverviewCapstone Overview and Requirements30 min
- ProjectComponent 1: Market Dashboard60 min
- ProjectComponent 2: Stock Exploration60 min
- ProjectComponent 3: Scanner55 min
- ProjectComponent 4: Multi-Timeframe Chart55 min
- ProjectComponent 5: Real-Time or Replay Workspace55 min
- ProjectComponent 6: The Trading Strategy60 min
- ProjectComponents 7 and 8: Backtest and Robustness Evaluation70 min
- ProjectComponent 9: The Research Report60 min