EA-21014 · Momentum

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

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesM15, H1, H4, D1
IndicatorsTVI (Tick Volume Indicator), EMA, Signal Line
AuthorCopyright © 2018, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.3

Parameters

ParameterDefaultDescription
MoneyRisk0.1Risk percentage per trade
Lots0.1Fixed lot size (used when money management is disabled)
StopLoss0Stop loss in points, 0 means no stop loss
TakeProfit0Take profit in points, 0 means no take profit
TrailingStop0Trailing stop in points, 0 to disable
TimeFramePERIOD_H1Fractal calculation timeframe, 0=current period
First_MA_period5TVIfirst levelsmoothing period
Second_MA_period8TVIsecond levelsmoothing period
Signal_period5TVIsignal linesmoothing period
MM0Money management mode: 0=fixed lots, 1=dynamic lots
OpenOrderSoundalert.wavOrder opened sound file
NumberofAlerts2Maximum number of alerts
TimeManagetrueEnable time management filter
StartHour8Trading start hour
StartMinute0Trading start minute
EndHour20Trading end hour
EndMinute0Trading end minute
CloseOnTimefalseForce close positions at specified time

Similar Momentum EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.