Moving average crossover mql4


MetaTrader 4 - Expert Muding Average - perito para o MetaTrader 4 O especialista em Motivo em Mudança para formar sinais comerciais usa uma média móvel. A abertura e o fechamento de posições são realizados quando a média móvel atende ao preço na barra recentemente formada (o índice de barras é 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 da tabela de preços de mercado. A verificação é realizada pela função CheckForOpen (). Se a média móvel atender a barra de forma que o primeiro seja maior que o preço aberto, mas inferior ao preço fechado, a posição BUY será aberta. Se a média móvel atende a barra de forma que o primeiro seja inferior ao preço aberto, mas maior do que o preço Fechar, a posição VENDA será aberta. Gerenciamento de dinheiro usado no perito é muito simples, mas efetivo: o controle sobre cada volume de posição é realizado de acordo com os resultados das transações anteriores. Esse 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 de risco básica 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 do lote básico fará 20500 0.02 1000 0.41. É muito importante controlar a precisão do tamanho do lote e normalizar o resultado com os valores permitidos. Normalmente, são permitidos lotes fraccionados com passo de 0,1. Não será realizada uma transação com volume de 0,41. Para normalizar, a função NormalizeDouble () é usada com precisão 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 nos volumes de operação dependendo do sucesso da negociação, ou seja, negociar com o reinvestimento. Este é o mecanismo básico com a gestão obrigatória do capital para aumentar a eficiência comercial. DecreaseFactor é a medida em que o tamanho do lote será reduzido após o comércio não lucrativo. Os valores normais são 2,3,4,5. Se as transações anteriores não fossem rentáveis, os volumes subseqüentes diminuirão por um fator de Diminuição do Fator, a fim de aguardar o período não lucrativo. Este é o principal fator no algoritmo de gerenciamento de capital. A idéia é muito simples: se a negociação estiver aumentando com sucesso, o especialista trabalha com o lote básico ganhando lucro máximo. 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 desativar a redução de velocidade, para fazê-lo, é preciso especificar Diminuição do Fator 0. A quantidade das últimas transações sucessivas não lucrativas é calculada no histórico comercial. O lote básico será recalculado nesta base: Assim, o algoritmo permite reduzir eficazmente o risco que ocorre como resultado de uma série de transações não lucrativas. O tamanho do lote é obrigatoriamente verificado quanto ao tamanho mínimo permitido do lote no final da função porque Os cálculos feitos anteriormente podem resultar em lote 0: o especialista é principalmente destinado a trabalhar com o período diário, e no modo de teste - por fazer a preços fechados. Ele só se trocará na abertura de um novo bar, e é por isso que os modos de modelagem de todos os tiques não são necessários. Os resultados dos testes estão representados no relatório. Estou escrevendo um código para o cruzamento médio em movimento. O conceito mais básico. Mas estou tendo problemas nisso. Faz alguns dias que estou tendo esse problema. Perde a oportunidade de comprar e vender, mesmo que o loop para esse comércio seja executado. Por favor, me guie sobre o problema. Desde já, obrigado. P. S. Os comentários são para verificar se o loop é visitado. Também no testador de estratégia, ele não fornece alertas. (Se lasttradeNULL, então, se lasttradeNULL, então o que não é um problema, podemos substituir isso por: bool buyconditiontrue inicialização e mesmo para vender também. Mas o meu problema é que ele não está executando certas ordens e também falta abrir posições. Por favor, você pode sugerir alguma maneira de superar isso.

Comments

Popular posts from this blog

Estratégias de jforex exemplos de letras

Smoothing exponencial moving average

Grafice forex