Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Experts

Ilan 1.6 Dynamic HT - expert para MetaTrader 5

Publicado por:
Vasiliy Sokolov
Visualizações:
3480
Avaliação:
(67)
Publicado:
2016.12.27 09:15
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Autor real:

Desconhecido.

O algoritmo subjacente ao Ilan Dynamic 1.6 HT é simples. Ele se baseia na média dos preços, com um aumento gradual do volume de cada negociação.

Por exemplo, se depois da abertura da primeira posição de compra o preço cair e exceder um determinada faixa em pontos, será aberto uma nova posição de compra com um volume maior.

Assim, o preço médio de entrada do Ilan Dynamic fica próximo do preço de mercado atual. Por isso, é necessário apenas esperar por uma pequena reversão dos preços e fechar todas as posições em aberto com lucro usando o TakeProfit. O quadro geral de entradas realizadas pelo Ilan Dynamic 1.6 corresponde a essa imagem do Strategy Tester do MetaTrader 5:

Como você pode ver, o preço foi contra três posições de compra, mas depois de uma pequena reversão todas as três posições foram fechadas com um lucro significativo. A imagem também mostra os níveis de TakeProfit (linhas horizontais verdes) e os níveis de StopLoss (linhas horizontais vermelhas).

O Expert Advisor calcula dinamicamente os níveis de preços para cálculo da média, dependendo da faixa de preço entre a máxima e mínima do preço dentro do intervalo das últimas barras. A palavra "Dynamic" (Dinâmico) em seu nome aponta para este fato.

Além do TakeProfit, Ilan 1,6 Dynamic permite o uso do StopLoss clássico, stop móvel, encerramento por tempo, encerramento pelo indicador CCI e encerramento por um nível de capital especificado para todas as negociações.


Resultados do teste

Os resultados dos teste de Ilan 1.6 Dynamic pode variar muito, dependendo do período de tempo selecionado, o período do teste, o ativo, a corretora e as condições iniciais.

Portanto, o EA requer uma seleção cuidadosa dos parâmetros e dos mercados em que serão negociados. No entanto, é possível obter alguns resultados consistentes mesmo em um histórico curto usando as configurações padrão. Aqui está o típico gráfico de saldo e capital, gerado pelo Expert Advisor:


Atenção: O lucro/perda flutuante ou o capital de Ilan 1.6 Dynamic pode diferir muito do seu saldo, o que se reflete no gráfico. Se o preço se mover sem reversões, seu capital irá esgotar e eventualmente, esta estratégia de negociação poderá levar a um "MarginCall" e arruinar o seu saldo. Utilize o Ilan 1.6 Dynamic apenas durante o mercado lateralizado. Use o seu lote expoente com muito cuidado!


Entradas e Parâmetros

Ilan 1.6 Dynamic é configurado otimamente por padrão. A maioria dos seus parâmetros não são utilizados neste modo. No entanto, você pode personalizar as opções.

Use a tabela abaixo para configurar os parâmetros de seu modo.

Parâmetro NomeValor
padrão
Descrição
Parâmetros básicos
LotExponent  1.4
 Multiplicador do lote ao abrir a posição seguinte. Por exemplo, quando LotExponent = 1.4 e Lots = 0.1, a primeira posição aberta terá o lot igual a 0.1, a segunda posição média terá o lote igual a 0.2 (0.1 * 1.4 ^ 2), a terceira igual a 0.3 (0.1 * 1.4 ^ 3), o sétimo lote igual a 1.0 (0.1 * 1.4 ^ 7). Este parâmetro deve ser alterado com precaução. Seus valores variam de 1.0 (negociação ultra-conservadora) a 2.0 (negociação super-agressiva);
