An Expert Advisor based on Moving Averages and Fair Value Gaps

Trabajo finalizado

Plazo de ejecución 18 días
Comentario del Cliente
This developer was very patient. We had several times of discussing the EA back and forth and he helped me get it doing what I wanted it to do. I highly recommend this developer.
Comentario del Ejecutor
He is one of thegood customers I have worked with here, his communucation skills is very okay and patient enough to explain all requirements. Nice working with you. Thanks

Tarea técnica

Requirements Specification

Forex Trending, April 2025, MT4

 

OVERVIEW OF THE STRATEGY

·      This EA is for the purpose of running the optimization feature in MT4 to find the best settings for the strategy. It will have many parameters.  It is to be used on Forex pairs.

·      Not all of the parameters will be used all of the time. If a value of “111” is entered into the parameter, that parameter will not be used. Zero “0” will be a valid parameter number. All parameters should have the option of being turned off by entering “111.”

·      Moving Averages will be used to determine when price is trending.

·      Moving Averages will also be used to determine whether to buy or sell.

·      When price is trending, the EA will enter trades based on Fair Value Gaps.

 

MOVING AVERAGES

·      Three Moving Averages will be used. A parameter will determine whether the Moving Averages are Simple Moving Averages or Exponential Moving Averages.

·      A parameter determines if the moving averages are displayed on the MT4 screen:

       -   Show MA1 on the screen

       -   Show MA2 on the screen

       -   Show MA3 on the screen

·      The first and second moving averages (MA1 and MA2) will have the following parameters:

       -   If MA1 is above MA2, only enter buy positions.

       -   If MA1 is below MA2, only enter sell positions.

       -   Number of bars to average for MA1

       -   Number of bars to average for MA2

       -   Number of bars to average for MA3

       -   MA1 is a [Simple Moving Average, or, Exponential Moving Average]

       -   MA2 is a [Simple Moving Average, or, Exponential Moving Average]

       -   MA3 is a [Simple Moving Average, or, Exponential Moving Average]

·      The third moving average (MA3) will be used to determine if price is in a trend. It will determine this by the percent change of the moving average from one bar to another (this is the same idea as determining the slope on a graph). When price is moving sharply in one direction, the MA will recognize it by the percent change in the MA.

       -   The “Percent Change” will be calculated this way:

               -  The latest Moving Average reading will be “x.”

                The previous Moving Average reading (from the previous bar) will be “y.” (see diagram below)

A graph with green and purple arrows

Description automatically generated

                The Moving Average value “x” will have “y” subtracted from it.

                That number will then be divided by the Moving Average value “x”.

                Then, the number will multiplied by 10000 (ten thousand).

                This will give the Percent Change number. (Side note: to get the actual percent change, we would only multiply by 100, but that would produce a very small decimal value and I want the number larger so it’s easier to work with).

                The formula looks like this: (x-y) / x * 10000

                An example:

A graph with a line and arrow pointing to the top

Description automatically generated with medium confidence

(1.08458 – 1.08435) = 0.00023

0.00023 / 1.08458 = 0.00021206

0.00021206 * 10000 = 2.12063

Percent Change = 2.12063

 

An example where price is descending:

(it always produces a negative number when descending)

(1.42602 - 1.42636) = -0.00034 / 1.42602 = -0.00023842 * 10000 = -2.38423

Percent Change = -2.38423

 

A graph with arrows pointing to a bar

Description automatically generated

 

                (A parameter, a decimal value) If Percent Change is greater than _____, enter buy positions. (That is, do not enter buy positions unless Percent Change is higher than that number.)

                (A parameter, a decimal value) If Percent Change is less than _____, enter sell positions. (That is, do not enter sell positions unless Percent Change is below that number.) (This will be a negative number.)

                (A parameter) Show Percent Change on the screen.


IDENTIFYING FAIR VALUE GAPS (FVG)

·      A Fair Value Gap is a three-candle setup. The FVG exists where the first and third candles do not overlap.

A graph of a candle stick graph

Description automatically generated

·      (A parameter) Show FVGs on the MT4 screen.

·      Bullish FVGs will be green.

·      Bearish FVGs will be red.

·      A FVG will only be considered after the third candle is formed. The FVG will not be considered while the third candle is forming.

 

