Connors TPS
- Experts
- MATTHEW STAN WILLS
- Version: 2.1
- Updated: 10 February 2025
- Activations: 20
Larry Connors TPS – Automated Trading System
Version 2.0 – Developed by Matthew Wills
This Expert Advisor (EA) automates Larry Connors' Time, Position & Scale (TPS) strategy, originally described in his book High Probability ETF Trading. This strategy is designed to capitalize on market pullbacks and systematically scale into positions for optimized, risk-adjusted returns.
Strategy Overview
The TPS system applies mean reversion principles to ETFs, cash indices, and selected stocks, using RSI-based signals and structured position scaling.
Standard TPS Trading Rules:
- Trade an ETF, Cash Index, or stock.
- The index must trade above the 200-day moving average (SMA).
- Open 10% of the total position if the 2-period RSI is below 25 for two consecutive days.
- If price drops further, scale in with an additional 20% of position size.
- If price drops again, scale in with 30% more.
- If price drops again, scale in with 40% more.
- Exit all positions when the 2-period RSI closes above 70.
- For short trades, the same rules apply in reverse.
What’s New in Version 2.0?
This update introduces more flexibility, customization, and precision in execution and trade management.
✔ Customizable Scale-In Levels – Define up to 10 scale-ins with user-specified multipliers.
✔ Dynamic Position Sizing – Choose between:
- Fixed Lot Size (e.g., 0.1 lots per trade)
- Fixed Dollar Value (e.g., $1,000 per trade)
- Percentage of Account Balance (e.g., 5% of total balance)
✔ Multi-Symbol Trading – Trade multiple markets simultaneously.
✔ Enhanced Execution Modes – New options for improved trade timing: - OPEN_OF_NEXT_BAR – Orders placed at the next bar open (default).
- CLOSE_OF_THIS_BAR – Orders placed 1 minute before daily close (original Connors method).
- EXACT_TIME – User-defined execution time (e.g., 2135 = 9:35 PM).
Expert Advisor Settings & Configuration
Trading Mode Settings
These settings control trade execution and risk management.
- Trade Long Positions: Enable/Disable long trades.
- Trade Short Positions: Enable/Disable short trades.
- Trade Execution Modes: Choose between:
- OPEN_OF_NEXT_BAR – Places trades at the next candle open (backtesting-friendly).
- CLOSE_OF_THIS_BAR – Trades at the daily close, true to Connors' original strategy.
- EXACT_TIME – Execute trades at a specific user-defined 'Broker's Sever' time (e.g., 2135 = 9:35 PM) - (All symbols in the list are assessed for entries/exits at this time)
Indicator & Entry Logic
- Use Moving Average Filter – Trades only when price is above the 200-SMA (for long positions) or below the 200-SMA (for shorts).
- RSI Period: Default = 2 (user-adjustable).
- Entry Conditions:
- Long Entry: RSI(2) < 25 for two consecutive days → Enter long.
- Short Entry: RSI(2) > 75 for two consecutive days → Enter short.
- Exit Conditions:
- Long Exit: RSI(2) > 70 → Close long position.
- Short Exit: RSI(2) < 30 → Close short position.
- Trade Entry Mode:
- STANDARD Mode: RSI must be below/above the threshold for two consecutive bars.
- AGGRESSIVE Mode: RSI only needs to hit the threshold once (results in more trades & higher volatility).
Position Sizing & Scaling In
Users can select one of three position sizing methods:
- DEFINED_LOTS – Uses fixed lot sizes for trades (Forex pairs require this option).
- FIXED_VALUE – Trades a fixed monetary amount per position.
- ACCOUNT_PCT – Trades a percentage of account balance.
Scaling-In Feature
- Up to 10 scale-in levels with customizable multipliers.
- Default scaling follows Connors' 1 → 2 → 3 → 4 model but can be adjusted.
- Scale-in stops if the next position multiplier is set to ≤ 0.
Scale-In Example (Default 4-Step Scaling)
Using DEFINED_LOTS = 0.1 lots:
- Position 1: 0.1 lots
- Position 2: 0.2 lots
- Position 3: 0.3 lots
- Position 4: 0.4 lots
- Total: 1.0 lots
Using FIXED_VALUE = $1,000 per trade:
- Position 1: $1,000
- Position 2: $2,000
- Position 3: $3,000
- Position 4: $4,000
- Total: $10,000
Using ACCOUNT_PCT = 5% per trade (with $50,000 balance):
- Position 1: $2,500 (5%)
- Position 2: $5,000 (10%)
- Position 3: $7,500 (15%)
- Position 4: $10,000 (20%)
- Total: $25,000 (50% of balance)
Multi-Symbol Trading & Execution
- MultiSymbols – Define multiple symbols to trade (e.g., "US500, NDX100, ASX200").
- MaxSymbolsOpen – Controls how many symbols can have active trades at once (default = 2).
- Automatic Symbol Selection – Invalid symbols are skipped automatically to prevent execution errors.
Display & Reporting Features
- Live Performance Tracking – EA displays all key settings & trade metrics on the chart.
- Show Trade History Metrics – Includes:
- Total Trades, Win/Loss Ratio, Drawdown, Profit, ROI.
- EA History Start Date – Set a custom tracking start date (default: May 1, 2023).
- Automatic Error Handling – Detects missing symbols & execution issues and logs warnings.
Alerts & Notifications
- Push Notifications
- Email Alerts
- Chart Pop-Up Messages
Recommended Markets
While originally designed for ETFs & Cash Indices, this EA can be applied to various instruments.
Best Markets for TPS Strategy:
✔ S&P 500 (SPX500, US500)
✔ NASDAQ 100 (NDX100, US100)
✔ Dow Jones Industrial (DJI30, US30)
✔ Russell 2000 (RUT2000, US2000)
✔ Australian ASX 200 (ASX200)
✔ Popular ETFs (QQQ, SPY, DIA)
⚠️ While the EA can be used for stocks, they tend to be more volatile, which may impact performance.
Important Notes
- Daily Timeframe Only – This EA operates exclusively on the daily chart.
- Limited Scale-In Levels – Up to 10 scale-ins allowed, not a martingale strategy.
- Best for ETFs & Indices – Stocks may be riskier with this strategy.
RECOMENDATIONS:
-
Backtesting should only be done using OPEN_OF_NEXT_BAR .
- This ensures stable results, as the backtester processes completed bars.
- Other modes ( CLOSE_OF_THIS_BAR or EXACT_TIME ) may not function correctly in backtesting.
-
Live trading should only be done using EXACT_TIME .
- Ensures precise execution, avoiding broker-dependent execution timing issues.
- CLOSE_OF_THIS_BAR may not work correctly with all brokers.
-
Do not mix different asset classes in the same EA instance.
- Forex, Metals, and Indices should be traded separately to avoid incorrect position sizing.
-
For Forex and Metals, only use the LOT_SIZE position sizing method.
- FIXED_VALUE and ACCOUNT_PCT are designed for stocks and indices.
- These methods may result in incorrect lot sizes when used with Forex and Metals.
-
If a broker uses non-standard Forex symbols (e.g., AUDUSD-Inv instead of AUDUSD ), LOT_SIZE is the only viable option.
- The position sizing function depends on standard Forex pairs to calculate exchange rates.
- If a broker does not provide standard Forex symbols, alternative sizing methods will not work correctly.
Support & Custom Modifications
If you need custom adjustments or have questions, leave a comment with your email, and we’ll get back to you.
Always test the EA before running it on a live account.
Final Summary
✔ Fully Automated TPS Strategy
✔ Multi-Symbol Trading with Custom Scale-In Rules
✔ Professional Strategy – Not a traditional martingale
✔ Best suited for ETFs & Indices like SP500, NASDAQ, ASX200, QQQ, SPY
Ready to trade Connors' TPS strategy professionally?
Download now and start trading smarter.
This EA is one of the better ones I've come across on MQL5! It doesn’t open trades every day but the underlying strategy is solid and focuses on quality over quantity. It works well on higher liquidity ETFs (like QQQ and SPY) and indices (test with your broker first). Matthew is highly responsive and provides great support. Definitely recommend!