Tutorial simples de sistema de comércio de suporte à resistência para o EA Wizard
Neste artigo vamos mostrar como construir um sistema comercial semi-automático simples baseado em níveis de suporte e resistência (níveis S/R). O sistema terá as seguintes características:
Os preços para os níveis S/R serão definidos pelo usuário através do uso de parâmetros de entrada. Caso contrário, a EA os colocará automaticamente no gráfico acima e abaixo do preço de mercado atual.
uma vez que a última barra baixa atravessa acima do nível S e fecha acima do preço da barra aberta, a EA abrirá uma posição longa
uma vez que a última barra alta cruze abaixo do nível R definido e a barra feche abaixo de sua abertura, a EA abrirá uma posição curta
você será capaz de limitar o número de negócios abertos por cada nível S/R, assim como os tamanhos de stop-loss e profit-target
a EA utilizará o % fixo das regras de gestão de fundos próprios da conta
o EA também desenhará linhas correspondentes aos níveis S/R definidos para que você possa facilmente modificá-los diretamente nos gráficos
Estabelecendo o básico
O que precisamos fazer primeiro é configurar nosso nome EA e nossas regras de gerenciamento de dinheiro. Eis como fazer isso:
O mais feito nesta etapa é óbvio, mas vamos nos concentrar nas variáveis por um momento. Passaremos por elas enquanto explicamos o significado:
últimoSuporte - este é o preço informado para o nível S. Ele será automaticamente ajustado no início da EA e depois poderá ser modificado alterando o parâmetro ou modificando a linha de suporte diretamente no gráfico. lastResistance - este é o preço informado para o nível R. Ele será automaticamente ajustado no início da EA e depois poderá ser modificado alterando o parâmetro ou modificando a linha de resistência diretamente no gráfico. tradesLongCounter - esta variável será usada para armazenar o número de negócios longos realizados com o último nível S/R definido tradesShortCounter - esta variável será usada para armazenar o número de negócios curtos realizados com o último nível S/R definido
OBSERVAÇÃO: incorporamos estes "balcões de negociação" para limitar o número máximo de negociações executadas por cada nível definido. Precisamos disso para evitar o excesso de negociação enquanto não esperamos mais de 3 negociações em cada nível S ou R definido. Também precisamos reiniciar estes contadores uma vez que modificamos o nível S ou R para um novo preço para que a EA possa começar de novo.
maxTradesPerSR - o número máximo de negócios permitidos por cada nível S/R PT, SL - estas são distâncias das ordens stop-loss e profit-target expressas em número de pips
Para as regras de administração do dinheiro, pretendemos arriscar não mais do que 3% de nossa conta por cada operação com o tamanho máximo possível de 5 lotes.
Também precisamos ter certeza de que as regras globais de gerenciamento de dinheiro funcionarão corretamente com nossos tamanhos PT e SL definidos, então vamos mudar para a aba SL/PT:
Configurando os níveis de S/R
Uma vez definidas todas as entradas necessárias, podemos passar para a próxima tarefa - criar regras e lógica para a própria EA.
Precisamos que nossa EA tenha preços S/R editáveis (como inputs), mas ainda precisamos que a EA funcione de forma inteligente, ou seja, que desenhe linhas horizontais mesmo sem entrar em nenhum valor de preço específico, uma vez que carregamos nossa EA. Aqui está como fazer isso:
se LastSupport = 0 OU lastResistance = 0 - Caso não tenhamos definido nenhum preço específico para a carga da EA, deixe que a EA a defina por conta própria então:
Se você não definir nenhum preço específico para o nível S ou R no momento em que você carregar o EA, o EA o fará automaticamente colocando 100 pips acima da corrente alta (para o nível R) e 100 pips abaixo da corrente baixa (para o nível S). Estamos usando o ConvertToRealPips(pips) funcionam aqui para adicionar e subtrair 100 pips (pips tem que ser convertidos em uma diferença de preço para esse fim).
Desenho de níveis S/R em um gráfico
É aqui que entra em jogo o verdadeiro poder do EA Wizard. Se você não tiver determinada função necessária disponível no EA Wizard, você pode simplesmente adicioná-la usando o código MQL4 personalizado.
Precisamos acrescentar uma condição que verifique se alguma dessas linhas horizontais (R OU S) já estão em vigor na tabela. Podemos usar uma função útil chamada ObjectFind("nome do objeto") para isto (lembre-se das citações que devem ser usadas aqui). Se as linhas não existirem no gráfico (função ObjectFind retorna número menor que zero), podemos desenhá-las na próxima etapa.
CustomFunction: ObjectFind("resistência1") < 0 OU CustomFunction: ObjectFind("suporte1") < 0
Para traçar as linhas, utilizamos o ObjectCreate função como é definida no Manual de linguagem MQL4 para criar novos objetos de linha horizontal.
A função requer vários parâmetros:
"suporte1"., "resistência1". são nomes que usamos para nossas linhas, pois cada objeto no MetaTrader deve ter definido seu próprio nome.
OBJ_HLINE define o tipo de objeto que queremos desenhar. Neste caso, precisamos traçar uma linha horizontal
0 - O valor "zero" aqui representa o índice de janela. 0 significa o gráfico principal que queremos utilizar
Tempo[0] - estamos referenciando o ponto de desenho na última barra
últimoSuporte e lastResistance são os preços que queremos que nossas linhas S/R sejam afixadas em
Note também que usamos Log To Journal para que possamos monitorar o comportamento da EA durante seu funcionamento. Esta função é muito útil, especialmente se você precisar observar o que acontece com certas variáveis de valor
Atualização de preços S/R
Se você modificar o nível S ou o nível R no gráfico, você precisa de sua EA para registrar essa mudança. Para conseguir isso, precisamos ler os preços atuais para ambas as linhas, quer elas correspondam a últimoSuporte e lastResistance variáveis. Uma vez detectadas algumas mudanças, precisamos atualizar essas variáveis.
Lembre-se, uma vez que atualizamos os preços S/R, também queremos redefinir o contador de negociações para que a EA possa negociar livremente o novo nível de preços até um limite pré-definido - maxTradesPerSR.
Usamos outra função MQL4 para isso. ObjectGet(). Esta função permite obter informações de uma determinada propriedade de objeto como o preço por exemplo. Esta função requer o nome do objeto e a constante de propriedade correta que estamos tentando obter (neste caso é o preço principal - PREÇO1).
E nós fazemos o mesmo para nosso nível S:
Negociação dos níveis de S/R - colocação dos pedidos
Quando tivermos tudo o que precisamos preparado, poderemos começar a definir regras comerciais para ambas as direções.
Comecemos com a longa condição primeiro:
Baixo[1] Cruzes Acima do últimoSuporte - para um sinal longo válido consideramos uma situação em que o baixo preço cruza acima do nível S definido MarketPosição é plana - não há outra posição existente já aberta IsBarOpen é Verdadeiro - avaliar a condição apenas uma vez por cada barra comÉrcioLongCounter < maxTradesPerSR - comércio somente se o limite comercial não for alcançado
Se a condição acima se tornar válida, podemos colocar uma longa ordem de mercado com o número mágico 1000. Também temos que aumentar em 1 o valor do contador para os negócios longos (para contar o último negócio longo). Isto é feito usando o Atribuir variável e o Acréscimo funções.
Não se esqueça de definir adequadamente o tamanho do PT e SL também com o tamanho do lote para cada comércio, conforme mostrado na captura de tela.
Agora temos que fazer o mesmo para o lado curto:
A principal diferença aqui está dentro da condição de cruz. Queremos ver um bar Alto[1] para atravessar abaixo nosso nível R definido. Para o ordem de mercado curta também temos que usar um número mágico diferente (2000 no nosso caso) porque no MetaTrader cada pedido tem um número mágico único atribuído.
Neste momento, temos nossa EA completa. O último passo aqui é exportar o código para um arquivo EA e testar a EA no MetaTrader4 usando o backtester ou o regime simulado.
Uma vez salvo o EA, podemos iniciar o backktester MT4 para verificar sua função.
O EA Wizard será capaz de usar um certo número de velas em horas específicas (se for uma tabela horária) para identificar os níveis de resistência de suporte e abrir e fechar negócios com base nesses níveis? Por exemplo, em uma tabela horária, desenhe as linhas resistentes e de suporte com base na maior alta e na menor baixa das velas fechadas às 3, 4 e 5 da manhã.
krikri
25. 2. 2018 12:00 pm
Olá, Tomás262,
muito bom trabalho, onde posso encontrar o arquivo sqw deste EA (sistema de comércio de resistência de suporte)?
Vou compartilhar com vocês uma estratégia muito simples, baseada em um padrão de castiçal forte e facilmente perceptível. Eles a chamam de "Lucky Spike". Todos podem aprendê-lo, usá-lo e ganhar dinheiro com ele. Há comerciantes que ganham a vida comercializando exatamente este padrão. Basta dar uma olhada neste ebook que estou dando gratuitamente:==> http://www.forexmystery.com?hgd4h84gdh
Vou compartilhar com vocês uma estratégia muito simples, baseada em um padrão de castiçal forte e facilmente perceptível. Eles a chamam de "Lucky Spike". Todos podem aprendê-lo, usá-lo e ganhar dinheiro com ele. Há comerciantes que ganham a vida comercializando exatamente este padrão. Basta dar uma olhada neste ebook que estou dando gratuitamente:==> http://www.forexmystery.com?hgd4h84gdh
Trading smart means making the most of your time and resources, especially when comparing your current trading results with historical data. That’s where Quant Analyzer steps in, offering a streamlined …
We’d like to announce the release of the new SX 139 Dev 1 version – note that this is a development version for testing, not the final 139 version. Most …
Dive into Algorithmic Trading Without the Coding Headache! Are you intrigued by algorithmic trading but dread the thought of coding? Today marks the beginning of our exciting series that’s about …
O EA Wizard será capaz de usar um certo número de velas em horas específicas (se for uma tabela horária) para identificar os níveis de resistência de suporte e abrir e fechar negócios com base nesses níveis? Por exemplo, em uma tabela horária, desenhe as linhas resistentes e de suporte com base na maior alta e na menor baixa das velas fechadas às 3, 4 e 5 da manhã.
Olá, Tomás262,
muito bom trabalho, onde posso encontrar o arquivo sqw deste EA (sistema de comércio de resistência de suporte)?
cumprimentos
Christian
Grande artigo Tomás.
Vou compartilhar com vocês uma estratégia muito simples, baseada em um padrão de castiçal forte e facilmente perceptível. Eles a chamam de "Lucky Spike". Todos podem aprendê-lo, usá-lo e ganhar dinheiro com ele. Há comerciantes que ganham a vida comercializando exatamente este padrão. Basta dar uma olhada neste ebook que estou dando gratuitamente:==> http://www.forexmystery.com?hgd4h84gdh
Vou compartilhar com vocês uma estratégia muito simples, baseada em um padrão de castiçal forte e facilmente perceptível. Eles a chamam de "Lucky Spike". Todos podem aprendê-lo, usá-lo e ganhar dinheiro com ele. Há comerciantes que ganham a vida comercializando exatamente este padrão. Basta dar uma olhada neste ebook que estou dando gratuitamente:==> http://www.forexmystery.com?hgd4h84gdh