OPENING A TRADE

·      I will not be using bracket trades. No Stop Loss or Take Profit will be entered. Rather, the EA will open or close trades according to rules that will simulate Stop Loss and Take Profit. This is because some brokers don’t allow bracket orders.

·      The EA is to open only one trade at a time. If a trade is currently open, the EA will not open another trade until after the first one is closed.

·      When a bullish FVG is formed and price comes back and retouches the top of it, enter a buy trade. Price must come back and retouch the FVG within [a parameter: a whole number] bars.

·      When a bearish FVG is formed and price comes back and retouches the bottom of it, enter a sell trade. Price must come back and retouch the FVG within [a parameter: a whole number] bars.

A graph with arrows and candles

Description automatically generated

·      Only open trades between the hours of [a parameter: a time] and [a parameter: a time]. I would like to have three of these to allow for trading at specific times of day.

·      Only open trades between the hours of [a parameter: a time] and [a parameter: a time].

·      Only open trades between the hours of [a parameter: a time] and [a parameter: a time].

·      All orders will be market orders.

·      If an order, or part of an order, is not filled within [a parameter: a whole number, a number of seconds], cancel the part of the order that is not filled.

·      Only open a trade if the spread is equal to or less than [a parameter: a decimal number] pips.

 

CLOSING A TRADE

·      Close the trade if price moves against the position the distance of the FVG plus[a parameter: a decimal number]pips.

A screen shot of a graph

Description automatically generated

       -   The green bar in the diagram is a bullish FVG. It formed and price came back and retouched it. Price then extended out the bottom of the FVG by 3 pips. The trade would close if this parameter was set to 1, 2, or 3.

       -   For example, if the FVG is 3 pips wide and this setting is set to 2, the trade would close when price went against the opening price by 5 pips.

       -   Another example, if the FVG is 4 pips wide and this setting is set to 3, the trade would close went price went against the opening price by 7 pips.

·      This number of pips is called the “Risk.” The Risk is the width of the FVG plus the number of pips in this parameter.

       -   An example:

A graph with arrows pointing to a graph

Description automatically generated

       -   The minimum Risk to take is [a parameter: a decimal number] pips.

       -   The maximum Risk will be[a parameter: a decimal number] pips. The Risk will be limited to this number of pips even if the FVG calls for more.

       -   If the Risk is over [a parameter: a decimal value], do not open the trade.

·      Close the trade if price moves profitably [a parameter: a decimal number] times (multiplied by) the Risk. This is the Risk-to-Reward ratio.

·      For example, if the Risk is 5 pips and the value entered in the parameter is 2, close the trade at 10 pips profit.

·      Another example, if the Risk is 4 pips and the value entered in the parameter is 1.5, close the trade at 6 pips profit.

·      Another example, if the Risk is 5 pips and the value entered in the parameter is .9, the EA will multiply 5 by .9 which is 4.5. The trade will be closed when the trade is in profit by 4.5 pips.

·      [A parameter] If price reaches 1/2 way in profit but moves back to the entry price, close the trade. (This is simulating moving the Stop Loss to the entry point when price is 1/2 toward the Take Profit.)

·      OTHER WAYS TO CLOSE THE TRADE:

       -   Close the trade when in profit [a parameter: a decimal number] pips. (I may enter “111” in the parameters above and close the trade after a set number of pips instead.)

       -   Close the trade when in loss [a parameter: a decimal number] pips.

       -   Close the trade if price goes against its highest point by [a parameter: a decimal number] pips. (This is simulating a trailing Stop Loss.)

·      If the account balance drops below [a parameter: a dollar amount], close all trades and open no more trades.

 

OTHER CONSIDERATIONS

·      The number of lots to buy is [a parameter: a decimal number].

·      I would like a copy of the source code file, the mq4 file.

 

I WOULD LIKE THE PARAMETERS TO BE LABELLED THIS WAY:

·      MA1 is a [Simple Moving Average, or, Exponential Moving Average]

·      MA2 is a [Simple Moving Average, or, Exponential Moving Average]

·      MA3 is a [Simple Moving Average, or, Exponential Moving Average]

·      Show MA1 on the screen

·      Show MA2 on the screen

·      Show MA3 on the screen

·      If MA1 is above MA2, only enter buy positions.

