EA-1103 · Momentum

Exp_BullsBearsEyes

This EA trades based on the ColorBullsBearsEyes custom indicator, which is a smoothed Bulls/Bears oscillator. It generates buy and sell signals depending on the selected algorithm mode (trend direction change, midline breakdown, or overbought/oversold level breakthroughs), and manages positions with configurable stop loss and take profit levels.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskHigh
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsBullsBearsEyes, Custom Oscillator
AuthorCopyright © 2012, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————No trades
GBPUSD0.00%0.00%0.00%0—————No trades
USDJPY+1.81%+1.57%0.90%1100.00%————Too few trades
XAUUSD-97.04%-94.55%100.00%5957.60%-1.78-0.974−$164.48Account stopped out

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.

Against the other Momentum EAs with a reliable result on the same market: XAUUSD: better than 17% of 75

Month by month

MarketMonths with a gainBest monthWorst month
XAUUSD23%+35.22% 2026-01-94.66% 2026-03

From the backtest equity curve, sampled about every two days; only reliable results.

Blow-up risk: High

  • Hit a stop-out in our backtest (equity below 10%) on XAUUSD

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 BullsBearsEyes oscillator, a gamma-smoothed bulls/bears power indicator that measures the relative strength of buying and selling pressure in the market. Entry conditions are determined by four algorithm modes: twist mode detects trend direction changes, breakdown1 detects midline crossovers, breakdown2 detects overbought/oversold level breakthroughs, and breakdown3 combines overbought/oversold zone exits with level breakthroughs. A buy signal is generated when indicator buffer 2 reads +2, a sell signal at -2, while positive values trigger short position closing and negative values trigger long position closing. Position sizing is controlled by the MM parameter where negative values represent fixed lot sizes and positive values represent deposit share-based sizing. Money management employs fixed stop loss (default 1000 points) and take profit (default 2000 points), with the stop loss being larger than take profit, suggesting a higher win-rate but unfavorable risk-reward ratio approach. Exit conditions include stop loss/take profit as well as reverse signal closing, with independent permission controls for buy/sell opening and closing directions.

Strengths

  • Offers four algorithm modes for flexible switching to adapt to different market conditions
  • Independent permission controls for buy/sell opening and closing enable strategy optimization and directional trading
  • New bar detection mechanism prevents repeated entries within the same bar, reducing overtrading risk
  • Signal logic relies on custom indicator handles with clear and modular architecture
  • Supports deposit share-based dynamic position sizing for better money management

Weaknesses

  • The stop loss (1000 points) vs take profit (2000 points) relationship needs careful verification as the risk-reward ratio may be unfavorable depending on interpretation
  • Lacks spread filter and trading session filter, potentially entering during high-spread periods
  • No trailing stop or moving stop feature to lock in floating profits
  • Depends on external TradeAlgorithms.mqh library, increasing deployment and debugging complexity
  • SignalBar=1 uses completed bars but error handling for indicator calculation failures is insufficient

Possible improvements

  • Add a spread filter mechanism to avoid entering during high-spread periods and improve execution quality
  • Implement a trailing stop feature to progressively lock in profits during trend continuation and optimize exit strategy

Risk assessment

Overall risk: Medium

  • Stop loss to take profit ratio needs confirmation; if SL>TP, single loss could exceed single gain
  • Lack of spread filter may cause unfavorable fills during low-liquidity periods with high slippage
  • MM parameter with negative values directly specifying lot size lacks minimum lot validation, potentially causing oversized or undersized positions

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation3.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
MM-0.1Deposit percentage or fixed lots; negative value = lot size
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum price deviation in points (slippage tolerance)
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening sell positions
BuyPosClosetrueAllow closing buy positions
SellPosClosetrueAllow closing sell positions
InpInd_TimeframePERIOD_H4Indicator timeframe
period_13Indicator averaging period
gamma0.6Indicator smoothing ratio
Modebreakdown2Signal algorithm mode
HighLevel75Overbought level
MiddleLevel50Middle level
LowLevel25Oversold level
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.