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.
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:
| 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
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
O indicador KWAN_NRP com a possibilidade de alterar o período gráfico do indicador nos parâmetros de entrada.
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
Indicador 2XMA_Ichimoku_Oscillator com a opção de seleção do período gráfico nos parâmetros de entrada.