Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
VR---Moving - expert para MetaTrader 5
- Publicado por:
- Vladimir Karputov
- Visualizações:
- 1551
- Avaliação:
- Publicado:
- 2018.07.23 10:00
- 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:
|
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:
|
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."
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/20610
O indicador KWAN_CCC com a possibilidade de alterar o período gráfico do indicador nos parâmetros de entrada.
KWAN_RDP_HTFO indicador KWAN_NRP com a possibilidade de alterar o período gráfico do indicador nos parâmetros de entrada.
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_HTFIndicador 2XMA_Ichimoku_Oscillator com a opção de seleção do período gráfico nos parâmetros de entrada.