Termos de Referência
Preciso de um indicador/robô que execute a estratégia abaixo:
VEJA IMAGEM 1
FASES 1 E 3: MARCAÇÃO DO OPEN CHANNEL
1) Marcar o OC (Open Channel)
1.1) Usuário define o OC (ex: 3363.82 a 3376.31)
1.2) O indicador define o OC
1.2.1) Com base no último topo e último fundo relevantes (formarão o canal), com um parâmetro que deverá ser indicado pelo usuário (canal mínimo: X pontos, canal máximo: Y pontos)
1.2.2) Com base no topo e fundo mais relevantes do dia selecionado (deixar disponível para o usuário selecionar o dia anterior ou o dia corrente, tendo por parâmetro a hora oficial do MT5), na região de maior negociação, e observando canal mínimo: X pontos, canal máximo: Y pontos.
1.2.3) ATENÇÃO: para fins de backtest, deve-se considerar, neste item 1.2, que o indicador/EA definirá o OC com base no dia anterior ao dia de operação, necessariamente. Portanto, a cada dia será formado um novo OC, e ele será sempre referente o dia anterior ao operacional (exemplo: backtest mês de abril de 2025 - no dia 01, o indicador/EA irá definir o OC com base no dia 31 de março; no dia 02, o indicador/EA irá definir o OC com base no dia 01 de abril, e assim sucessivamente).
1.3) ATENÇÃO: este parâmetro deve ser escolhido no momento da alocação do indicador no gráfico, não podendo o EA alterá-lo sozinho depois. Uma vez definido pelo usuário ou sistema, só pode ser alterado por interação do usuário, jamais podendo ser alterado pelo EA ou pelo próprio indicador
VEJA IMAGEM 2
2) Uma vez marcado o OC, com base no item 1, teremos o Open Channel formado
2.1) Este Open Channel deverá ser projetado até o dia operacional, caso o preço tenha aberto fora dele (00h do MT5 para pares de moeda, e 01h do MT5 para XAU/USD), de modo que o Open Channel abranja, dentro dele, a abertura do candle do dia.
2.2) Nada impede que o OC seja formado em outro momento que não seja o fim do dia anterior. Ele poderá ser formado pelo indicador/robô ao longo do dia, caso escolhido o item 1.2.2, por exemplo.
2.2.1) Neste caso, a projeção deve ser feita na mesma proporção, até que a abertura do primeiro candle do dia esteja contida dentro do OC.
VEJA IMAGEM 3
FASE 3: DEFINIÇÃO DO FIRST CYCLE
3) Definido o OC para o dia operacional, e já aberto o mercado do dia operacional, com a abertura do primeiro candle dentro do OC, deve-se aguardar o rompimento de uma das linhas do OC, com o fechamento completo do candle no time frame escolhido pelo usuário (M1, M2, M5, M15, M30, H1 ou H4)
3.1) Se o OC for rompido para cima, deve ser projetado um novo canal para cima, replicado o OC, que irá ser chamado de 1C (First Cycle)
3.2) Se o OC for rompido para baixo, deve ser projetado um novo canal para baixo, replicado o OC, que irá ser chamado de 1C (First Cycle)
FASE 4: DEFINIÇÃO DO OPEN CHANNEL + FIRST CYCLE
4) A partir deste momento, teremos definidos o OC e o 1C
VEJA IMAGENS 4 E 5 (HIPÓTESES 1, 2 E 3 RESPECTIVAMENTE)
FASE 5: PRIMEIRA ENTRADA
5) Nesta fase, o EA já irá dar entrada (ou não, a depender do usuário)
5.1) HIPÓTESE 1 (selecionado pelo usuário - ele selecionará a hipótese 1 ou a hipótese 2) - nomear como "Entrada direta"
5.1.1) Para concretizar esta entrada, o candle (no time frame escolhido pelo usuário, conforme item 3), deverá romper OC ou o 1C, considerando o fechamento do candle
5.1.2) Rompido o OC ou o 1C, o EA deve posicionar uma entrada a favor do movimento de rompimento, a X pontos da última linha marcada (OC ou 1C, conforme o caso), a ser definido pelo usuário (exemplo: após o rompimento do OC para cima, a entrada de compra deverá estar a 30 pontos da última linha do OC na extremidade de cima / exemplo 2: após o rompimento do 1C para baixo, a entrada de venda deverá estar a 35 pontos da última linha do 1C na extremidade de baixo)
5.1.2.1) Precisa ter uma opção para que o usuário selecione uma trava de horário do MT5 do mesmo dia
5.1.3) O robô deverá observar o spread da corretora para que ao apregoar a ordem não dê erro, sendo permitido entrar a mercado caso a pontuação definida pelo usuário no item 5.1.2 coincida com o spread.
5.1.4) O stop loss da ordem deverá estar na outra extremidade (ou do 1C ou do OC, conforme o canal se formou), X pontos depois da linha (definido pelo usuário)
5.1.5) O take profit da ordem deverá estar a X projeções do stop, conforme definido pelo usuário (exemplo: OC + 1C = 1000 pontos / entrada: 3250.10, stop: 3100.00, take: 0.5x, 1x / 1.5x / 2x, 2.5x, 3x o stop)
5.1.5.1) O EA deverá permitir que o usuário selecione o nível de take profit de acordo com o número de pontos do stop (exemplo: se a projeção do stop loss < 1500 pts, então take 2x / se a projeção do stop loss > 1500 pts < 2500 pts, então take 1.5x, se a projeção do stop loss > 2500 pts - EXEMPLIFICATIVO, permitir que o usuário selecione da maneira que achar melhor, desde que de 500 em 500 pontos, sendo o nível mínimo de 0 a 500, a partir daí então de 500 em 500, e o nível máximo 4000)
5.1.6) O EA poderá, a critério do usuário, arrastar a ordem para o breakeven + 40 pontos (XAU/USD) ou + 10 pontos (pares de moeda) ao atingir X projeções do stop (continuando o exemplo do item 5.1.5, breakeven a 0.5x da projeção do stop, a 1x da projeção do stop, a 1.25x do stop, a 1.5x e a 2x da projeção do stop)
5.1.7) O EA poderá, a critério do usuário, realizar trailling stop, seguindo os parâmetros do item 5.6, após o breakeven.
5.1.8) O usuário terá a opção de desprezar a primeira entrada e realizar apenas a segunda entrada
5.2) HIPÓTESE 2 (selecionado pelo usuário) - Nomear como "Teste no 50%"
5.2.1) Nesta hipótese 2, o item 5.1.1 acima deve ser observado igualmente
5.2.2) Rompido o OC ou o 1C, o EA deve AGUARDAR o preço retornar ao 50% (ou seja, a linha do meio considerando OC + 1C).
5.2.3) Após o teste nos 50%, o EA deverá esperar o novo retorno do preço a alguma extremidade (de cima ou de baixo), quando então observará os itens 5.1.2 em diante.
5.2.4) Perceba que a única diferença da hipótese 1 para a hipótese 2, é que na hipótese 2, após o rompimento de OC ou 1C, o EA aguarda um teste na região de 50% (linha do meio), para somente depois disso aguardar um novo rompimento de OC ou 1C, quando então efetuará a ordem.
5.2.5) O usuário terá a opção de desprezar a primeira entrada e realizar apenas a segunda entrada
5.2.6) O usuário terá a opção de desprezar entrada se o preço não retornar "a X pontos da última linha marcada", conforme item 5.1.2, caso ele alcance 1x, 1.5x ou 2x projeções de stop (definido pelo usuário)
5.2.7) O usuário terá a opção de realizar a entrada, nesta hipótese 2, com um rompimento com o candle fechado (ordem apregoada ou a mercado, conforme já explicado no item 5.1.2 e 5.1.3) ou somente o toque na extremidade (entrada a mercado)
5.2.8) Considerar o teste no 50% quando o preço chegar a proximidade de 90% da linha do meio (OC/1C)
5.3) HIPÓTESE 3 (selecionado pelo usuário) - Nomear como "Entrada no 50%"
5.3.1) ATENÇÃO: Esta hipótese somente é aplicável na PRIMEIRA ENTRADA ou na SEGUNDA ENTRADA quando o usuário desabilitou a primeira entrada (ou seja, não se aplica à segunda entrada caso haja stop loss ou take profit na primeira entrada)
5.3.2) ATENÇÃO: Esta hipótese não se aplica à entrada de reversão, em nenhuma situação, pois a reversão se dá a mercado no mesmo local do stop loss.
5.3.3) Para esta hipótese 3, depois do rompimento de OC/1C com o candle fechado ou ainda em formação (escolha do usuário), o EA irá apregoar uma ordem nos 50% do canal (OC + 1C), de compra ou venda, no mesmo sentido em que foi o rompimento. Exemplo: imaginando o OC em cima, e o 1C embaixo, o preço tocou ou rompeu (opção do usuário) a extremidade inferior do 1C, neste momento o EA apregoa uma ordem de VENDA no 50% / Exemplo 2: imaginando o OC em cima, e o 1C embaixo, o preço tocou ou rompeu (opção do usuário) a extremidade superior do OC, neste momento o EA apregoa uma ordem de COMPRA no 50%. O stop será o mesmo das hipóteses anteriores, ou seja, posicionado para o final oposto da OC/1C + X pontos.
5.3.4) Quanto ao take profit, breakeven e trailling stop, manter os parâmetros "Baseado na distância do stop", de 1x, 1.5x, 2x, 2.5x, 3x, 3,5x, 4x.
VEJA IMAGEM 6
FASE 6: SEGUNDA ENTRADA
6) Nesta fase, o EA irá ou não dar uma entrada, conforme a seguir será explicado
6.1) Se, na primeira entrada, o resultado for TAKE PROFIT (completo, desconsiderar os 50 ou 10 pontos do breakeven), o robô não faz a segunda entrada
6.2) Se, na primeira entrada, o resultado for STOP LOSS (completo, desconsiderar o breakeven), o robô fará uma segunda entrada exatamente no preço de stop, a mercado (com validade da entrada até 6PM horário oficial do MT5 do mesmo dia)
6.3) Se o usuário optou por não fazer a primeira entrada (itens 5.1.8 e 5.2.5), esta será efetivamente a sua primeira entrada, portanto o EA deverá seguir os parâmetros definidos no item 5
6.4) Os parâmetros de take profit, stop loss, breakeven e trailling stop serão iguais aos do item 5
6.5) Caso haja stop loss (inclusive breakeven) na segunda entrada, o EA não fará mais entrada naquele dia
6.5.1) Se esta for a primeira entrada do usuário, conforme itens 5.1.8 e 5.2.5 e 6.3, o EA deverá seguir para a terceira entrada (efetivamente a segunda entrada do usuário), em caso de stop loss, igual aos parâmetros definidos nos itens 6.2 e 6.4.
6.6) O usuário terá a opção de desprezar entrada se o preço não retornar "a X pontos da última linha marcada", conforme item 5.1.2, caso ele alcance 1x, 1.5x ou 2x projeções de stop (definido pelo usuário)
OBSERVAÇÃO
1) A estratégia do robô precisa estar visualmente visível no gráfico (especialmente as linhas traçadas e os OC e 1C)
2) Abaixo, estará a síntese do menu do EA. Reversão/reversion é igual a segunda entrada, caso tenha havido stop loss na primeira entrada, significa a mesma coisa.
3) Reversão/reversion é como se fosse uma terceira entrada, caso o usuário tenha optado por desligar a primeira entrada, mas tenha feito a segunda entrada com stop loss.
CÓDIGO FONTE
Solicito o envio do código-fonte criado durante o processo de desenvolvimento.
Síntese do menu do EA
Redmathe EA
Time frame: M1, M2, M5, M15 e M30
Open Channel
1) By user
2) By indicator
2.1) Last relevants high and low
2.2) Most relevants day high and low on higher volume region
First entry
1) On or off
2) Method (Direct entry, 50% test or 50% entry)
3) Points away the line
4) Lot mode (Money risk, balance % risk, equity % risk or fixed lot)
5) Take profit
6) Stop loss (points after OC + 1C)
7) Breakeven
8) Trailling stop
9) Reversion: on or off
10) Hour limit
Second entry
1) On or off
2) Method (Direct entry, 50% test or 50% entry)
3) Points away the line
4) Lot mode (Money risk, balance % risk, equity % risk or fixed lot)
5) Take profit
6) Stop loss (points after OC + 1C)
7) Breakeven
8) Trailling stop
9) Reversion: on or off
10) Hour limit
Respondido
1
Classificação
Projetos
2873
63%
Arbitragem
121
45%
/
26%
Expirado
429
15%
Livre
2
Classificação
Projetos
55
5%
Arbitragem
33
0%
/
97%
Expirado
24
44%
Trabalhando
3
Classificação
Projetos
5
0%
Arbitragem
3
0%
/
33%
Expirado
1
20%
Livre
4
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
5
Classificação
Projetos
49
8%
Arbitragem
0
Expirado
0
Livre
6
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
7
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
8
Classificação
Projetos
469
39%
Arbitragem
102
40%
/
24%
Expirado
77
16%
Carregado
Publicou: 2 códigos
9
Classificação
Projetos
0
0%
Arbitragem
1
0%
/
100%
Expirado
0
Livre
Pedidos semelhantes
Gold MetaLockDay EA
30+ USD
//+------------------------------------------------------------------+ //| Gold MetaLockDay EA (MT5) | //| Meta líquida diária com MIX de entradas (XAUUSD) | //+------------------------------------------------------------------+ #property strict #include <Trade/Trade.mqh> CTrade trade; //======================== INPUTS ========================// input string InpSymbol = ""; //
Preciso de um desenvolvedor com experiência comprovada em MQL5 , especificamente em automação de alertas do MetaTrader 5 com envio automático de mensagens e prints para canal do Telegram . O projeto não é do zero . Já possuo: Código do indicador / lógica em MQL5 Biblioteca de integração com Telegram (API já pronta) O trabalho consiste em ajustar / implementar um Expert Advisor para que, quando um alerta específico
Informações sobre o projeto
Orçamento
70 - 200 USD
Prazo
para 15 dias