I need an EA for MT4

MQL4 Experts

Job finished

Execution time 5 days
Feedback from customer
Very professional and skilled coder, difficult EA completed on time. Definitely recomended.
Feedback from employee
Excellent customer! Good communication. Very clear task.

Specification

I need an EA for MetaTrader 4. The market entry signal is based on trendline breakouts. Positions are closed by stop loss, take profit and reverse signal. All positions are accompanied by a trailing stop, based on the average between the maximum and minimum of the last n candlesicks. Some calculations are done as a fraction of the Average True Range indicator. Lot sizes are calculated as a percentage of the balance.

 

Trendlines


This system is based on trendlines, which are drawn connecting fractals.


Fractals are patterns where highs or lows are in the middle of a series of bars. A first order bearish fractal appears in a series of three consecutive bars, when the high of the central bar is preceded by a lower high and is followed by a lower high. The opposite for bullish fractals. Similarly, a second order bearish fractal is found in a series of five consecutive bars where the highest high is located on the central bar, and therefore, preceded by two lower highs and followed by two lower highs. The opposite would be a bullish second order fractal (see Image 1). An indicator for fractals is already built in MT4 (Indicators>Bill Williams>Fractals).

 

01

 

This expert advisor should draw trendlines connecting second order fractals. A bullish trendline will be drawn connecting the last two second order bullish fractals, if the most recent bullish fractal is higher than the previous bullish fractal. A bullish trendline can be also drawn connecting the last and the third-to-last second order fractals, if the most recent bullish fractal is higher than the third-to-last bullish fractal. The fourth and further fractals on the left will be ignored. To draw a trendline, fractals must be separated by at least five candlesticks.

The opposite conditions will be considered to draw a bearish trendline (see Image 2).

02 

Trendlines must be drawn considering second order fractals. Only in the case that no second order fractal appears in the last nine candlesticks, trendlines should be drawn based on first order fractals, following the same rules (see Image 3).

 

Signal to open a position


A long position is opened when a candlestick closes above a bearish trendline, plus a determinate number of pips in the same direction, calculated as a percentage of the 14 periods Average True Range (“ATR(14)”, henceforth) value in the last bar. This parameter should be adjustable and called Breakstrength (please allow fractional numbers). For example, if the ATR(14) value in the last bar is 100, and the Breakstrength is set as 10%, then 10 points should be added to the level of the breakout point to allow the opening of a position.

Conversely, a short position is opened when a candlestick closes below a bullish trendline, plus a determinate number of pips specified in Breakstrength (see Image 4). 

 

Only one position at a time can be opened, even if a candlestick breaks two different trendlines. If an opposite signal occurs (i.e., a candlestick breaks out a trendline in the opposite direction) the active position must be closed, and the opposite operation should be opened (see Image 5).

 

Stop loss

Initial stop loss

Every position is opened with an initial stop loss, that should be placed after the most recent fractal in the opposite direction (i.e. the last down fractal for long positions, or the last up fractal for short positions). A given number of pips, calculated as a percentage of the ATR(14), should be added to this initial stop loss (this parameter should be adjustable and called InitialSLBuffer, see Image 6).

 

Trailing stop loss

The initial stop loss should not move during the first n candlesticks following the entry point. This parameter should be adjustable and called StartTrailSL. After the n+1 candlestick following the entry point, the stop loss should be moved below the minimum of the n+1 candlestick in long positions, or above the maximum of the n+1 candlestick in short positions, plus a given number of pips. This parameter should be adjustable, calculated as a fraction of the ATR, and called TrailSLBuffer (see Image 7).

 

A line displaying the average between the maximum and minimum of the last n candlesticks should be calculated with each candle (called Kijun line, as in the Ichimoku indicator, already built in MT4). The number of candlesticks used to calculate this line should be adjustable and called KijunPeriod.


As soon as a candlestick opens and closes above this Kijun line in long positions, or below, in short positions, the stop loss level should be moved below or above the Kijun line, for long and short positions respectively, plus a number of pips specified by the TrailSLBuffer (see Image 8).

 

The trailing stop loss must move only in the direction of profit.


Momentum Filter

No position should be opened if in the last 10 bars price moves faster than a determinate number of pips, from mimimum to maximum. This maximum number of pips to allow trading should be adjustable, as a multiple of the ATR(14), and called MaxMomentum (see Image 9).

 

Time Filter

Opening positions shoud be only allowed during a determinate period of the session (e.g.: from 7:00 to 18:00). If a position is still open after this time, it shoud be closed following the Marked Exit rules of the next paragraph.


Market Exit

Part of the position should be closed if profit reaches a percentage of the number of pips risked by the initial stop loss (both parameters, the percentage of the position to be closed, and the percentage of pips of the initial stop loss, should be adjustable and called ClosePercent and InitialFraction respectively). The rest of the position should be closed when price hits the stop loss or when an opposite signal occurs, whatever happens first (see Image 10).

 

Position volume

The number of lots is calculated as a percentage of the current balance (this parameter should be adjustable and called RiskPercentage).

For example, equity is $10000, and we want to risk 1%, that is, RiskPercentage is set to 1%. The EURUSD pip value is $10 on a standard lot. Initial stop loss is at 200 pips distance. Then, the lot size should be:


