EA-16215 · Mean Reversion

Exp_i-SpectrAnalysis_Chaikin

This EA trades based on the i-SpectrAnalysis_Chaikin custom indicator, which applies spectral (Fourier) analysis to the Chaikin Oscillator. It opens buy positions when the spectrally-filtered Chaikin value turns upward and sell positions when it turns downward, with configurable position closing on signal reversal.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsChaikin Oscillator, Fourier Spectral Analysis, LWMA
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 applying spectral (Fourier) analysis filtering to the Chaikin Oscillator, removing high-frequency noise to extract major trend reversal signals. Entry conditions: a buy position opens when the filtered indicator value rises from the previous bar to the current bar (Value[0]>=Value[1]) and the previous bar was below the bar before it (Value[1]<Value[2], indicating a bottom reversal); a sell position opens when the filtered value declines and a top reversal pattern forms. Exit conditions: positions close on signal reversal — long positions close when the indicator turns from rising to falling, and short positions close when it turns from falling to rising, with additional fixed stop-loss and take-profit levels. Position sizing supports multiple modes: percentage of free margin, percentage of balance, percentage after loss adjustments, and fixed lot size. The spectral analysis is controlled by parameter N (power of 2 for Fourier transform data points) and SS (smoothing strength), balancing noise removal against signal lag.

Strengths

  • Spectral analysis filtering effectively removes market noise, producing higher quality signals than the raw Chaikin Oscillator
  • Supports multiple position sizing modes, flexibly adapting to different risk preferences
  • Separate controls for opening and closing in each direction provide high configuration flexibility
  • Stop-loss and take-profit are implemented, keeping risk manageable
  • New bar detection prevents duplicate signals and reduces overtrading

Weaknesses

  • Spectral analysis introduces signal lag, potentially causing late entries that miss optimal price levels
  • Stop-loss of 1000 points is excessively large and may result in significant losses on most instruments
  • No scaling in/out logic; position management is relatively simplistic
  • Does not account for spread and transaction costs impact on frequent signal generation
  • Depends on the custom indicator i-SpectrAnalysis_Chaikin; if the indicator file is missing the EA fails to initialize

Possible improvements

  • Add adaptive stop-loss based on ATR or volatility to dynamically adjust the stop distance instead of using a fixed 1000-point value
  • Add spread filter and trading session filter to avoid trading during high-cost periods

Risk assessment

Overall risk: Medium

  • Fixed 1000-point stop-loss is excessively large; a single losing trade could represent a significant portion of the account
  • No check for existing positions in the same direction, potentially leading to duplicate position opening
  • Improper SS smoothing parameter may cause severe signal lag or distortion in spectral analysis

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness3.0
Innovation4.0
Documentation1.0
Overall2.7

Parameters

ParameterDefaultDescription
MM0.1Capital allocation ratio per trade
MMModeLOTMargin mode: free margin/balance/drawdown free margin/drawdown balance/fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow buy positions
SellPosOpentrueAllow sell positions
BuyPosClosetrueAllow buy position close on reverse signal
SellPosClosetrueAllow sell position close on reverse signal
InpInd_TimeframePERIOD_H1Indicator calculation timeframe
fast_ma_period3Chaikin oscillator fast MA period
slow_ma_period10Chaikin oscillator slow MA period
ma_methodMODE_LWMAmoving averagecalculation method
VolumeTypeVOLUME_TICKVolume type: tick volume or real volume
N7FFT power parameter (data points=2^N)
SS20Spectral analysis smoothing strength
SignalBar1Signal detection bar index position

Similar Mean Reversion 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.