Preciso de um EA baseado em indicadores de médias móveis

MQL5 Experts

Trabalho concluído

Tempo de execução 6 dias

Termos de Referência

O EA abre operações no cruzamento de duas médias móveis no timeframe configurado, ou seja, quero usá-lo em candles de 1H, 30min, 15min, etc. Vou utilizar esse EA para operar na papéis da Bovespa bem como criptomoedas. Portanto, não sei se há alguma configuração adicional a ser incluída.

* Favor inserir comentários no código de forma a possibilitar futuras atualizações

Indicadores:

1)      Média Móvel Aritmética com P1 períodos – MMA_P1

2)      Média Móvel Aritmética com P2 períodos – MMA_P2

3)      Média Móvel Aritmética com P3 períodos  – MMA_P3

4)      Média Móvel Exponencial com P4 períodos – MME_P4

5)      Média Móvel Exponencial com P5 períodos – MME_P5

 

·         Parâmetros: P1, P2, P3, P4 e P5 configuráveis

 

Vou chamar agora o indicador DME como sendo a diferença entre os indicadores 4 e 5 da lista acima.  DME = MME_P4 - MME_P5

Ordem de compra:

- condições:

1) Indicador DME maior do que Var1

2) Indicador MMA_P2 maior do que MMA_P1 (cruzamento de média móvel)

- Se o preço for Var2% acima da MMA_P1, lançar uma ordem de compra no valor da MMA_P1.

- Se o preço for Var2% abaixo da MMA_P1, lançar uma ordem de compra no valor atual do book de ofertas.

--> Exemplos

Caso 1 - Na abertura do candle, caso sejam atendidas as duas condições acima, supomos que o preço = 10, MMA_P1 = 9 e Var2% = 2%. Então o EA vai lançar uma ordem de compra no preço de 9. Ou seja, o preço maior do que 2% da MMA_P1.

Caso 2 - Na abertura do candle, caso sejam atendidas as duas condições acima, supomos que o preço = 10, MMA_P1 = 9,9 e Var2% = 2%. Então o EA vai lançar uma ordem de compra no preço de 10.

Com a ordem de compra lançada, mas ainda não executada, em cada abertura de candle verificar se as duas condições acima ainda estão sendo satisfeitas. Caso contrário, encerrar a ordem de compra. Verificar se o preço de abertura do candle é menor ou igual a MMA_P3, e nesse caso encerrar a ordem de compra.

               

Ordem de venda:

- assim que efetuar uma compra, lançar uma ordem stop com a seguinte configuração para preço de disparo e preço de venda.

Preço de disparo: MMA_P1 – Var3% *MMA_P1

Preço de venda:   MMA_P1 – Var4%*MMA_P1

 

Disparo Var3% abaixo do valor de MMA_P1 e venda Var4% abaixo do valor de MMA_P1. Por exemplo: MMA_P1 = 10 e Var3% = 2%, Var4% = 3%, então lança a ordem com preço de disparo em 9,8 e preço de venda 9,7.

A cada abertura de candle, checar se MMA_P1 aumentou Var5%. Caso negativo, nada a ser feito. Caso positivo, alterar a ordem stop de venda com a configuração abaixo. Ou seja, como um stop móvel.

Preço de disparo: MMA_P1 – Var6% *MMA_P1

Preço de venda:   MMA_P1 – Var7%*MMA_P1

 

Após a concluída a venda, o EA monitorará o preço para nova compra. Repetindo o procedimento acima.

Gostaria de controlar de alguma maneira a quantidade de lotes a serem comprados, com um parâmetro NLOTES.

Parâmetros:

P1, P2, P3, P4 , P5, Var1, Var2, Var3, Var4, Var5, Var6, Var7, NLOTES


Respondido

1
Desenvolvedor 1
Classificação
(414)
Projetos
670
33%
Arbitragem
60
17% / 32%
Expirado
113
17%
Trabalhando
2
Desenvolvedor 2
Classificação
(46)
Projetos
80
13%
Arbitragem
11
0% / 91%
Expirado
51
64%
Livre
3
Desenvolvedor 3
Classificação
(94)
Projetos
130
9%
Arbitragem
8
25% / 38%
Expirado
28
22%
Trabalhando

Informações sobre o projeto

Orçamento
50+ USD
Prazo
de 5 para 15 dias