$100 risked / (200 pips *$10 per pip) = 0,05 lot size.


Calculations should be rounded to the nearest microlot size.


Miscellaneous:

When the Expert Advisor is runned, it should attach the used indicators with the specified parameters.


If there are any errors, it must print a message describing the error. 

Responded

1
Developer 1
Rating
(879)
Projects
1392
67%
Arbitration
117
32% / 42%
Overdue
215
15%
Free
2
Developer 2
Rating
(1130)
Projects
1432
62%
Arbitration
21
57% / 10%
Overdue
43
3%
Free
3
Developer 3
Rating
(2428)
Projects
3057
66%
Arbitration
77
48% / 14%
Overdue
340
11%
Working
4
Developer 4
Rating
(219)
Projects
370
42%
Arbitration
145
17% / 41%
Overdue
124
34%
Free
5
Developer 5
Rating
(69)
Projects
76
59%
Arbitration
0
Overdue
12
16%
Free
6
Developer 6
Rating
(195)
Projects
395
28%
Arbitration
155
20% / 52%
Overdue
112
28%
Free
7
Developer 7
Rating
(1855)
Projects
3458
88%
Arbitration
73
40% / 15%
Overdue
265
8%
Free
8
Developer 8
Rating
(107)
Projects
149
36%
Arbitration
29
3% / 55%
Overdue
35
23%
Free
9
Developer 9
Rating
(586)
Projects
1048
49%
Arbitration
39
28% / 41%
Overdue
49
5%
Free
10
Developer 10
Rating
(89)
Projects
137
24%
Arbitration
35
9% / 40%
Overdue
52
38%
Free
11
Developer 11
Rating
(258)
Projects
395
28%
Arbitration
69
19% / 49%
Overdue
120
30%
Free
Similar orders
Hello The EA will work on particular zone choose by the user and can mark it on any TF and with some rules can open trades and mange the trade by some unique rules. the EA need to check the difference by RSI as well and with some extra rules . developer should have good attitude and good communication (englsih) with high performence and knowledge with coding EA. THREE TYPES OF ENTRIES 1: AGGRESSIVE 2: DIVERGENCE 3
Indicator in use: Bollinger Bands Mechanism (See diagrams provided for help) Sells: 1. Trigger candle: When candle low is above the top Bollinger band - accurate to the lowest point scale (e.g. On EURUSD if candle low is 1.07915 and the value of top bollinger is 1.07914 - this is a sell signal; or if on Futures if the increment is .25 or .10 then this is used) 2. Enter sell ONLY on the next candle if price breaks
Indicator in use: Bollinger Bands Mechanism: (See diagrams provided for help) Sells: 1. Trigger candle: When candle low is above the top Bollinger band - accurate to the point scale (e.g. On EURUSD if candle low is 1.07915 and the value of top bollinger is 1.07914 - this is a sell signal) 2. Enter sell ONLY on the next candle if price breaks below the trigger candle LOW (using the e.g. above- if next candle price
hey guys, im looking for an auto mt5 license system through a web app i have already, i simply want it so a unique license key is generated for memebers, they input this onto the EA input and then it checks if its valid. active license per user capped at 5. i already have an mt5 coder and dec team for the app so i dont know if youd prefer to intergrate onto the webapp yourself or simply provide the code and doc so my
I need a simple panel to execute both buy and sell operations with very basic things like stopp loss take profit that functions for both market orders such as buy stop sell stop buy limit sell limit I don't care about colors or design I just want how you can do it what interests me most are the functions
I want to create an EA that can take bids according to information of a logic I have developed to give indication of a BUY or SELL opportunity. The EA will then be able to activate the BUY at the lowest possible position once the indicator clears it for a BUY and take bid upwards or identify the highest point and clears it for a SELL and take bids downwards. As you can see from example of JULY 2024 data to see how
We are seeking a skilled developer who can convert a Tradingview indicator written in Pinescript to a NinjaTrader indicator written in C#. The goal is to create a profitable trading strategy using this indicator. The successful candidate will have expertise in both Pinescript and C# programming languages, as well as a strong understanding of trading indicators and strategies. The main responsibilities will include
I am seeking an experienced MQL5 developer to create a user-friendly manual Grid Trading Expert Advisor (EA) with the following key features: Dynamic Grid Trading: Adjustable Grid Distance: Traders can manually input grid distance in pips via an intuitive, movable table. Take Profit Management: Fixed TP for the initial positions (e.g., first 5 trades). Stop-Loss (Optional): Traders can choose to use a stop-loss with
I want have the possibility to increase lotsize not alone by Lot-multiplier rather I want add a fix-lot increase for excample for 0,05 lot. I want have this for buy / sell and hedge-buy and hedge sell
Develop EA to track performance metrics of strategies I would like to develop an EA that will track the performance metrics of the strategies I have running on a terminal, If any of the metrics start to under perform then the EA/Indictor should alert me with a pop up alert that specify's the metric that has triggered the alert. The EA should also display the metrics in a dashboard - please see my example screen shot

Project information

Budget
70 - 150 USD
VAT (21%): 14.7 - 31.5 USD
Total: 84.7 - 181.5 USD
For the developer
63 - 135 USD
Deadline
from 10 to 15 day(s)