Exp_Fisher_org_v1_Sign
This EA trades based on signals from the Fisher_org_v1_Sign custom indicator, which uses a Fisher Transform with ATR normalization to identify momentum-based buy and sell signals. It opens buy positions on upward signals and sell positions on downward signals, with configurable stop-loss and take-profit levels, and supports multiple money management modes including lot-based and percentage-based 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 core strategy of this EA is based on momentum signals from the Fisher Transform indicator, which converts price data into an approximately normal distribution to more clearly identify price turning points. Entry conditions: a buy position is opened when the indicator's upper buffer (UpValue) produces a non-zero, non-empty value on the specified signal bar, and a sell position is opened when the lower buffer (DnValue) produces a non-zero, non-empty value. Exit conditions include fixed stop-loss and take-profit levels (default 1000 points SL and 2000 points TP), plus reverse-signal-based closing — closing longs when a lower buffer signal appears and closing shorts when an upper buffer signal appears. Position sizing supports five modes: free margin-based, balance-based, loss-adjusted free margin, loss-adjusted balance, and fixed lot size. The EA implements a new bar detection mechanism to avoid duplicate trades, and when a reverse signal hasn't triggered a close, it retrospectively scans historical bars to find prior closing signals, which is a relatively unique logic design.
Strengths
- Clear strategy logic based on the Fisher Transform momentum signal, which has solid statistical theory foundation and can effectively identify price turning points
- Rich money management modes offering five different position sizing methods, adaptable to various risk preferences and account sizes
- Implements new bar detection mechanism (CIsNewBar) to avoid duplicate position openings on the same bar, reducing overtrading risk
- Supports independent control switches for opening and closing positions, providing high flexibility — can use signal-based closing only while opening positions via other methods
Weaknesses
- Missing position check logic — will repeatedly open positions in the same direction when an existing position exists, potentially leading to excessive position stacking
- ATR_Period variable is not declared as input type, preventing optimization in the strategy tester, which is a code defect
- Stop-loss and take-profit use fixed point values rather than ATR-based dynamic calculation, unable to adapt to different volatility environments
- The retrospective historical bar scanning logic for finding closing signals may cause performance issues with large data volumes and has no reasonable lookback limit
- Missing spread filter, which may cause frequent stop-loss triggers or failed order openings in high-spread environments
Possible improvements
- Add position check logic to detect existing same-direction positions before opening new ones, avoiding duplicate entries that lead to excessive risk exposure
- Change ATR_Period to input type for strategy optimization, and consider using ATR-based dynamic stop-loss and take-profit calculation to adapt to market volatility changes
- Add spread filter and maximum position limits to improve robustness under different market conditions
Risk assessment
Overall risk: Medium
- Missing position check may cause same-direction position stacking, increasing risk exposure
- Fixed-point stop-loss and take-profit cannot adapt to volatility changes — SL may be too wide in low volatility and TP hard to reach in high volatility
- Historical bar retrospective scanning logic has no upper limit control, which may cause performance issues or unexpected signal matching in extreme cases
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management ratio or lot value |
MMMode | LOT | Lot mode: free margin/balance/post-loss free margin/post-loss balance/fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Slippage deviation allowance |
BuyPosOpen | true | Allow opening long positions |
SellPosOpen | true | Allow opening short positions |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H4 | Timeframe for iDeMarkerSign indicator |
ATR_Period | 14 | ATR period (for indicator normalization) |
Length | 7 | Volume-weighted MA period length |
IPC | PRICE_CLOSE_ | Price type applied to indicator calculation |
UpLevel | +1.5 | Upper overbought level threshold |
DnLevel | -1.5 | Lower oversold level threshold |
SignalBar | 1 | Bar index for signal reading (0=current, 1=last completed) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.