An Expert Advisor based on Moving Averages and Fair Value Gaps

Trabalho concluído

Tempo de execução 18 dias
Comentário do desenvolvedor
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
Comentário do 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.

Termos de Referência

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].


Respondido

1
Desenvolvedor 1
Classificação
(293)
Projetos
365
30%
Arbitragem
37
27% / 65%
Expirado
10
3%
Carregado
Publicou: 10 códigos
2
Desenvolvedor 2
Classificação
(7)
Projetos
6
0%
Arbitragem
4
25% / 75%
Expirado
2
33%
Livre
3
Desenvolvedor 3
Classificação
(64)
Projetos
83
28%
Arbitragem
9
33% / 56%
Expirado
9
11%
Livre
Publicou: 1 código
4
Desenvolvedor 4
Classificação
(274)
Projetos
403
28%
Arbitragem
40
40% / 50%
Expirado
1
0%
Livre
5
Desenvolvedor 5
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
6
Desenvolvedor 6
Classificação
(85)
Projetos
175
44%
Arbitragem
3
100% / 0%
Expirado
5
3%
Livre
Publicou: 1 código
7
Desenvolvedor 7
Classificação
(70)
Projetos
91
25%
Arbitragem
26
19% / 54%
Expirado
25
27%
Livre
8
Desenvolvedor 8
Classificação
(369)
Projetos
459
55%
Arbitragem
24
58% / 17%
Expirado
31
7%
Trabalhando
9
Desenvolvedor 9
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Trabalhando
10
Desenvolvedor 10
Classificação
(11)
Projetos
15
20%
Arbitragem
6
0% / 100%
Expirado
3
20%
Livre
11
Desenvolvedor 11
Classificação
(5)
Projetos
5
60%
Arbitragem
1
0% / 0%
Expirado
2
40%
Livre
Publicou: 1 código
12
Desenvolvedor 12
Classificação
(162)
Projetos
289
35%
Arbitragem
18
22% / 61%
Expirado
43
15%
Livre
13
Desenvolvedor 13
Classificação
(62)
Projetos
90
29%
Arbitragem
24
13% / 58%
Expirado
7
8%
Trabalhando
14
Desenvolvedor 14
Classificação
(64)
Projetos
145
46%
Arbitragem
21
38% / 24%
Expirado
32
22%
Livre
15
Desenvolvedor 15
Classificação
(298)
Projetos
478
40%
Arbitragem
105
40% / 24%
Expirado
82
17%
Carregado
Publicou: 2 códigos
16
Desenvolvedor 16
Classificação
(319)
Projetos
574
35%
Arbitragem
83
31% / 45%
Expirado
207
36%
Livre
17
Desenvolvedor 17
Classificação
(20)
Projetos
26
38%
Arbitragem
6
33% / 50%
Expirado
0
Livre
18
Desenvolvedor 18
Classificação
(1)
Projetos
1
0%
Arbitragem
0
Expirado
0
Livre
19
Desenvolvedor 19
Classificação
(78)
Projetos
247
74%
Arbitragem
7
100% / 0%
Expirado
1
0%
Livre
Publicou: 2 artigos, 1 código
Pedidos semelhantes
I have an existing compiled MetaTrader 5 Expert Advisor (EX5) designed for automated XAUUSD scalping. I want an experienced developer to assess and implement a solution to execute the EA’s original trading strategy through my broker’s FIX API. Requirements: Confirm the technical feasibility of connecting an existing MT5 EA to a broker FIX API. Explain how to obtain FIX API access and credentials from the broker
I’m looking for an experienced developer to build a fully automated XAUUSD scalping EA for MT5. Requirements: * Fast entries targeting small, profitable moves after trading costs. * Configurable fixed-target and trailing-stop modes. A $1 gold price move can trigger profit protection instead of closing the trade. * Once the profit trigger is reached, move the stop to cover costs and lock in a small net profit, then
I want to create an EA that will take trades according to a trading zone condition. The logic will start with the identification of a trading zone for BUY and SELL in the EA. After the trading zone has been identified, then the EA will use the current time frame prices to determine if the market will be a BUY or SELL. The market will be a BUY if the low price range goes above the lowest price after the installation
I am looking for a highly skilled trading strategist and MQL5 developer with genuine experience in researching, designing, testing, and implementing systematic trading strategies. My primary interest is XAUUSD (Gold), although proven experience with other financial markets is also welcome. I am not looking for someone who simply converts trading rules into code. I want to identify a professional who understands
Trading 35+ USD
Project: XAUUSD Gold Trading Robot for MetaTrader 5 I want to develop a fully automated Expert Advisor (EA) for MetaTrader 5, designed exclusively for Gold (XAUUSD) and compatible with the Exness broker. Trading Strategy: Liquidity + CHOCH + Retest Identify important buy-side and sell-side liquidity zones using previous highs and lows, equal highs/lows, and confirmed swing points. Wait for a clear liquidity sweep
i want to fix my gold martingale bot MT5. RSI 14 ENTRY 30 BUY 70 SELL Lot 0.02 0.04 0.07 TP 150 for all SL 90 30 30 once total daily profit is 200$ stop trading stop trading once 2 consecutives total losses stop trading if spread exceeded 30 and between hour 15 & 17 PM Move SL to breakeven point once the profit exceeded 50 from from breakeven thanks
MarketMind Breakout Pro XAUUSD H1 — Donchian Breakout EA Project type: Personal EA development and backtesting Platform: MetaTrader 5 Instrument: XAUUSD Timeframe: H1 Strategy: Donchian Channel breakout with EMA 200 Project overview This project evaluates a Donchian breakout trading strategy for XAUUSD on the H1 timeframe. The system uses channel-based breakout conditions and an EMA 200 trend filter. Historical
Title: Fully Automatic MT5 Trading Bot (Expert Advisor) with Risk Management I want a fully automated trading robot (Expert Advisor) for MetaTrader 5, written in MQL5. The bot must automatically analyse market data, identify trading opportunities, execute BUY and SELL orders, manage open positions, and close trades according to predefined rules without requiring manual confirmation for each trade. Requirements
I have three indicators that operate independently. I want to combine them into one indicator with custom expert programming that automatically enters trades when a signal is generated by one of the indicators. I will pay for this service Thanks you
Existing EA: NEW_CORE_ORB_M5_v021 | MT5 | XAUUSD M5 Early-stage research prototype, not a new EA from scratch. Need an experienced MQL5 developer to audit, complete, repair, improve and test BOTH independent strategies equally: Opening Range Breakout (ORB) and Scalp. Keep code lightweight and preserve an untouched baseline. No unnecessary rewrite or complex filters. 1. ORB Strategy Verify opening-range construction

Informações sobre o projeto

Orçamento
150 - 200 USD
Prazo
de 1 para 3 dias