Eugene
This EA trades based on inside bar (insider) candlestick patterns combined with zigzag breakout confirmation. It enters buy positions when price breaks above the prior bar's high with a confirmed bullish setup, and sells on breaks below the prior low with bearish confirmation. Position management includes optional stop loss/take profit and a one-trade-per-bar filter using global variables.
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
- Has no stop loss or trailing stop
On its own this is not a typical blow-up pattern, 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 core is based on Inside Bar candlestick pattern recognition, where the current bar is completely contained within the previous bar's range. For entry, a buy requires price breaking above the prior high (Buy_signal) with confirmation (Confirm_buy), which includes the current low touching Zig_level_buy or time past 8:00, while excluding Black_bird and White_insider patterns; sell conditions are symmetrical. Exit conditions trigger when a reverse signal appears - for example, a long position closes when a bearish confirmation signal occurs and price falls below the prior bar's high. Position sizing uses a fixed lot size (Lots parameter) with no dynamic position or money management logic. Stop loss and take profit are optional parameters, calculated in points based on Ask/Bid prices depending on trade direction. The strategy includes a signal inversion feature (InvertSignals) that swaps buy and sell signals. A time filter automatically confirms signals as valid after hour 8, serving as a fallback confirmation mechanism.
Strengths
- Strategy logic is based on the classic Inside Bar pattern with clear technical analysis foundation
- Uses global variables to implement one-trade-per-bar filter, preventing repeated entries on the same bar
- Stop loss/take profit validation considers the symbol's StopsLevel minimum distance, complying with exchange rules
- Signal inversion parameter provides flexibility for testing or adapting to different market conditions
- Exit logic is linked to entry signals, forming a relatively complete trading loop
Weaknesses
- No dynamic money management - fixed lot size cannot adjust based on account balance or risk
- Default stop loss and take profit are zero, creating unlimited risk exposure without protection
- Uses current bar (r[0]) data for signal calculation, uncompleted bar data changes frequently causing signal flickering
- No spread filter - for small volatility patterns like Inside Bar, high spreads can easily erode profits
- SolveLots function only returns fixed lots, retaining the parameter structure but implementing no dynamic calculation logic
Possible improvements
- Implement dynamic position sizing based on account risk percentage instead of fixed lots
- Add new bar detection logic to calculate signals only when a new bar forms, avoiding signal flickering and repeated trades
- Add spread filter condition to pause trading when spread is too wide, protecting profit margins
- Mandate stop loss or provide minimum stop loss protection to prevent catastrophic losses from unprotected trades
Risk assessment
Overall risk: Caution
- Default zero stop loss/take profit creates unlimited risk exposure per trade
- Using uncompleted bar data for signals risks signal flickering causing repeated open/close cycles
- Fixed lot sizing without money management may cause excessive per-trade risk on large accounts
- Inside Bar patterns have small volatility, high spread environments may cause frequent losses
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Lots | 0.1 | Fixed lot size, used when MaximumRisk is zero |
StopLoss | 0 | Stop loss in points, 0 means no SL |
TakeProfit | 0 | Take profit in points, 0 means no TP |
InvertSignals | false | Invert trading signals, swap buy/sell |
Similar Candlestick Pattern EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.