EA-2312 · Momentum

Exp_StochasticCGOscillator

This EA trades based on the crossover signals of the StochasticCGOscillator custom indicator. It opens buy positions when the indicator line crosses above the signal line and sell positions when it crosses below, with configurable permissions for entry and exit. Position sizing and risk management are handled through the TradeAlgorithms library with multiple margin mode options.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskLow
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, H8, D1
IndicatorsStochasticCGOscillator
AuthorCopyright © 2014, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-5.26%-4.59%6.56%13438.80%————Same as other EAs
GBPUSD+0.36%+0.31%8.22%13446.60%————Same as other EAs
USDJPY+5.97%+5.17%3.78%13247.70%————Same as other EAs
XAUUSD-13.68%-11.44%71.02%13948.60%————Same as other EAs

On every market this backtest is identical to EA-1279. The automatic conversion almost certainly lost what makes this EA different (a custom indicator, a filter or the money management), so these results are not ranked or counted.

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

This EA uses the StochasticCGOscillator indicator as its core strategy engine, which is a modified stochastic oscillator designed to capture momentum shifts. Entry conditions: a buy signal is generated when the indicator line crosses above the signal line from below, and a sell signal is generated when the indicator line crosses below the signal line from above, using a crossover confirmation mechanism to avoid false signals. Exit conditions are triggered by reverse crossover signals, with fixed stop loss (1000 points) and take profit (2000 points) providing a 1:2 risk-reward ratio. Position sizing supports five modes: free margin share, balance share, free margin loss share, balance loss share, and fixed lot, defaulting to fixed lot mode. Money management is controlled by the MM parameter (default 0.1 deposit share), though the actual calculation logic depends on the external TradeAlgorithms library. The EA only recalculates signals on new bars (unless SignalBar=0), avoiding redundant per-tick calculations for improved efficiency.

Strengths

  • Clean and simple strategy logic based on indicator crossover, easy to understand and maintain
  • Supports multiple position sizing modes offering good flexibility
  • Has stop loss and take profit with a 1:2 risk-reward ratio, which is reasonable
  • Signal calculation only on new bars avoids redundant per-tick processing for better efficiency
  • Buy and sell directions can be independently controlled for entry and exit permissions

Weaknesses

  • Depends on external custom indicator StochasticCGOscillator and TradeAlgorithms library, reducing portability and independence
  • Fixed stop loss of 1000 points and take profit of 2000 points are not dynamically adjusted based on market volatility (e.g., ATR)
  • No spread filter, which may result in unfavorable fills during high spread or volatile conditions
  • Default H8 timeframe may cause delayed entries due to signal lag on longer periods
  • Recount mechanism only sets a flag on CopyBuffer failure without more robust error handling

Possible improvements

  • Introduce ATR-based dynamic stop loss and take profit for adaptive adjustment to market volatility, improving strategy adaptability
  • Add spread filter and maximum slippage limits to avoid unfavorable fills in high spread environments

Risk assessment

Overall risk: Low

  • Dependency on external library and custom indicator means the EA cannot run if they are missing
  • Fixed stop loss and take profit do not account for market volatility, which may be inflexible in extreme market conditions

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
MM0.1Money management ratio controlling risk per trade
MMModeLOTLot mode: free margin/balance/margin w/ floating P&L/balance w/ floating P&L/fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Max allowed price deviation (slippage) in points
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H8HighsLowsSignal indicator timeframe
Length10Indicator calculation period
SignalBar1Bar index for entry signal

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.