Início Negociação Sistemática Postagem

EA VR-Moving: Potencializando seu Trading no MetaTrader 5

Anexo
20610.zip (8.81 KB, Baixar 0 vezes)

Ideia de: Vladimir Pastushak.

Código MQL5 de: Vladimir Karputov.

O EA VR-Moving opera com o indicador Média Móvel, onde todas as funções de preparação e negociação são implementadas na classe de trading CMoving, que pode ser encontrada no arquivo Moving.mqh.


Configurações

  • magic number - identificador único do EA;
  • Lots - volume da posição (o volume da posição deve ser maior que zero ou o risco deve ser maior que zero);
  • Risk - risco em porcentagem da margem livre por operação (o volume da posição deve ser maior que zero ou o risco deve ser maior que zero);
  • MA: período - Média Móvel: Timeframe;
  • MA: período de média - Média Móvel: Período de média;
  • MA: deslocamento horizontal - Média Móvel: Deslocamento horizontal;
  • MA: tipo de suavização - Média Móvel: Método de suavização;
  • MA: tipo de preço - Média Móvel: Tipo de preços utilizados para calcular o indicador;
  • Take Profit - Take Profit (para o caso de uma posição aberta);
  • Multiplicador de Lots para uma série de Posições - aumento do volume de uma posição em uma sequência de operações;
  • Distância da Média Móvel - distância do indicador Média Móvel;
  • Adicional na presença de lucro geral - adição ao deslocamento, se houver lucro geral.

O EA utiliza o princípio de swing, permitindo aumentar o número de lots; uma estratégia simples é aplicada:

  • Se o preço estiver acima do indicador Média Móvel em uma Distância da Média Móvel pré-definida, abrimos uma posição de COMPRA;
  • Se o preço descer do indicador Média Móvel em uma Distância da Média Móvel pré-definida, abrimos uma posição de VENDA com o mesmo lot;
  • Se o preço subir da posição de COMPRA com o preço mais alto em uma Distância da Média Móvel pré-definida, abrimos a próxima posição de COMPRA;
  • Se o preço descer da posição de COMPRA com o preço mais baixo em uma Distância da Média Móvel pré-definida, abrimos a próxima posição de VENDA;


Classe CMoving

Configurações de parâmetros
Inicialização

Inicialização primária - os seguintes parâmetros são configurados:

  • símbolo - nome do símbolo em que o EA irá operar;
  • magic - identificador único do EA;
  • slippage - desvio.
GetFlag
Retorna o estado da flag de inicialização. É usado como uma função auxiliar ao chamar do EA básico para checar o status da variável interna m_init da classe CMoving.
LotsOrRisk
Define o tipo de cálculo de volumes de posições: manualmente (o parâmetro lots é maior que zero) ou em porcentagens da margem livre por operação (o parâmetro risk é maior que zero).
CreateMA
Criando o indicador Média Móvel.
TakeProfit
Definindo o parâmetro de Take Profit.
Multiplier
Definindo o parâmetro de aumento de lot.
DistanceMA
Definindo o deslocamento do indicador Média Móvel.
ProfitPlus
Definindo o deslocamento adicional em caso de lucro geral.
Função principal
Processing
Função principal, onde todos os cálculos são realizados.
Funções da classe com o especificador de acesso protegido
RefreshRates
Atualizando cotações para o símbolo.
CheckVolumeValue
Verificando a correção do volume de posição inserido (a verificação é utilizada ao definir o volume de posição manualmente).
IsFillingTypeAllowed
Verificando o modo de preenchimento da ordem.
iMAGet
Obtendo os valores do indicador Média Móvel na barra com o índice de index.
CalculateAllPositions

Obtendo as informações sobre posições por chamada:

  • count_buys - número de posições de COMPRA;
  • price_highest_buy - preço da posição de COMPRA mais alta;
  • price_lowest_buy - preço da posição de COMPRA mais baixa;
  • lot_highest_buy - volume da posição de COMPRA mais alta;
  • lot_lowest_buy - volume da posição de COMPRA mais baixa;
  • total_lots_buy - volume total das posições de COMPRA;
  • count_sells - número de posições de VENDA;
  • price_lowest_sell - preço da posição de VENDA mais baixa;
  • price_highest_sell - preço da posição de VENDA mais alta;
  • lot_lowest_sell - volume da posição de VENDA mais baixa;
  • lot_highest_sell - volume da posição de VENDA mais alta;
  • total_lots_sell - volume total das posições de VENDA.
Prices
Obtendo os preços referenciais para posições de COMPRA e VENDA, considerando a Distância da Média Móvel pré-definida.
LotCheck
Verificando e normalizando o volume da posição (é utilizado ao definir o tamanho da posição manualmente).
OpenBuy
Abrindo uma posição de COMPRA.
OpenSell
Abrindo uma posição de VENDA.
PrintResult
Imprimindo os resultados de uma operação de trade para abertura de posição.
SetTakeProfit
Definindo o nível de Take Profit para as posições ou removendo todos os níveis de Take Profit e Stop Loss (quando o parâmetro delete_take_profit é igual a "true").
CompareDoubles
Comparando dois números reais para verificar se são iguais.
AwerageTakeProfit
Calculando e definindo o nível único de Take Profit para uma posição de determinado tipo pos_type.

GBPUSD, H1, "Cada tick baseado em ticks reais."

VR---MUVING

Publicações relacionadas

Comentário (0)