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.