MaxTrades 10  Quantas posições podem ser abertas em uma direção. Se o limite de posições se esgotar, novas posições não serão abertas, enquanto que as posições velhas serão fechadas por uma condição de saída adequada (dependendo da configuração). 
DynamicPips  true  True se o limite de preço dinâmico for usado.
DefaultPips  120  O nível padrão de um canal de preço em pips.
Glubina 24   Ilan 1.6 Dynamic calcula a faixa de preço entre a máxima e mínima das últimas barras. O parâmetro indica quantos barras utilizar para esse cálculo.
DEL  A relação indica qual parte da faixa de preço usar, a fim de definir o próximo nível de Compra ou Venda. 
Lots  0.1   O tamanho do lote do primeiro negócio. 
lotdecimal   O número de casas decimais no cálculo do lote.   0 - lote normal (1.0), 1 - lote mini (0.1), 2 - lote micro (0.01)
TakeProfit 100   O nível de Take Profit em pontos do preço atual na qual todas as posições abertas são fechadas.
slippage 30  O nível de desvio máximo permitido em pontos.
MagicNumber  2222   Número mágico do Expert Advisor. 
Parâmetros que definem os sinais de entrada no mercado 
RsiPeriod 14  O período do indicador RSI.
RsiMinimum 30.0  Se o RSI está abaixo do nível atual, não será realizado a negociação de Compra.
RsiMaximum  70.0  Se o RSI está acima do nível atual, a negociação de Venda não será realizada.
Uso e configuração do nível de StopLoss clássico
UseStopLoss false  Por padrão, o nível de StopLoss não é usado, mas você pode habilitá-lo, definindo o valor dessa variável para true.
StopLoss 500.0  O nível de StopLoss em pontos (o valor padrão é definido para cotações com 5 dígitos).
Uso e configuração do Esquity Stop
UseEquityStop false  True se você desejar fechar as posições se a perda total de todas as posições atingir uma certa percentagem do lucro máximo atingido.  
EquityPercent 1.0  Percentagem dos lucros de todas as posições abertas sobre o do capital atual da conta. Se esta percentagem for excedida, a saída pelo Equity-stop é ativada para todas as posições.
TotalEquityRisk 20.0  Percentagem de perda máxima do capital, em que o EA saíra de todas as posições existentes.
Uso e configuração do TrailingStop
UseTrailingStop false  Por padrão, o stop móvel não é usado, mas você pode habilitá-lo, definindo essa variável para true.
TrailStart 100.0  O nível do lucro médio ponderado de todas as posições em pontos. Uma vez que este nível for ultrapassado, o stop móvel será ativado.
TrailStop 100.0  Nível em pontos entre o preço atual e o StopLoss que devem ser movidos.
Uso e configuração do Stop com base no CCI
UseCCIStop false  Por padrão, o stop com base no CCI não é usado, mas você pode habilitá-lo, definindo essa variável para true 
CCIPeriod 55  O período de CCI.
CCILevel 500  Se o valor de CCI > CCILevel (500 é o padrão), todas as posições vendidas serão fechadas. Se o CCI é menor que -500 (padrão), todas as posições compradas serão fechadas.
Uso e configuração da saída baseada no tempo
UseCloseByTime  false  Por padrão, a saída pelo tempo não é usada, mas você pode habilitá-la, definindo essa variável para true.
MaxTradeOpenHours  48  O número de horas desde a abertura da primeira posição, após todas as posições serem fechadas. Apenas algumas horas de negociação são levadas em conta. Fins de semana e feriados são ignorados.

Modos de teste. Ativos e períodos de tempo ideais.

Ilan 1.6 Dynamic foi criado para lucrar principalmente em movimentos curtos de preço Seu período ótimo é um gráfico de 15 minutos (M15). As configurações padrão devem ser utilizadas para cotações com 5 dígitos. A EA suporta o teste nos seguintes modos:

  • Cada Tick. Teste o EA nesse modo se você estiver usando o stop móvel e queira ter uma saída exata por TakeProfit, stop CCI ou EquityStop.
  • 1 minuto OHLC. Este modo é um compromisso que combina a alta velocidade de teste e a precisão dos sinais.
  • Preços de abertura somente. Este é o modo mais rápido. Devido à virtualização, o TakeProfit desencadeara apenas na barra de abertura neste modo. O Stop CCI e EquityStop serão acionados da mesma maneira. No entanto, em muitos casos, uma aproximação tão artificial traz um resultado melhor do que o teste no modo "Cada tick".

O algoritmo de Ilan 1.6 Dynamic é testado com sucesso tanto no modo normal e no modo com Delay Aleatório.

Símbolos recomendados

