1. The idea of the trading system is as follows: market entries are performed when MACD cross either up or down and the RSI Strike #4 gives a buy or sell entry (for buy entries it is MACD bullish crossover, then RSI Strike #4 buy), (sell orders is MACD Bearish crossover below zero line, then RSI Strike #4 sell signal) 2. MACD is used for main signal and the RSI Strike is used for entry. So if MACD signal changes before RSI Strike entry is given the EA should not take the trade. Trades are only valid if the MACD signal does not change once given. So if it remains bearish/bullish then every RSI Strike alert is a valid signal. EA should only trade in one direction at a time (buy or sell), it should not buy when the MACD is bearish or sell when MACD is bullish. 3. Trading Signals: Buy signal: the main MACD line crosses the signal line upwards and RSI Strike #4 gives an alert (The RSI Strike 4 buy alert does not have to follow immediately after the MACD line crosses but any RSI alert given while the MACD line crosses the signal line upwards is valid till TP or Stop Loss. Sell signal: the main MACD line crosses the signal line downwards. I will share images of these with the developer I select. 4. Positions are closed at opposite signals: Buy positions are closed TP or SL, and Sell positions are closed at TP or SL. TP should be trailing. 5. Positions are opened at the market price, when a new bar emerges. The Expert Advisor is to be tested using Open prices, so there is no need to add functions for disabling operations inside the bar. 6. Additional filters for opening a position: The absolute value of MACD's main line and signal line will be used as filters. If the MACD bullish changes to bearish before a RSI #4 buy is given then the EA should not open any buy positions. If the MACD bearish crossover changes to bullish before a RSI #4 sell is given then the EA should not open any sell positions. Both MACD and RSI have to be in the same direction, first MACD then RSI. Money Management - Additional filters for closing a position: If positions opened have not hit TP or SL and the MACD direction changes, then the EA can close the positions. However if the MACD remains in the same direction as the positions opened and neither TP or SL is hit, then the positions remain open until SL or TP is hit. 7. Number of Orders: Number of positions the EA should open once a trade meets the strategy criteria. These positions should be inputted by the user in the Options Panel. 7. Trade direction: EA should only have Buy only or Sell only parameters for the user to select. Nothing else. 8. Close by Take Profit — during position opening, a Take Profit level is set at a fixed distance in candles from the open price, specified by the number of candles or a currency equivalent amount by the user in the options panel. The value set should be virtual and only taken once the EA calculates the candles or currency amount is hit per position. So it should not be inputted into the TP for each order. 9. Closed by Stop Loss - during position opening, a Stop Loss level is set at a fixed distance in candles from the open price, specified by the number of candles or a currency equivalent amount by the user in the options panel. The value set should be fixed and added to each position opened by the EA. 10. Maximum Gain - This should be a fixed total profit amount that the EA has taken for the trading session set in a currency equivalent. Once the amount is hit (by TP), the EA should close all trades and stop trading until the broker server time moves to another calendar day (midnight) 11. Maximum Loss - This should be a fixed total los amount that the EA has taken on trades for a trading session set in a currency equivalent. Once this amount is hit (by SL or margin call), the EA should close all open positions and stop trading until the broker server time moves to another calendar day (midnight)