Specification
Trading logic:
The EA must trade based on horizontal lines placed on the chart. Lines will be drawn manually by me, or by manually input the price level in the EA inputs. Buy lines will be placed above the current price, and a trade should only trigger when the price breaks upward through the line. Sell lines will be placed below the current price, and a trade should only trigger when the price breaks downward through the line. Each horizontal line should only open one active trade at a time. A new order from the same line should only be allowed after the previous trade linked to that line is closed.
Number of levels:
The EA must support between 10–18 buy lines and 10–18 sell lines at the same time. All lines will be placed at once on the chart, and the EA must monitor each of them continuously. Every line remains active until I delete it.
Line identification:
Lines should be named automatically (for example Buy1, Buy2, Sell1, Sell2, etc). The EA must recognize and react to these lines.
Stop Loss & Take Profit:
Each line should have its own independent SL and TP. Active trades must keep their original SL/TP even if I later update the global SL/TP settings. New trades after I change settings should follow the updated SL/TP.
Lot size & risk management:
Two options must be available: fixed lot size, or % risk per trade (based on account balance and SL distance). The % risk applies per trade, not per direction or group of trades.
Trade management:
Breakeven function to move SL to entry plus buffer after X pips profit (both values configurable). Partial closes up to 3 global steps, meaning the same partial close rules apply to all trades. User sets pip distance and % or lot size to close at each step. Trailing stop option with adjustable start and step values, working independently per trade.
Important clarifications:
I do not want buy stop or sell stop pending orders. Trades must trigger directly when price breaks the horizontal line. Lines are not one-time triggers, they should remain active and re-trigger only after their previously linked trade is closed.