·      If MA2 is below MA2, only enter sell positions.

·      Number of bars to average for MA1

·      Number of bars to average for MA2

·      Number of bars to average for MA3

·      Show Percent Change on the screen

·      (A parameter, a decimal value) If Percent Change is greater than _____, enter buy positions. (That is, do not enter buy positions unless Percent Change is over that number.)

·      (A parameter, a decimal value) If Percent Change is less than _____, enter sell positions. (That is, do not enter sell positions unless Percent Change is below that number.) (This will be a negative number.)

·      Show FVGs on the MT4 screen.

·      Price must come back and retouch a FVG within [a parameter: a whole number] bars.

·      Only open trades between the hours of [a parameter: a time] and [a parameter: a time]. I would like to have three of these to allow for trading at specific times of day.

       -   Only open trades between the hours of [a parameter: a time] and [a parameter: a time].

       -   Only open trades between the hours of [a parameter: a time] and [a parameter: a time].

·      If an order, or part of an order, is not filled within [a parameter: a whole number, a number of seconds], cancel the part of the order that is not filled.

·      Only open a trade if the spread is equal to or less than [a parameter: a decimal number] pips.

·      Close the trade if price moves against the position the distance of the FVG plus [a parameter: a decimal number] pips.

·      The minimum Risk to take is [a parameter: a decimal number] pips.

·      The maximum Risk to take is [a parameter: a decimal number] pips.

·      If the Risk is over [a parameter: a decimal value], do not open the trade.

·      Close the trade if price moves profitably [a parameter: a decimal number] times the Risk. 

·      If price reaches 1/2 way in profit but moves back to the entry price, close the trade.

·      Close the trade when in profit [a parameter: a decimal number] pips.

·      Close the trade when in loss [a parameter: a decimal number] pips.

·      Close the trade if price goes against its highest point by [a parameter: a decimal number] pips. (This is simulating a trailing Stop Loss.)

·      If the account balance drops below [a parameter: a dollar amount], close all trades and open no more trades.

·      The number of lots to buy is [a parameter: a decimal number].


Han respondido

