Spezifikation
Hi! Below is the explanation of the EA together with an example in image. I attached a TrailingStop and TrailingStep code as references that I have been using on another EA. The PDF file contains the same description, but with some expected inputs as example.
Explanation:
1) The EA strategy is summarized in opening up to 20 multiple positions according to each range of points reached in the opposite direction of the operation (Grid when activated by bool input), and closing with profits according to the values of Trailing Stop / Trailing Step.
2) The lot of each position (1st to 20th) will be different and should be informed in the input (20 lots inputs)
3) The interval /range in points to open the next grid position must be informed in the input, and it will be different for each position (20 interval inputs)
4) The exit of a position with a profit will occur through the “TrailingStopProfit” with “TrailingStepProfit”, which will be activated with each new position of the grid as soon as the current price (long position example) is above the sum of the calculation:
a) "Average Price / Breakeven*" of the operation +
b) a value in pips informed in the input called "ProfitZone" +
c) the sum of the entry and exit commissions so far according to the lots (commission amount per 1 lot will be entered via input to be calculated by the EA).
5) Aiming to reduce the risk, I must inform from which position I want to exit with less profit (“StartSecureZoneAtPosition”). In the chosen position of this input and next positions of this grid the exit will be through value of “TrailingStopSecure” with “TrailingStepSecure”, which will be activated when the current price (long position example) is above the sum of the calculation:
a) "Average Price / Breakeven*" of the operation +
b) a value in pips informed in the input called "SecureZone" +
c) the sum of the entry and exit commissions so far according to the lots.
6) Date / Time Filter: It must be possible to specify the days of the week and time to make the entries, for example: Monday to Thursday from 2AM to 8PM (“EachDay” at those times – bool option) or Monday from 2AM to Thursday 8PM (“NonStopDay” bool option). To avoid having an open position on the weekend, if there is a trade in progress and the option (input bool) "ForceCloseAll" is "true", all paper trades must be closed at once at the specified time and day (Ex : ForceCloseAllDay = "Friday"; ForceCloseAllHour = 9)
7) Spread filter: maximum spread in pips (“MaxSpread”) acceptable to open the first position.
8) As for the entry of operations, that is, the 1st trade, it can be done in two ways:
a) By the Expert Advisor:
BUY: The closing of the previous candle is greater than the maximum of the last N candles (“Ncandles”).
SELL: The previous close is less than the minimum of the last N candles (“Ncandles”).
or
b) Manually:
With the EA active on the chart, I will add a pending order on the paper with the initial batch (One click trading or other method), and as soon as the order is executed the robot will follow up with the trailing for profit or grid for the next order ( 2nd) and others.
9) The robot can be used on assets/currencies with different decimal places (such as EURUSD “1.45120”, USDJPY “115.120” and assets without decimal places “265”).
10) If the operation reaches position 20, trades must be closed at the loss as soon as it reaches the next range specified in the input (Position 20 + “Range21Close”).
11) A “Complete Operation” means a trade that has been completed by Trailing (profit), or a trade that is closed with a loss after position 20. Only one “Complete Operation” must be allowed at a time. Example: The EA is on the Grid in the 5th position and a new buy / sell condition is reached by the indicator. This trade should not be executed, since there is already an “Operation” in progress.
12) The file provided must be open source (mq5) so that I can make changes in the future and add more positions in the grid if necessary.
13) When “true” (will open a maximum of 2 positions of the Grid): the position will maintain the profit rules (item #4), but will close after reach “Range3_or_StopLoss” points. That is, instead of opening the 3rd position, it will close all positions.
*Average Price/Breakeven: The average price of all current Grid operations where the balance of the operation is $ 0. For example:
1 Lot at $50
2 Lots at $100
5 Lots at R$150
Median Price is (1x$50 + 2x100 + 5x150) / (1+2+5) = $125 .
If possible, I would like to see the line of “Median Price” on chart. Please tell me if this won’t be possible.