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:
|
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:
|
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."

Publicações relacionadas
- MACD Sample: Um Guia Prático para o Expert Advisor no MetaTrader 5
- MAMACD: Uma Análise do Sistema de Trading para MetaTrader 5
- Análise do The MasterMind 3 (Edição Campeonato) para MetaTrader 4
- Como Usar o Take Profit Baseado no Lucro Atual no MetaTrader 4
- Altarius_RSI&Stoh: O EA que Combina RSI e Estocástico para MetaTrader 4