Exp_BlauTVI_Tm
This EA trades based on William Blau's TVI (Tick Volume Indicator) momentum oscillator, generating buy/sell signals when the TVI crosses its signal line. It includes a time management filter to restrict trading to specific hours and supports both fixed lot sizing and money-management-based position sizing.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
Why this EA never traded: no entry rule survived the conversion.
Converted from MQL5 to Python and run with the same rules for every EA. Positions use MT5 lot sizes (100,000 units per FX lot, 100 oz per gold lot) with 1:100 leverage, one order at a time, and a stop-out below 10% of the starting balance. Sharpe is computed from the equity curve. Results marked as unreliable are shown for completeness only.
Blow-up risk: No blow-up pattern found
None of the usual blow-up patterns were found in the code, and the account was not stopped out in our backtests. That is not a guarantee: any EA can lose money.
High: stopped out in our backtest, or martingale/grid sizing without a stop loss. Elevated: martingale or grid sizing with a stop loss, or several positions at once without a stop loss. What the label means and what we found →
Strategy analysis
The strategy concept is based on William Blau's TVI (Tick Volume Indicator) momentum oscillator, which measures the direction and strength of price momentum by double-smoothing tick volume data. Entry conditions are triggered when the TVI main line crosses its signal line — a bullish crossover generates a buy signal while a bearish crossover generates a sell signal. Exit conditions include fixed take-profit and stop-loss levels, as well as position closure upon receiving a reverse signal. Position sizing supports both fixed lot mode and dynamic lot calculation based on a percentage of account balance. Money management is controlled through the MM parameter, allowing traders to adjust risk exposure per trade according to account size. Additionally, the EA incorporates a time management feature that restricts new position openings to specified trading sessions, avoiding low-liquidity or high-volatility periods. The EA also provides independent parameter settings for stop-loss and take-profit, along with an end-of-day position closure feature.
Strengths
- Uses Blau's TVI momentum indicator with solid theoretical foundation; double-smoothing reduces false signals
- Built-in time management filter avoids trading during unfavorable sessions, improving signal quality
- Supports both fixed lot and dynamic money management modes, providing high flexibility
Weaknesses
- Stop-loss and take-profit default to 0, leaving trades unprotected if not manually configured — significant risk
- TVI relies on tick volume data which may perform inconsistently on brokers or markets with poor volume data quality
- Lacks a new bar check mechanism, potentially allowing multiple entries on the same bar causing duplicate trades
Possible improvements
- Add a new bar check mechanism to ensure only one signal per bar, preventing duplicate position openings
- Add a spread filter to prohibit opening positions when spread is excessive, protecting trades from slippage and high costs
Risk assessment
Overall risk: Medium
- Stop-loss and take-profit default to 0; inexperienced users may not configure them, leading to unlimited risk exposure
- Lacks new bar check, potentially allowing duplicate position openings on the same bar
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MoneyRisk | 0.1 | Risk percentage per trade |
Lots | 0.1 | Fixed lot size (used when money management is disabled) |
StopLoss | 0 | Stop loss in points, 0 means no stop loss |
TakeProfit | 0 | Take profit in points, 0 means no take profit |
TrailingStop | 0 | Trailing stop in points, 0 to disable |
TimeFrame | PERIOD_H1 | Fractal calculation timeframe, 0=current period |
First_MA_period | 5 | TVIfirst levelsmoothing period |
Second_MA_period | 8 | TVIsecond levelsmoothing period |
Signal_period | 5 | TVIsignal linesmoothing period |
MM | 0 | Money management mode: 0=fixed lots, 1=dynamic lots |
OpenOrderSound | alert.wav | Order opened sound file |
NumberofAlerts | 2 | Maximum number of alerts |
TimeManage | true | Enable time management filter |
StartHour | 8 | Trading start hour |
StartMinute | 0 | Trading start minute |
EndHour | 20 | Trading end hour |
EndMinute | 0 | Trading end minute |
CloseOnTime | false | Force close positions at specified time |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.