MetaTrader 4 - Peritos Média Móvel - expert para MetaTrader 4 O especialista em Média Móvel para formar sinais de negociação usa uma média móvel. Abertura e fechamento de posições são realizadas quando a média móvel atende ao preço na barra recém-formada (índice de barra igual a 1). O tamanho do lote será otimizado de acordo com um algoritmo especial. O consultor especialista analisa a concordância da média móvel e do gráfico de preços de mercado. A verificação é executada pela função CheckForOpen (). Se a média móvel atender a barra de tal forma que a primeira seja maior que o preço Aberto, mas menor do que o preço Fechado, a posição COMPRAR será aberta. Se a média móvel atender a barra de tal forma que a primeira seja menor do que o preço Aberto, mas maior que o preço de fechamento, a posição VENDER será aberta. O Money Management usado no especialista é muito simples, mas efetivo: o controle sobre cada volume de posição é executado dependendo dos resultados das transações anteriores. Este algoritmo é implementado pela função LotsOptimized (). O tamanho básico do lote é calculado com base no risco máximo permitido: O parâmetro MaximumRisk exibe a porcentagem básica de risco para cada transação. Geralmente possui um valor entre 0,01 (1) e 1 (100). Por exemplo, se a margem livre (AccountFreeMargin) for igual a 20.500 e as regras de gerenciamento de capital prescrevem para usar o risco de 2, o tamanho básico do lote fará com que 20500 seja 0,02 / 1.000 0,41. É muito importante controlar a precisão do tamanho do lote e normalizar o resultado com os valores permitidos. Normalmente, lotes fracionários com passo de 0,1 são permitidos. Uma transação com volume de 0,41 não será executada. Para normalizar, a função NormalizeDouble () é usada com precisão de até 1 caractere após o ponto. Isso resulta no lote básico de 0,4. O cálculo do lote básico com base na margem livre permite aumentar os volumes de operação dependendo do sucesso comercial, ou seja, negociar com o reinvestimento. Este é o mecanismo básico com gerenciamento de capital obrigatório para aumentar a efetividade do negócio. DecreaseFactor é a medida em que o tamanho do lote será reduzido após negociações não lucrativas. Valores normais são 2,3,4,5. Se as transações anteriores não forem lucrativas, os volumes subseqüentes diminuirão por um fator DecreaseFactor para aguardar o período não lucrativo. Esse é o principal fator no algoritmo de gerenciamento de capital. A idéia é muito simples: se a negociação está aumentando com sucesso, o especialista trabalha com o lote básico para obter o máximo lucro. Após a primeira transação não lucrativa, o especialista reduzirá a velocidade até que uma nova transação positiva seja feita. O algoritmo permite desabilitar a redução de velocidade, pois, para isso, é necessário especificar DecreaseFactor 0. O valor das últimas transações não lucrativas sucessivas é calculado no histórico de transações. O lote básico será recalculado com base nisso: Assim, o algoritmo permite efetivamente reduzir o risco que ocorre como resultado de uma série de transações não lucrativas. O tamanho do lote é obrigatoriamente verificado pelo tamanho mínimo permitido do lote no final da função, porque os cálculos feitos anteriormente podem resultar no lote 0: O especialista destina-se principalmente a trabalhar com período diário e no modo de teste - para fazer a preços reduzidos. Ele será negociado apenas na abertura de uma nova barra, é por isso que os modos de modelagem de cada tick não são necessários. Os resultados dos testes são representados no relatório. Atualmente, estou estudando como codificar o MQL4, embora não seja um programador. Meu objetivo é criar um EA simples baseado no crossover de 5 e 8 configurações de EMA. O crossover para cima abre as posições de compra, enquanto a desvantagem fecha as posições de compra e abre as posições de venda automaticamente. Deve ser capaz de abrir pelo menos 10 posições simultaneamente. Take profit, stop loss e número de posições serão ajustáveis. Se alguém tiver experiência com EAs e tiver tempo de compartilhar seu conhecimento, sinta-se à vontade para ajudar a criar esse EA adicionando uma postagem ou uma mensagem particular a mim. Ninguém tem tempo para segurar as mãos. Aqui está o livro e um exemplo. Boa leitura. Este fórum recebe muito esse tipo de pergunta. Você é bem-vindo para analisar a base de código ou ver minha tentativa de ensinar a codificação de um EA muito parecida com o que você está pedindo. Faça o download do MetaTrader 5 Copyright 2000-2016, MQL5 Ltd. Eu não entendo. Você pode explicar de outra maneira o que acontece se a sua variável global se tornar verdadeira e antes que a barra 0 termine a velha situação de cruz não voltar, mas sua variável global permanece verdadeira se uma ou algumas barras depois a cruz acontecer você não tiver condição? EMA1 gt EMA2 ampamp EMA3 lt EMA4 ampamp AlertedLong false) "porque AlertedLong é verdade. o que acontece sua variável global se torna verdadeira e antes que a barra 0 termine a situação antiga de não cruzar volte mas sua variável global permanece verdadeira se uma ou algumas barras depois a cruz ocorrer você não tiver condição se (EMA1 gt EMA2 ampamp EMA3 lt EMA4 ampamp AlertedLong false) quot porque AlertedLong é verdadeiro. Esse código abaixo também funcionará, não um cruzamento, mas uma média móvel maior ou menor que.
No comments:
Post a Comment