Trailing Star
Trailing Star is a trailing stop utility EA that modifies existing position stop-losses to follow price movement. It comes in two variants: Point-based (triggers after a fixed point profit from entry) and Price-based (triggers when price crosses a user-specified entry price). The EA does not open any trades itself; it only manages stop-losses of already-open positions.
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
Strategy concept: This is a purely trailing stop management utility with no trade entry logic of its own. Entry conditions: The EA does not open positions; it only manages stop-losses on existing positions. The Point variant triggers trailing when floating profit exceeds the configured entry_point in points from the open price; the Price variant triggers when price crosses the user-specified entry_price. Exit conditions: Exits occur when price retraces to hit the trailing stop-loss, which locks in profit by following price at a distance of trailing_point points. Position sizing: The EA performs no position sizing or lot management whatsoever. Money management: There is no money management logic — no risk percentage calculation, no dynamic position sizing, no equity-based controls. Both variants share the same core mechanism: for BUY positions, the stop-loss is ratcheted upward as bid price rises; for SELL positions, the stop-loss is ratcheted downward as ask price falls, always maintaining a distance of trailing_point points from the current market price.
Strengths
- Simple and clear logic, easy to understand and configure, suitable for beginners
- Provides two trigger variants (point-based and price-based) to accommodate different trading scenarios
- Supports trailing stop management for both BUY and SELL positions, functionally complete
Weaknesses
- PositionGetSymbol(idx) in a forward loop can cause index misalignment when the position list changes; should use reverse iteration
- Does not check if PositionGetSymbol matches the current chart symbol, so it may modify positions on other symbols
- entry_point and trailing_point default to 0, and if the user forgets to set them, the EA silently does nothing with no warning
- No return value check on CTrade.PositionModify, so failed modifications go unhandled and unnoticed
- Does not account for the broker's minimum stop level (StopsLevel), which can cause modification requests to be rejected by the server
Possible improvements
- Use reverse iteration for the position loop and check PositionGetSymbol return value against Symbol() to filter by current instrument
- Add minimum stop distance validation using SymbolInfoInteger(SYMBOL_TRADE_STOPS_LEVEL) and check CTrade.PositionModify return values for error handling
- Set sensible non-zero default values for parameters and validate them in OnInit, issuing warnings or returning INIT_FAILED on invalid input
Risk assessment
Overall risk: Low
- Forward iteration through the position list can skip positions if one is closed during iteration, leaving some positions unmanaged
- Missing symbol filter may inadvertently modify stop-losses on positions of other symbols on the same account
- Ignoring the broker's stop level may cause frequent modification request failures
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
entry_point | 0 | Entry points (Point version): floating profit threshold to activate trailing |
trailing_point | 0 | Trailing stop distance from current price in points |
entry_price | 0.0 | Entry price (Price version): price breakout level to activate trailing |
Similar Utility EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.