Preciso de um expert advisor que utiliza preço de fechamento do dia anterior e preço de abertura do dia atual para a tomada de posição

İş Gereklilikleri

Versão: MT5

Mercado: B3 

IMPORTANTE: O Código fonte do EA deve ser fornecido junto com o EA.

Boa noite,

Preciso de um robô que execute ordens assim que o mercado sai do leilão. O funcionamento é muito simples, se o papel abrir com uma variação de x,xx % positiva tenho um sinal de venda, o robô vende a mercado na abertura e meu alvo é y,yy% do tamanho do gap, ou seja y,yy % de x,xx %. Vice-versa, se temos uma abertura em um preço mais baixo que o de fechamento do dia anterior, então iremos entrar comprados. Vamos a um exemplo que acredito que ficará mais compreensível:

Suponhamos que o robô iria operar no dia de hoje (29/10/2019):

Capital disponível: R$ 100.000,00


TICKER: PETR4

Preço de fechamento do dia anterior (28/10/2019): R$ 29.60

Preço de abertura do dia de operação (29/10/2019): R$ 29.40

GAP Abertura = 29.40/29.60 = -0.676%


Configuração do robô: 

1- Tamanho do gap: >= R$ 0,10 (quero que seja possível colocar também valor %, no caso seria >= 0.10/29,60 = 0.338%)

2- Alvo da operação: 1,00 * GAP (sempre em relação ao tamanho do gap, neste exemplo seria buscar R$ 0.20 ou seja, 0.676%)

3- Tamanho da mão: 20% do capital (20.000,00)


Operação esperada:

Já que o GAP é de baixa, ou seja, o preço de abertura do dia de hoje é menor que o preço de fechamento do dia de ontem o robô deverá entrar comprado.
Portanto o robô abre uma posição a mercado no momento em que a ação PETR4 sair do leilão. Comprando R$ 20000,00/R$29,60 = 675, arredondando para baixo, o robô entraria comprado em 600 açoes de PETR4 a um preço de R$29,40.

Imediatamente o robô já enviaria a ordem Take Profit, ou seja, mirando 1,00*GAP = 1,00*R$ 0,20 = 0,20. Sendo assim, colocaria uma ordem de venda de 600 ações a um preço de R$ 29,60.

Se a ordem não for executada até 16:40, sair da posição a mercado. Se a ordem for executada, porém apenas paricalmente (exemplo: vendeu 500 ações apenas) o robô deverá executar uma ordem a mercado saindo do restante da posição daquele papel.

O robô deve ser capaz de fazer isto em até 5 papéis diferentes sem que influenciem os comportamentos mutuamente. Ou seja, cada papel opera independentemente. 
O robô deve ser capaz de não ser influenciado caso uma posição seja aberta em outro terminal do MT5 na mesma conta, por exemplo, se eu abrir uma posição em PETR4 pelo celular enquanto o terminal do meu computador executa o robô, a minha posição pelo celular e pelo computador deverão ser independentes.

Além disso necessito de um botão de pânico, que quando pressionado, verifica as posições em cada um dos papéis escolhidos para se operar e executa uma ordem de saída das posições (zeragem de pânico).

Listo agora o conteúdo do painel de controle:

Botão Pânico -> Verifica as posições abertas e zera todas elas.

Botão de seleção de papéis -> Até 5 TICKERS digitando o código de negociação e adicionando numa lista que é mostrada no menu ao lado, exemplo: PETR3, GGBR4, VALE3, ABEV3, EMBR3, etc...

Tela de STATUS: Mostra todas as posições abertas pelo robô, seu atual GAIN ou LOSS e a distância para o alvo.

Tela de configurações contendo:

O tamanho mínimo da diferença entre o preço de abertura do dia atual e o preço de fechamento do dia anterior para que o robô opere naquele TICKER. (Sendo possível escolher entre diferença % ou diferença absoluta em R$ e sendo possível escolher o valor 0,00, ou seja, entrar em qualquer tamanho de gap e no caso de não haver diferença entre os preços o robô deverá entrar comprado, buscando um alvo determinado para cada papel)

Alvo da operação: qual será o preço que o papel enviará a ordem take profit (sempre em relação à diferença de preço observada no dia em relação ao preço de fechamento do dia anterior)

Tamanho da mão para cada um dos papéis: sempre em relação ao capital disponível.


Se possível desejo que seja possível fazer um backtest desta estratégia selecionando um papel específico e configurando o robô.


Acredito que dá para mensurar o tamanho do trabalho com esta explicação. Qualquer dúvida estou à disposição.

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(2423)
Projeler
3045
66%
Arabuluculuk
77
48% / 14%
Süresi dolmuş
340
11%
Serbest
2
Geliştirici 2
Derecelendirme
(11)
Projeler
17
59%
Arabuluculuk
2
0% / 100%
Süresi dolmuş
2
12%
Serbest
3
Geliştirici 3
Derecelendirme
(253)
Projeler
408
38%
Arabuluculuk
86
43% / 19%
Süresi dolmuş
70
17%
Yüklendi
4
Geliştirici 4
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
5
Geliştirici 5
Derecelendirme
(475)
Projeler
504
53%
Arabuluculuk
10
60% / 20%
Süresi dolmuş
3
1%
Serbest
6
Geliştirici 6
Derecelendirme
(563)
Projeler
932
47%
Arabuluculuk
301
59% / 25%
Süresi dolmuş
124
13%
Çalışıyor
Benzer siparişler
//+------------------------------------------------------------------+ //| SimpleEA.mq5| //| Copyright 2023, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "2023, MetaQuotes Software Corp." #property link " https://www.mql5.com " #property version "1.00" #property strict input int FastMAPeriod = 12; // Período da média

Proje bilgisi

Bütçe
30 - 200 USD
Geliştirici için
27 - 180 USD
Son teslim tarihi
to 90 gün