Exp_ColorSchaffTrendCycle
This EA trades based on the ColorSchaffTrendCycle indicator, a momentum-based oscillator that combines moving average convergence/divergence with stochastic smoothing. It opens buy positions when the indicator crosses above the upper threshold and sell positions when it crosses below the lower threshold, with configurable stop loss and take profit levels.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
Not backtested yet — this EA could not be converted automatically.
Strategy analysis
The strategy concept is based on the Schaff Trend Cycle indicator, which essentially combines the convergence/divergence characteristics of MACD with the smoothing technique of a stochastic oscillator, making it a momentum-type indicator. Entry conditions: when buffer 1 of the indicator exceeds 6, a buy signal is generated; if the previous bar's value is also >= 6 and buying is permitted, a long position is opened. When buffer 1 falls below 2, a sell signal is generated; similarly, if conditions are met, a short position is opened. Exit conditions rely on stop loss and take profit parameters, as well as counter-signal exits — closing short positions on buy signals and closing long positions on sell signals. Position sizing uses either a fixed lot size or a deposit-proportion-based dynamic lot (negative MM value means fixed lot size, positive value means deposit share). Money management is controlled via the MM parameter supporting two modes: negative values as fixed lot sizes and positive values as deposit percentage shares. The EA only checks signals on new bar formation (when SignalBar=0), avoiding repeated trades within the same bar, and uses a Recount mechanism to ensure recalculation when data retrieval fails.
Strengths
- Clear strategy logic based on the mature Schaff Trend Cycle indicator, combining momentum and trend-following dual characteristics
- Provides complete trading permission controls (independent buy/sell open and close switches), offering high flexibility
- Uses new bar detection mechanism to avoid repeated trades within the same bar, reducing overtrading risk
- Well-configured stop loss and take profit with default SL of 1000 points and TP of 2000 points, providing a reasonable 2:1 reward-risk ratio
- Supports multiple smoothing algorithms and price types, offering strong parameter adjustability
Weaknesses
- Stop loss of 1000 points and take profit of 2000 points are excessively large, potentially causing significant drawdown on most currency pairs
- Lacks spread filtering mechanism, which may lead to unfavorable entries during high-spread conditions
- No trailing stop functionality, meaning profitable positions may experience significant retracements before hitting take profit
- Indicator buffer threshold checks (>6 and <2) use hardcoded magic numbers, resulting in poor readability and adjustability
- Does not check for existing same-direction positions, potentially leading to duplicate openings and overconcentration
Possible improvements
- Make indicator buffer thresholds (6 and 2) configurable input parameters to improve strategy flexibility and code readability
- Add position checking logic to avoid duplicate same-direction openings that lead to overconcentration
- Add trailing stop functionality to protect existing profits
Risk assessment
Overall risk: Medium
- Large stop loss in points (1000) — if point value is high, a single loss could represent a significant portion of the account
- Lack of position checking may lead to duplicate same-direction openings, resulting in excessive risk exposure
- Indicator thresholds use hardcoded magic numbers, making it difficult to optimize for different market conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Money management ratio controlling risk per trade |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage in points |
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 | Indicator timeframe |
XMA_Method | MODE_EMA | Histogram smoothing method |
Fast_XMA | 23 | Fast moving average period |
Slow_XMA | 50 | Slow moving average period |
XPhase | 100 | MA smoothing parameter (-100 to +100) |
AppliedPrice | PRICE_CLOSE_ | Price constant for indicator calculation |
Cycle | 10 | Stochastic oscillator period |
HighLevel | +60 | Overbought level |
LowLevel | -60 | Oversold level |
SignalBar | 1 | Bar index for entry signal |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.