EA-15657 · Momentum

Exp_TSICloud

This EA trades based on the TSI Cloud indicator, which uses double-smoothed momentum (TSI) with configurable smoothing methods. It opens buy positions when the upper TSI line crosses above the lower line and sell positions on the opposite crossover, with optional signal inversion and separate close-on-reversal logic.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsTSI Cloud, SMA, EMA, JJMA, JurX, ParMA, T3, VIDYA, AMA
Author—

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 the crossover of two TSI (True Strength Index) Cloud indicator lines, classifying it as a momentum-based trading system. Entry conditions: a buy signal is generated when the upper line crosses above the lower line, and a sell signal on the opposite crossover, with an optional signal inversion (Invert) feature that swaps the buffer readings. Exit conditions are triggered by reversal signals controlled by BuyPosClose and SellPosClose parameters, along with fixed stop-loss and take-profit levels in points. Position sizing supports multiple modes including fixed lot size (LOT), balance-based percentage, and free margin-based percentage, governed by the MM and MMMode input parameters. Money management leverages standardized functions from the TradeAlgorithms.mqh library with a default risk ratio of 0.1. The system checks for crossover signals on each new bar or at a specified signal bar index, preventing per-tick redundant calculations, but it lacks scaling in/out or partial position management mechanisms.

Strengths

  • Supports 10 smoothing algorithms (SMA/EMA/JJMA/JurX/T3 etc.), flexibly adapting to different market conditions
  • Independent entry and exit switches allow fine-grained control — can open-only, close-only, or both
  • Uses IsNewBar() mechanism to avoid per-tick redundant signal calculations, reducing computational load and repeat trade risk
  • Signal inversion feature (Invert) enables convenient use of the same indicator logic for counter-trend strategies
  • Standardized money management module supports multiple position sizing modes

Weaknesses

  • Lacks spread filtering, which may result in unfavorable entries in high-spread environments
  • Stop-loss and take-profit use fixed point values without ATR-based dynamic adjustment for volatility
  • No maximum position count limit, potentially leading to overexposure in choppy markets with consecutive entries
  • Depends on external custom indicator TSICloud and two include libraries, increasing deployment complexity and dependency risk
  • Signals are only detected on bar completion, which may delay entries during fast market moves

Possible improvements

  • Add ATR-based dynamic stop-loss/take-profit and spread filtering to improve adaptability across volatility regimes
  • Implement maximum simultaneous position limits and cooldown periods to prevent consecutive losing entries in choppy markets
  • Add trailing stop functionality to lock in floating profits during trending markets

Risk assessment

Overall risk: Medium

  • No spread filter may cause unfavorable fills during low-liquidity sessions
  • Fixed stop-loss/take-profit doesn't adapt to volatility changes — may be too wide in low-vol or too tight in high-vol environments
  • No maximum position limit could lead to accumulated risk from consecutive entries in extreme market conditions

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness3.0
Innovation2.0
Documentation1.0
Overall2.3

Parameters

ParameterDefaultDescription
MM0.1Money management ratio (lot or percentage)
MMModeLOTMargin mode: free margin/balance/net margin/net balance/fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum slippage tolerance
BuyPosOpentrueAllow buy positions
SellPosOpentrueAllow sell positions
BuyPosClosetrueAllow buy-side close (close sell on opposite signal)
SellPosClosetrueAllow sell-side close (close buy on opposite signal)
InvertfalseInvert buy/sell signals
InpInd_TimeframePERIOD_H4Timeframe for indicator calculation
First_MethodMODE_SMA_First smoothing method
First_Length12first levelsmoothing period
First_Phase15First smoothing phase parameter
Second_MethodMODE_SMA_Second smoothing method
Second_Length12second levelsmoothing period
Second_Phase15Second smoothing phase parameter
IPCPRICE_CLOSE_Price type for indicator calculation
Shift0Indicator vertical shift
TriggerShift1Trigger offset for crossover detection
SignalBar1Bar index for signal detection (0=current, 1=completed)

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.