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
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 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
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Capital allocation ratio per trade |
MMMode | LOT | Margin mode: free margin/balance/drawdown free margin/drawdown balance/fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow buy positions |
SellPosOpen | true | Allow sell positions |
BuyPosClose | true | Allow buy position close on reverse signal |
SellPosClose | true | Allow sell position close on reverse signal |
InpInd_Timeframe | PERIOD_H1 | Indicator calculation timeframe |
fast_ma_period | 3 | Chaikin oscillator fast MA period |
slow_ma_period | 10 | Chaikin oscillator slow MA period |
ma_method | MODE_LWMA | moving averagecalculation method |
VolumeType | VOLUME_TICK | Volume type: tick volume or real volume |
N | 7 | FFT power parameter (data points=2^N) |
SS | 20 | Spectral analysis smoothing strength |
SignalBar | 1 | Signal detection bar index position |
Similar Mean Reversion EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.