
The Ultimate EA Toolkit: Quantifying Pro Trader Wisdom!
## What's the Big Idea?
A beginner-friendly summary of the verification: “The Ultimate EA Toolkit: Quantifying Pro Trader Wisdom!”.
What’s the Big Idea?
This isn’t about revealing a groundbreaking new trading strategy today. Instead, it’s about making our Expert Advisor (EA) verification process much stronger and more robust! Think of it like a chef upgrading their kitchen with better tools and ingredients – not to cook a new dish immediately, but to be able to cook any dish better in the future. Our goal with Research 77 was to take as many measurable elements as possible, even those often left to human discretion, and turn them into automated, quantifiable “engines” for our testing toolkit. We scoured the web for useful, quantifiable methods that we hadn’t implemented yet, and then we got to work!
How We Built Our New Toolkit
We’ve successfully added several powerful new tools to our btengine (backtesting engine), all designed to be completely objective and bias-free. This means they are “leak-free” – they don’t peek into the future to make decisions, ensuring our tests are honest. These are permanent assets we can rely on!
Here’s what we implemented:
- Volume Profile (
btengine/profile.py): This is a big one for FX! While FX doesn’t have centralized exchange volume like stocks, we do have “tick volume” – the number of price changes within a period. This tool analyzes that often-overlooked tick volume to show us where the most trading activity occurred. It identifies key levels: - POC (Point of Control): The price level with the highest traded volume. In other words, where the most action happened!
- VAH (Value Area High): The upper boundary of the value area, where 70% of the volume traded.
- VAL (Value Area Low): The lower boundary of the value area.
- Position in VA: Where the current price sits within that value area. We’ve verified that tick volume is indeed useful in FX (averaging around 6,000 ticks per hour on an H1 chart, with no zero-volume periods). If, by some chance, tick volume was zero, it automatically falls back to Time-at-Price (TPO) analysis, which simply measures how long price spent at each level. Smart, right?
- Pivot Points (
btengine/pivots.py): These are classic, objective support and resistance (S/R) levels. They’re calculated based on the previous day’s or week’s price action and then “shifted” onto the current period. We’ve included several popular methods: - Classic Pivots
- Fibonacci Pivots
- Camarilla Pivots These give us completely objective, automatically generated S/R levels.
- Fibonacci Levels (
btengine/fibonacci.py): Another staple for many traders! This tool identifies Fibonacci retracement and extension levels based on confirmed swing highs and lows. It helps us pinpoint potential areas where price might reverse or consolidate. These three new additions – Volume Profile, Pivot Points, and Fibonacci levels – form what we call our “three pillars of objective S/R.” They join our existing toolkit which already includes: - A wide range of indicators (SMA, EMA, RSI, ATR, ADX, Bollinger Bands, MACD, fractals, Ichimoku, Supertrend, trendlines, Dow structure).
- Horizontal S/R levels (
levels.py) and diagonal channels (channels.py). - Multi-Timeframe (MTF) regime analysis (
regime.py) for understanding the market’s overall state.
What Happened?
The “what happened” here isn’t a profit/loss report, because we weren’t testing a specific strategy. Instead, we successfully implemented and verified these new tools! Each of them now runs efficiently within our backtesting engine, providing rich, quantifiable data points that were previously unavailable or required manual charting. We’ve confirmed that:
- Volume Profile effectively utilizes FX tick volume and provides valuable insights into market activity hubs.
- Pivot Points generate reliable, objective S/R levels across different calculation methods.
- Fibonacci Levels accurately identify retracement/extension zones from validated swing structures. All these components are now integrated, tested, and ready for action, free from any lookahead bias, making them trustworthy assets for future research.
What I Learned (and What’s Next!)
What we learned is that we now have a much more comprehensive and powerful set of building blocks. Imagine having more ingredients in your pantry and more specialized tools in your kitchen – you can now cook a wider variety of meals with greater precision! Our primary goal for these new “engines” is to use them as components to build and test new strategies or filters. We’ll be using them in the same way we tested the “level importance” in Research 73 – by forward testing them to see their impact on performance. The ultimate aim is to expand our ability to identify opportunities and improve monthly profitability for EAs. And we’re not stopping there! Here’s a peek at what’s in the backlog for future “engine-ification”:
- Candlestick Pattern Library: Systematizing patterns like Doji, Hammer, Stars, Harami, and more.
- Chart Patterns: Automating the detection of patterns like Double Tops/Bottoms, Head & Shoulders, and Triangles based on swing structures.
- Harmonic Patterns: Implementing patterns like Gartley, which rely on specific Fibonacci ratios.
- VWAP / Anchored VWAP: More profile-related tools to analyze volume-weighted average price. By continuously expanding and refining our verification toolkit, we’re not just building EAs; we’re building the intelligence to truly understand and optimize them. Stay tuned for how these new tools help us uncover exciting new insights!
How this connects
This verification builds on earlier ones (what failed before and what I tried this time, comparisons between approaches).
Code to reproduce
You can reproduce this with the following scripts (see repo).
btengine/fibonacci.pybtengine/pivots.pybtengine/profile.py