Recomenda-se usar o Ilan 1.6 Dynamic em todos os pares de moedas que têm (sem tendência) longos períodos lateralizados. Bons pares são EURUSD, USDJPY, GBPUSD, USDCHF, EURCHF e outros principais. As configurações do EA são otimizados para as cotações de 5 dígitos. Se você quiser usar o EA em pares de 4 dígitos, primeiro reduza os seguintes parâmetros dez vezes:

  • DefaultPips - 12;
  • TakeProfit - 10;
  • slippage - 3;
  • StopLoss - 50.

Como compilar o EA e fazê-lo funcionar (importante!)

Ilan 1.6 Dynamic usa ativamente uma grade de ordens e gestão de posição individual.

Por isso, ele exige uma virtualização especial que permite trabalhar no ambiente MetaTrader 5 semelhante ao MetaTrader 4. Para fazer isso, ele chamada as funções da biblioteca HedgeTerminalAPI, trabalhando no ambiente fornecido pela biblioteca. Leia o artigo "Negociação Bidirecional e de Cobertura de Posições no MetaTrader 5 Através da API HedgeTerminal, Parte 1" para aprender a usar a biblioteca. Se você desejar modificar a lógica de negociação do EA, leia este artigo para entender como o código do EA funciona.

Antes de começar, você precisa baixar a biblioteca HedgeTerminalAPI no seu computador. Depois disso, copie os módulos de software utilizados pelo Expert Advisor no seu computador (em anexo). Aqui estão os detalhes desses módulos.

  • ilan_1.6_dynamic_ht.mq5 - o módulo básio. Ele contém a lógica de negociação do EA. O identificador "HT" no nome indica que o Expert Advisor requer a biblioteca HedgeTerminalAPI para a operação. Este é o único arquivo que deve ser salvo para a pasta terminal_data_folder\MQL5\Experts\, todos os outros módulos devem ser salvos para a pasta terminal_data_folder\MQL5\Include\.
  • prototypes.mqh - O arquivo de protótipos necessários para a interação com a biblioteca.
  • drawhedgeposition.mqh - desenha os negócios do EA semelhante ao MetaTrader 4 (ver a primeira imagem). As posições bidirecionais são abertos em paralelo das outras em vez de uma após o outra, como no MetaTrader 5.
  • environment.mqh - o módulo do ambiente de negociação do Expert Advisor. Coleta toda a informação de negociação necessária para o EA. Ela permite que você saiba quantas posições o EA abriu, o que é o seu lucro/perda e muitos outros detalhes úteis.
  • testertable.mqh - mostra uma tabela simples de todas as posições abertas do Expert Advisor no strategy tester. Se você quiser as posições do EA a ser exibidos na tabela visual em tempo real, utilize o painel HedgeTerminal.
  • indicators.mqh - o módulo de indicadores. Ele fornece uma interface simples para acessar os dados dos indicadores.
  • tradestate.mqh - o módulo do estado da negociação do Expert Advisor. No MetaTrader 5, pode demorar algum tempo antes de uma ordem executada ser adicionada ao histórico de ordens, a partir do qual ela poderá ser analisada. Este módulo ajuda a esperar corretamente para que a ordem seja adicionada ao histórico.

Como visualizar o funcionamento do Expert Advisor e controlar o seu funcionamento através de uma operação manual?

Ilan 1.6 Dynamic gerencia multiplas posições unidirecionais de cada vez. Todas estas posições são exibidas no MetaTrader 5 como uma posição líquida. A fim de ter acesso fácil a gestão das posições do EA, bem como ter seu estado de negociação em cada ponto de tempo, você também deve instalar o painel de demonstração HedgeTerminal. Após o seu lançamento, ele irá mostrar as posições do EA da seguinte forma:

Para mais informações, leia o artigo "Negociação Bidirecional e de Cobertura de Posições no MetaTrader 5 Através da API HedgeTerminal, Parte 1" para aprender a usar a biblioteca.

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/12220

Cálculo da Margem Cálculo da Margem

Biblioteca para o cálculo da margem necessária para abrir uma posição no MetaТrader 5.

YZ_Summer_Time YZ_Summer_Time

Verifica se a data pertence ao horário de verão ou inverno. O código foi desenvolvido para depuração de notícias.

TrendSignal Pro TrendSignal Pro

A versão mais recente do indicador TrendSignal. Ele não redesenha e também funciona bem com um template.

RJT Matches RJT Matches

Este indicador ajuda a determinar o fim e o inicio da tendência com base na inclinação dos fósforos.