EA-16066 · Momentum

Exp_PPO_Cloud

This EA trades based on the PPO (Percentage Price Oscillator) Cloud indicator, which uses dual smoothing methods for fast and slow PPO lines plus a signal line. It opens buy positions when the PPO crosses above the signal line from below, and sell positions when the PPO crosses below the signal line from above, with configurable stop-loss and take-profit levels.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsPPO Cloud, EMA, Custom Smoothing (JJMA/JurX/ParMA/T3/VIDYA/AMA)
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 the PPO (Percentage Price Oscillator) Cloud indicator, an improved version of the traditional MACD that uses customizable smoothing algorithms instead of fixed EMAs. Entry conditions are: a buy signal is generated when the fast line Ind crosses above the signal line Sign (Ind[1]>Sign[1] and Ind[0]<=Sign[0]), and a sell signal is generated when the fast line crosses below the signal line (Ind[1]<Sign[1] and Ind[0]>=Sign[0]). Exit conditions rely on separate stop-loss and take-profit parameters (default 1000 and 2000 points respectively), while opposing crossover signals also trigger position closure (e.g., a bearish crossover closes long positions). Position sizing is controlled through the MM parameter and MMMode enumeration, supporting five modes: free margin-based, balance-based, loss-free margin-based, loss-balance-based, and fixed lot sizing. Money management uses the MM parameter (default 0.1) as a position ratio combined with different margin modes for flexible capital allocation. The strategy also employs the IsNewBar mechanism to ensure signals are only calculated at new bar openings, preventing redundant tick-by-tick trading.

Strengths

  • Uses PPO Cloud indicator instead of traditional MACD, offering multiple smoothing algorithm choices (JJMA, JurX, ParMA, T3, VIDYA, AMA) to adapt to different market conditions
  • Provides complete bidirectional trading control switches, allowing flexible enabling or disabling of opening and closing in each direction
  • Employs IsNewBar mechanism to prevent redundant trades within the same bar, avoiding overtrading
  • Full stop-loss and take-profit parameters with default SL 1000 and TP 2000 points, giving a reasonable 2:1 reward-risk ratio
  • Supports five money management modes with high flexibility

Weaknesses

  • Default stop-loss of 1000 points and take-profit of 2000 points are relatively large, potentially leading to significant single-trade losses in short-term trading
  • No spread filter mechanism; trades may still be opened during high-spread conditions, increasing transaction costs
  • Custom indicator call (iCustom) depends on external PPO_Cloud indicator file; if missing, the EA fails to run with insufficient error messaging
  • Lacks trailing stop or break-even mechanism, unable to lock in floating profits
  • Simple signal logic (relying only on PPO crossover) is prone to frequent false signals in ranging markets

Possible improvements

  • Add spread filter and volatility filter to avoid opening positions during high-spread or low-volatility periods
  • Add trailing stop or break-even functionality to lock in profits after favorable price movement
  • Add a trend filter (e.g., higher timeframe MA direction) to avoid frequent trading in ranging markets
  • Add position checking logic to prevent duplicate openings in the same direction

Risk assessment

Overall risk: Medium

  • Default stop-loss of 1000 points is large and may cause significant losses in extreme market conditions
  • No spread filter; trading costs may be excessive in high-spread environments
  • Depends on external custom indicator file; EA initialization fails if the indicator is missing
  • PPO crossover signals in ranging markets can easily produce consecutive losses

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation3.0
Documentation1.0
Overall2.5

Parameters

ParameterDefaultDescription
MM0.1Money management ratio, controls trade lot size
MMModeLOTLot calculation mode: Fixed lot or margin-based ratio
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow buy positions
SellPosOpentrueSell position opening signal mode
BuyPosClosetrueAllow close buy positions
SellPosClosetrueSell position closing signal mode
InpInd_TimeframePERIOD_H4CandlesticksBW indicator timeframe
FastMethodMODE_EMA_Fast line smoothing method
FastLength12Fast line period length
FastPhase15Fast line phase parameter (for JJMA/VIDYA/AMA)
SlowMethodMODE_EMA_Slow line smoothing method
SlowLength26Slow line period length
SlowPhase15Slow line phase parameter
SignMethodMODE_EMA_signal linesmoothing method
SignLength9Signal line period length
SignPhase15Signal line phase parameter
IPCPRICE_CLOSE_Applied price type for indicator calculation
SignalBar1Signal bar index (0=current, 1=last closed bar)

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.