1
Desarrollador 1
Evaluación
(265)
Proyectos
333
29%
Arbitraje
36
28% / 64%
Caducado
10
3%
Trabajando
2
Desarrollador 2
Evaluación
(7)
Proyectos
6
0%
Arbitraje
4
25% / 75%
Caducado
2
33%
Libre
3
Desarrollador 3
Evaluación
(64)
Proyectos
83
28%
Arbitraje
9
33% / 56%
Caducado
9
11%
Libre
Ha publicado: 1 ejemplo
4
Desarrollador 4
Evaluación
(274)
Proyectos
403
28%
Arbitraje
40
40% / 50%
Caducado
1
0%
Libre
5
Desarrollador 5
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
6
Desarrollador 6
Evaluación
(85)
Proyectos
174
44%
Arbitraje
3
100% / 0%
Caducado
5
3%
Libre
Ha publicado: 1 ejemplo
7
Desarrollador 7
Evaluación
(70)
Proyectos
91
25%
Arbitraje
26
19% / 54%
Caducado
25
27%
Libre
8
Desarrollador 8
Evaluación
(365)
Proyectos
441
55%
Arbitraje
22
50% / 14%
Caducado
30
7%
Trabajando
9
Desarrollador 9
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Trabaja
10
Desarrollador 10
Evaluación
(11)
Proyectos
15
20%
Arbitraje
6
0% / 100%
Caducado
3
20%
Libre
11
Desarrollador 11
Evaluación
(5)
Proyectos
5
60%
Arbitraje
1
0% / 0%
Caducado
2
40%
Libre
Ha publicado: 1 ejemplo
12
Desarrollador 12
Evaluación
(162)
Proyectos
289
35%
Arbitraje
18
22% / 61%
Caducado
43
15%
Libre
13
Desarrollador 13
Evaluación
(62)
Proyectos
90
29%
Arbitraje
24
13% / 58%
Caducado
7
8%
Trabaja
14
Desarrollador 14
Evaluación
(64)
Proyectos
144
46%
Arbitraje
20
40% / 20%
Caducado
32
22%
Libre
15
Desarrollador 15
Evaluación
(298)
Proyectos
478
40%
Arbitraje
105
40% / 24%
Caducado
82
17%
Trabajando
Ha publicado: 2 ejemplos
16
Desarrollador 16
Evaluación
(318)
Proyectos
565
35%
Arbitraje
81
31% / 44%
Caducado
204
36%
Libre
17
Desarrollador 17
Evaluación
(20)
Proyectos
26
38%
Arbitraje
6
33% / 50%
Caducado
0
Libre
18
Desarrollador 18
Evaluación
(1)
Proyectos
1
0%
Arbitraje
0
Caducado
0
Libre
19
Desarrollador 19
Evaluación
(78)
Proyectos
246
74%
Arbitraje
7
100% / 0%
Caducado
1
0%
Libre
Ha publicado: 1 artículo
Solicitudes similares
Привіт. Шукаю когось, хто б застосував мій код як бота . Я торгую індексом Aus_200 SFE (не XJO). Бот базується на MACD входу/виходу, RSI, стохастиці та vwap. Як тільки роботу приймуть, мені потрібно внести кілька коректив; однак, нічого суттєвого. Дякую
I have a technical specification ready for a custom alert indicator in NinjaTrader 8 (NinjaScript / C#). Important clarification: it is NOT an automatic trading bot, it is solely a visual indicator (arrows/lines on the chart) and sound alerts (notifications) based on EMA crossovers and range breakouts (ORB 15m) on lower timeframes for futures (MES). I already have the exact rules written out unambiguously
Custom MT5 EA for buy stop and sell stop breakout strategy.’ ‘Requirements, develop a custom Expert Advisor for MetaTrader 5 that places buy-stop and sell-stop pending orders based on defined breakout rules.’ ‘All important values adjustable via inputs.’ ‘Includes stop loss, take profit, trailing stop, and configurable risk management.’ ‘One trade at a time, works on demo before live.’ Provide source code and
A good trend predicting indicator is the one which can identify the trend change as soon as it happens on the chart. when a new candle is formed it should tell whether its going to go up or down. I have already seen a lot of repainting trend predictors so if your indicator is repainting then please don't bother contacting. I would like to see the demo version and then if satisfied , I would want the source code too
Looking for A verifiable, disciplined XAUUSD analyst with controlled drawdown, consistent stop-loss use, clear communication and the capacity to service a live community. To send daily London and New York signals exclusively in my channel on Telegram
Platform MetaTrader 5 (MT5) MQL5 Source Code Required Compatible with Exness MT5 both standard and cent accounts/ICMarket accounts Works on EUR/USD only (initial version) ⸻ Objective Develop a fully automated AI Expert Advisor based on ICT Smart Money Concepts (SMC). The EA must only execute high-probability trades that satisfy all required conditions before opening a position. The EA must avoid overtrading and
Bonjour, je recherche un développeur MQL5 expérimenté pour créer un Expert Advisor pour MetaTrader 5 basé sur une stratégie de trading intégrant des principes de gestion des risques rigoureux et d'intelligence financière. Le robot doit être capable de gérer plusieurs paires de devises et d'optimiser automatiquement les entrées et sorties en fonction de conditions de marché prédéfinies."
MT4/MT5 HFT EA us30 30 - 3000 USD
Hello everybody, I'm looking for an experienced MQL4/MQL5 developer to optimize a High-Frequency Trading (HFT) Expert Advisor for both MT4 and MT5. The EA performs consistently and profitably on demo accounts, but when it is run on Raw and Standard live accounts under what appear to be the same trading conditions, it begins generating losses. I do not have the original source code (.mq4/.mq5); I only have the
I'm looking for an experienced NinjaTrader 8 (C#) developer to build a fully automated futures trading strategy. Please apply only if you have proven experience developing and testing NinjaTrader strategies. Project Overview Develop a fully automated NinjaTrader 8 strategy. Designed for Apex funded and evaluation accounts. Primary instruments: NQ/MNQ Futures (with flexibility to support other futures later). Trading
Code An Loss Rate 90-100% MT5 EA , that can blow a 100 USD account a day ,with fixed TP of 3000 points and SL of 3000 For better Rate Calculations get an strategy that can lead to so

Información sobre el proyecto

Presupuesto
150 - 200 USD
Plazo límite de ejecución
de 1 a 3 día(s)