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

VR---Moving - expert para MetaTrader 5

Publicado por:
Vladimir Karputov
Visualizações:
1551
Avaliação:
(11)
Publicado:
2018.07.23 10:00
\MQL5\Experts\VR---Moving\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Ideia por: Vladimir Pastushak.

Código em MQL5 por: Vladimir Karputov.

O EA negocia com o indicador Média Móvel, todas as funções preparatórias e de negociação foram implementadas como uma clase de negociação CMoving em um arquivo separado chamado Moving.mqh.


Entradas

  • magic number - o identificador único do EA;
  • Lots - volume da posição (pode ser especificado o volume da posição acima de zero ou o tamanho do risco acima de zero);
  • Risk - risco em porcentual de margem livre por negociação (pode ser especificado o volume da posição acima de zero ou o tamanho do risco acima de zero);
  • MA: period - indicador Média Móvel: Período gráfico;
  • MA: averaging period - indicador Média Móvel: Período da média;
  • MA: horizontal shift - indicador Média Móvel: Deslocamento horizontal;
  • MA: smoothing type - indicador Média Móvel: Método da média;
  • MA: tipo de preço - indicador Média Móvel: Tipo de preços, no qual o indicador é calculado;
  • Take Profit - Take Profit (para o caso em que uma posição é aberta);
  • Lot multiplier for a series of Positions - aumenta o volume de uma posição para uma série de posições;
  • Distance from Moving Average - distância do indicador Média Móvel;
  • Additive in the presence of the general profit - adiciona o recuo, se houver lucro geral.

O EA usa o princípio do swing, havendo a possibilidade de aumentar o número de lotes; uma estratégia simples é usada para o seu funcionamento:

  • Se o preço estiver acima do indicador Média Móvel a uma Distância da Média Móvel pré-definida, nós vamos abrir uma posição de COMPRA;
  • Se o preço cair a partir do indicador Média Móvel a uma Distância da Média Móvel pré-definida, vamos abrir uma posição de VENDA com o mesmo lote;
  • Se o preço subiu a partir da posição de COMPRA tendo a máxima do preço a uma Distância da Média Móvel pré-definida, nós vamos abrir a próxima posição de COMPRA;
  • Se o preço cair da posição de COMPRA tendo a mínima do preço a uma Distância da Média Móvel pré-definida, nós vamos abrir a próxima posição de VENDA;


Classe CMoving

Definição dos parâmetros
Inicialização

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

  • symbol - nome do símbolo, no qual o EA irá operar
  • magic - identificador único para o EA
  • slippage - desvio.
GetFlag
Ele retorna o estado do sinalizador de inicialização. Ele é usado como uma função auxiliar ao chamar o EA básico para verificar o status da variável m_init da classe CMoving.
LotsOrRisk
Define o tipo do cálculo para o lote da posição: manualmente (o parâmetro lots está acima de zero) ou nas porcentagens da margem livre por negociação (o parâmetro risco está acima de zero).
CreateMA
Cria o indicador Média Móvel.
TakeProfit
Define o parâmetro Take Profit.
Multiplier
Define o parâmetro crescente do lote.
DistanceMA
Define o recuo do indicador Média Móvel.
ProfitPlus
Define o recuo adicional no lucro geral.
Função principal
Processing
Função principal, na qual todos os cálculos são realizados.
Funções da classe com o especificador de acesso protegido
RefreshRates
Atualiza as cotações para o símbolo.
CheckVolumeValue
Verifica a exatidão do volume da posição inserido (a verificação é usada ao definir o volume da posição manualmente).
IsFillingTypeAllowed
Verifica o modo de preenchimento das ordens.
iMAGet
Obtém os valores do indicador Média Móvel na barra com o índice de index.
CalculateAllPositions

Obtém as informações sobre as posições por chamada:

  • count_buys - número de posições de COMPRA;
  • price_highest_buy - o preço da maior posição de COMPRA;
  • price_lowest_buy - o preço da menor posição de COMPRA;
  • lot_highest_buy - volume da maior posição de COMPRA;
  • lot_lowest_buy - volume da menor posição de COMPRA;
  • total_lots_buy - o volume total de posições de COMPRA;
  • count_sells - número de posições de COMPRA;
  • price_lowest_sell - o preço da menor posição de VENDA;
  • price_highest_sell - o preço da maior posição de VENDA;
  • lot_lowest_sell - volume da menor posição de VENDA;
  • lot_highest_sell - volume da menor posição de VENDA;
  • total_lots_sell - o volume total de posições de VENDA.
Prices
Obtém os preços de referência para as posições de COMPRA e VENDA, considerando a Distância da média móvel pré-definida.
LotCheck
Verificação e normalização do volume da posição (ela é usada ao definir o tamanho da posição manualmente).
OpenBuy
Abre uma posição de COMPRA.
OpenSell
Abre uma posição de VENDA.
PrintResult
Imprime os resultados de uma operação de negociação para abrir uma posição.
SetTakeProfit
Define o nível de Take Profit para as posições ou remove todos os níveis de Take Profit e Stop Loss (onde o parâmetro delete_take_profit é igual a "true").
CompareDoubles
Compara dois números reais por ser igual.
AwerageTakeProfit
Calcula e define o nível de Take Profit para uma posição de determinado tipo pos_type.

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

VR---MUVING

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

KWAN_CCC_HTF KWAN_CCC_HTF

O indicador KWAN_CCC com a possibilidade de alterar o período gráfico do indicador nos parâmetros de entrada.

KWAN_RDP_HTF KWAN_RDP_HTF

O indicador KWAN_NRP com a possibilidade de alterar o período gráfico do indicador nos parâmetros de entrada.

2XMA_Ichimoku_Oscillator 2XMA_Ichimoku_Oscillator

Um oscilador baseado na diferença de duas linhas Tenkan-Sen suavizadas de diferentes períodos na forma de um histograma colorido.

2XMA_Ichimoku_Oscillator_HTF 2XMA_Ichimoku_Oscillator_HTF

Indicador 2XMA_Ichimoku_Oscillator com a opção de seleção do período gráfico nos parâmetros de entrada.