Exp_Karacatica
This EA trades breakout signals generated by the custom 'Karacatica' indicator, which is based on ATR. It opens buy positions on upward breakout signals and sell positions on downward breakout signals, with optional position closing on opposite signals. Money management is configurable with multiple margin modes including fixed lot sizing.
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 EA's strategy concept is based on breakout signals generated by the Karacatica indicator, which internally uses ATR (Average True Range) to measure market volatility and produce breakout signals. Entry conditions are: open a buy position when indicator buffer 1 (UpValue) produces a non-empty, non-zero signal, and open a sell position when buffer 0 (DnValue) produces a non-empty, non-zero signal. Exit conditions are: close a buy position when a downward breakout signal appears, and close a sell position when an upward breakout signal appears, with configurable fixed StopLoss and TakeProfit levels in points. For position management, the EA uses the IsNewBar mechanism to ensure at most one signal per bar, preventing repeated entries on the same candle. Money management supports five modes: free margin percentage, balance percentage, loss-adjusted free margin percentage, loss-adjusted balance percentage, and fixed lot mode. The EA also includes an additional historical lookback check logic: when both opening and closing are enabled but no close signal exists on the current signal bar, it traverses forward through historical bars to find any missed closing signals.
Strengths
- Clear strategy logic based on ATR breakout signals that adapts to market volatility changes
- Rich money management modes offering five different position sizing methods for high flexibility
- Built-in IsNewBar mechanism prevents duplicate entries on the same bar, avoiding signal repetition
- Independent toggle switches for buy/sell opening and closing provide high configuration flexibility
- Historical lookback logic for closing signals reduces the risk of missing exit signals
Weaknesses
- Fixed point StopLoss/TakeProfit instead of ATR-based dynamic calculation leads to inconsistent risk-reward ratios across different volatility environments
- Lacks spread filter and trading session filter, which may result in unfavorable fills during high-spread or low-liquidity periods
- The historical lookback closing signal check iterates through all historical bars, causing potential performance issues with large bar counts
- Depends on external custom indicator Karacatica via iCustom call, making backtesting and optimization difficult without the indicator source code
- No global risk controls such as maximum position count limits or maximum drawdown protection
Possible improvements
- Replace fixed-point StopLoss/TakeProfit with ATR-multiple-based dynamic stops to make risk-reward ratios self-adaptive to market volatility
- Add spread filter and trading session controls to avoid opening positions under unfavorable conditions, and implement global risk controls like maximum position count and maximum drawdown limits
- Optimize the historical lookback closing signal check logic by setting a maximum lookback bar count limit to avoid performance issues
Risk assessment
Overall risk: Medium
- Fixed 1000-point SL and 2000-point TP may be too large for low-volatility instruments and too small for high-volatility ones
- Historical lookback closing check has no bar count limit, potentially iterating through all history causing lag
- No spread filter may result in unfavorable fills during news events or low-liquidity sessions when spreads widen
- SignalBar=1 introduces one-bar signal delay, but SignalBar=0 may generate false signals on uncompleted bars
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management ratio or lot size, meaning per MMMode |
MMMode | LOT | Position sizing (free margin/balance/fixed lot, etc.) |
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 closing buy positions on reverse signal |
SellPosClose | true | Allow closing sell positions on reverse signal |
InpInd_Timeframe | PERIOD_H1 | NRTR_extr indicator timeframe |
iPeriod | 70 | NRTR_extr indicator period |
SignalBar | 1 | Signal reference bar index |
Similar Breakout EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.