Job finished
Specification
Welcome dear fellow Traders/Developers,
I am asking for an experienced person, who may help me. I would like to create an Engulfing EA, that work together with an RSI indicator.
Task:
The Engulfing EA opens and manages positions with two different types of openings based on the candlesticks. There may be one or more open positions at a time, but only in the same direction. An added indicator is also needed for the expert (RSI). I would like it, if the EA could be used on any timeframe.
Opening (Important)
The expert works with two types of openings, but for both, it looks for Engulfing candles on the chart. An opening can occur once or multiple times per candle. The ''normal'' opening is at the opening of the new candle after the Engulfing candle, that has been carefully filtered by the EA. The ''advanced'' opening is a bit more difficult: Some Engulfing bars are being retested on different levels, this is why the EA divides the body of the Engulfing candle into multiple parts and on each part it places a pending order with the same direction as the Engulfing candle.
Example: There's a bullish Engulfing candle with the bodysize of 100 points, the EA opened a normal trade after the Engulfing candle closed and divides it into 1/2, so at the half of the body (at 50 points) the EA also places a BuyLimit order. If it's 1/3, then the EA places two pending orders at both third of the candle. With this we're minimalzing the SL distance and maximalizing the profit. The SL and RiskPercent are also based on the inputs. (I'm also happy to recive any advices or recommendations for this part)
Closing
The priority of the closing process is based on an RSI value. As soon as the value of the RSI reaches a certain amount, the EA closes the trade. Or you can select a specific RR ratio for the trades.
Input parameters:
- MagicNumber (integer, default: 12345): The Magic value of open positions for later identification.
- OpenType: (normal/advanced): Choosing wheter you're using a normal type of opening or advanced.
- AdvancedType: (selectable, 1/2, 1/3, 1/4): Choosing the preffered advanced opening type.
- UseTP : Close with a TP after each opening signal, not on an RSI value. I'm thinking about RR ratios, like 1:1, 1:2, 1:3 and so on, based on what you choose.
- MinCandleSize (decimal, in point): The minimum candlestick size on which the EA opens a trade.
- MaxCandleSize (decimal, in point): The maximum candle size on which the EA opens a trade.
- BodySizeMultiplier (decimal): The Engulfing candle must be at least this many times the size of the previous candle. Example: If the parameter value is 1.5, the Engulfing candle must be at least one and a half times larger than the previous candle.
- TailToBodySizeMultiplier (decimal): The minimum body-to-wick ratio of the Engulfing candle. Example: At 1, the body of the candle must be at least as large as the wick. At 5, the body of the candle should be at least 5 times larger than the candle wick.
- Lookback (integer, number of candles): It determines how many candles need to be examined backwards to establish whether there is a local minimum or maximum. We use this value for the placement of the SL.
- RSI Period (integer, default: 8): The parameter of the RSI period used.
- MaxRSI Filter (decimal): Maximum RSI value where a Long position can still be opened.
- MinRSI Filter (decimal): Minimum RSI value where a Short position can still be opened.
- RSIexit Long (decimal): The RSI value at which the EA closes a Long trade.
- RSIexit Short (decimal): The RSI value at which the EA closes a Short trade.
- RSI Direction Exit (true/false): Whether the RSI-based trailing stop should be on or off.
- RSI Direction Start Long (decimal): The RSI-based trailing stop starts at this point for Buy.
- RSI Direction Start Short (decimal): The RSI-based trailing stop starts at this point for a Sell.
- RSI Direction Distance (decimal, default 3): An RSI-based trailing stop follows the RSI value at this distance.
- MaxSpread (integer, in point, default: 50): The maximum spread value for openings.
- RiskPercent (decimal, percentage, default: 1): Risking this percentage of the capital to open a trade.
- FixedLotSize (true/false, default: false): Opening a trade with a fixed lot size, instead of the percent of the capital.
- UserLotSize (decimal, lot, default: 1): The default trade size with which you open a trade.
- MoveSLtoBE (true/false, default: true): When reaching RR 1:0.5 or 1:1 the SL is being dragged to BE. (Advice and help is needed here.)
- UseTrailingStop (true/false): Activating the trailing stop or not.
- Button X (integer, pixels): The horizontal position of the switch button.
- Button Y (integer, pixel): The vertical position of the switch button.
Some more info:
- The candle body is greater than or equal to MinCandleSize.
- The candle body is less than or equal to MaxCandleSize.
- The candle body covers the body of the previous candle (the top is greater than or equal and the bottom is less than or equal to the body), and is in the opposite direction (neither can be zero).
- For a Buy opening, the candle must be bullish, for a Sell opening, the candle must be bearish.
- The candle body is greater than or equal to the BodySizeMultiplicator times the body of the previous candle.
- For a Buy opening, at the upper wick of the candle and for a Sell opening, at the lower wick, the body should be at least a TailToBodySizeMultiplicator times.
- It also checks the current RSI value, according to the rule above, so in the case of Buy, the RSI value is lower or equal to MaxRSIFilter, for Sell, the value of the RSI is greater than or equal to MinRSIFilter.
- The current spread is less than or equal to the MaxSpread
- The expert has no open position, or at most it is only in the direction in which we would like to open now.
- With the button on the chart, opening is enabled
- If the value of FixedLotsize is true, then the opening of a trade size corresponding to the UserLotSize parameter. If false, the expert determines the trade size by risking the RiskPercent percentage of the current capital, rounded down.
- The stop management is the same for the two types of openings. At the start, the Buy stop is placed at the lowest point of the Lookback signalled candle and the Sell stop is placed above the highest point of the signalled candle with the spread at the opening.
RSI based Trailing Stop:
For the opening, an RSI-based trailing stop also works, if the RSI Direction Exit is on true. This always works with the current RSI value. For Buy, it will turn on if the RSI value is greater than or equal to RSI Direction Start Long, and for Sell, if it is less than or equal to RSI Direction Start Short. Once engaged, it follows the RSI value with an RSI Direction Distance (moving only upwards for Buy, only downwards for Sell) to determine a closing RSI value. From this point on, if the RSI value is less than or equal to the value of the RSI in the case of a buy, and if it is greater than or equal to the RSI value in the case of a sell, it closes the position.
Display
On the chart, it displays the same information interface as the expert, and it also displays a button that allows and prohibits opening. It marks the corresponding Engulfing candles with an arrow, for Buy it it shows an upward one below the low value of the candle, for Sell it shows a downward one above the high value.Thank you for your time!