Kindly take your time to read through the requirements as I will also be taking ym time to pick a developer for this job.
In this MQL5 EA, there will be an input option to use fixed lot size or risk percentage; if fixed lot size is chosen then all trades should use the user specified lot size. If risk percentage is chosen then every trade should risk the user specified risk percentage of the account balance. For example if we pick FixedLot and 0.1 as lot size, every trade should use 0.1 lot size. If we pick RiskPercentage instead, and in a separate input field type 1.5, then every trade should risk 1.5% of the account balance. There should be no take profit set. The stoploss for all buy trades should be the low of the last user specified number of candles. The stoploss for all sell trades should be the high of the last user specified number of candles. E.g If the input variable stopLossCandles is set to 7, then all buy trades should have their stoploss set to the low of the last 7 candles, and all sell trades should have their stoploss set to the high of the last 7 candles. This general stoploss functionality should be in a separate function. Risk percentage calculation should be in a separate function.
All trades should be executed at the open of a new candle (this feature must be in a function) when all indicators listed give a buy or sell signal.
There should be 5 input fields that take in the filename of the indicators(To be considered For Trade Entries); they should each have functions that return the strings "Buy", "Sell" or "Neutral". If a field is left blank, then the EA should disregard that indicator field.
There should be 5 input fields that take in the filename of the indicators(To be considered For Trade Exits); they should each have functions that return the strings "ExitBuy","ExitSell" or "Neutral". If a field is left blank, then the EA should disregard that indicator field.
So up to 5 functions that will be used to determine entry for buy or sell trades and up to 5 functions that will be used to determine exits for buy and sell trades. All functions in the Trade Entry section need to return "Buy" to enter a buy trade and only one function in the Trade Exit section need to return "ExitBuy" to close a buy trade.
Use case example: If I have put in 3 different indicator names for the Trade entries section and left two blank, then a buy trade should be placed only when all 3 indicators return "Buy" and a sell trade should be placed only when all 3 indicators return "Sell". If I have put in 2 different indicator names for the Trade Exits section and left the rest blank, then buy trades should be closed when ANY indicator in the Trade Exit section(at least one fo the indicators) returns "BuyExit"; sell trades should be closed when ANY(at least one fo the indicators) return "SellExit".
Only 1 trade should be open at a time.
Please feel free to pm me questions you have and kindly include the comment "Golden Boy" in your first message so I know that you fully read my requirements. I won't respond otherwise.
Regarding the actual indicator functions (5 for Trade Entries and 5 for Trade Exits), I want the functions to be structured in a way that I can put easily put in my own custom indicator checks myself; but so I know it is working I will attach 2 custom indicators (Gann and Volty) along with the built in moving average indicator (iMa function; I will elaborate on)[3 total] that you are to use as part of the the 5 indicator options ofr Trade entries and Trade exits.
So in the final product the EA will use the 3 indicators which must ALL return "Buy" or "Sell" to open a buy or sell trade respectively; buy or sell trades will be close when ANY of the 3 indicators return "ExitBuy" or "ExitSell".
For the moving average put it in one of the Trade entry functions and one of the trade exit functions. It should use two EMAs and return "Buy" when the current candle has opened above both EMAs and the previous candle opened below at least one of the EMAs; and return "Sell" when the current candle has opened below both EMAs and the previous candle opened above at least one of the EMAs. I will give the settings for the 2 moving averages when you pm me.
Also when using the iCustom function, you don't need to specify the input parameters, I will always be using the default settings for the customer indicators wo the handles will be as follows:
handle1 = iCustom(_Symbol,_Period,indicator_filename1);
Lastly, kindly explain in your own words how the EA should work so I know that I know if you understand my requirements or if I need to clarify any part or missed anything. Thank you.