EA-15780 · Momentum

Exp_Chaikin_Volatility_Stochastic

This EA trades based on crossover signals from the Chaikin Volatility Stochastic custom indicator. It opens buy positions when the oscillator lines cross downward and sell positions when they cross upward, with configurable money management and position closing logic. The strategy operates on a multi-timeframe basis using a selectable higher timeframe for signal generation while executing on the current chart timeframe.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsChaikin Volatility Stochastic, EMA, Stochastic, WMA
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 core strategy of this EA is based on crossover signals between two lines of the Chaikin Volatility Stochastic custom indicator. Entry conditions are: a buy signal is generated when Osc1 crosses below Osc2 (downward crossover), and a sell signal is generated when Osc1 crosses above Osc2 (upward crossover), with signals evaluated on the bar specified by SignalBar. Exit conditions include hard stop loss and take profit settings (StopLoss_=1000, TakeProfit_=2000 points), as well as position closing logic triggered by reverse crossover signals. Position sizing uses a configurable money management ratio (MM=0.1), supporting both fixed lot and margin percentage modes. The EA employs multiple smoothing algorithms (SMA, EMA, JJMA, JurX, etc.) for indicator smoothing, which enhances signal stability. The strategy only recalculates signals on new bar formation, avoiding excessive tick-by-tick trading, but lacks filtering mechanisms for market volatility and spread.

Strengths

  • Combines Chaikin volatility with stochastic logic, integrating both volatility and momentum analysis for deeper strategy insight
  • Supports 10 smoothing algorithm options, providing high flexibility for optimization across different market conditions
  • New bar detection mechanism avoids tick-by-tick trading, reducing trade frequency and slippage impact
  • Complete stop loss and take profit settings with reverse signal closing providing dual protection
  • Buy and sell open/close operations can be independently toggled, offering high configuration flexibility

Weaknesses

  • Lacks spread filtering, which may result in unfavorable fills in high-spread environments
  • No position count check, potentially opening duplicate positions in the same direction
  • Depends on the custom external indicator Chaikin_Volatility_Stochastic; if missing, the EA cannot run
  • Stop loss of 1000 points and take profit of 2000 points are excessively large and may not suit all instruments and timeframes
  • No position scaling logic (add/reduce), resulting in a single-dimensional position management approach

Possible improvements

  • Add spread filter and volatility filter mechanisms to avoid opening positions under unfavorable market conditions
  • Add position checking and maximum position limits to prevent duplicate entries leading to excessive risk exposure
  • Add trailing stop functionality to lock in floating profits during trending markets

Risk assessment

Overall risk: Medium

  • No spread filter may cause significant slippage losses in low-liquidity markets
  • No position count check may lead to duplicate same-direction entries increasing risk exposure
  • Dependency on external custom indicator introduces runtime dependency risk
  • Fixed stop loss/take profit values are not dynamically adjusted based on instrument volatility

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation3.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)
InpInd_TimeframePERIOD_H4Timeframe for indicator calculation
SignalBar1Bar index for signal detection (0=current, 1=completed)
XMA_MethodMODE_EMA_Smoothing algorithm type
XLength10Smoothing period length
XPhase15Smoothing phase parameter
StocLength5Stochastic period length
WMALength5Weighted moving average period length

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.