Thursday 8 November 2018

Simple moving average ea mq4


MetaTrader 4 - Experts Moving Average - especialista para MetaTrader 4 O especialista em média móvel para a formação de sinais de comércio usa uma média móvel. Abertura e fechamento de posições são realizadas quando a média móvel encontra o preço na barra recentemente formada (índice de barra igual a 1). O tamanho do lote será otimizado de acordo com um algoritmo especial. O consultor especialista analisa a concorrência da média móvel e da tabela de preços de mercado. A verificação é executada pela função CheckForOpen (). Se a média móvel atingir a barra de tal forma que a primeira for superior ao preço de abertura mas inferior a preço de fechamento, a posição de compra será aberta. Se a média móvel se encontrar com a barra de tal forma que a primeira é inferior ao preço de abertura mas superior ao preço de fechamento, a posição de VENDA será aberta. Money Management usado no especialista é muito simples, mas eficaz: o controle sobre cada volume de posição é realizado, dependendo dos resultados das transações anteriores. Este algoritmo é implementado pela função LotsOptimized (). O tamanho do lote básico é calculado com base no risco máximo permitido: O parâmetro MaximumRisk exibe a porcentagem de risco básico para cada transação. Geralmente possui um valor entre 0,01 (1) e 1 (100). Por exemplo, se a margem livre (AccountFreeMargin) é 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, lotes fraccionados com passo de 0,1 são permitidos. Uma transação com volume de 0,41 não será realizada. 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 os volumes de operação dependendo do sucesso de negociação, ou seja, negociar com o reinvestimento. Este é o mecanismo básico com a gestão obrigatória do capital para o aumento da eficiência comercial. DecreaseFactor é a medida em que o tamanho do lote será reduzido após negociação não rentável. Os valores normais são 2,3,4,5. Se as transações precedentes não fossem lucrativas, os volumes subseqüentes diminuirão por um fator de DecreaseFactor para esperar pelo período não lucrativo. Este é 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 fazendo lucro máximo. Após a primeira transação não rentável, o especialista irá reduzir a velocidade até que uma nova transação positiva é feita. O algoritmo permite desativar a redução de velocidade, para fazê-lo, é preciso especificar DecreaseFactor 0. O valor das últimas transações não lucrativas sucessivas é calculado no histórico de negócios. O lote básico será recalculado nessa base: Assim, o algoritmo permite efetivamente reduzir o risco que ocorre como resultado de uma série de transações não rentáveis. O tamanho do lote é obrigatoriamente verificado para o tamanho de lote mínimo permitido no final da função porque Os cálculos feitos anteriormente podem resultar no lote 0: O especialista é principalmente destinado a trabalhar com período diário, e no modo de teste - para fazer a preços fechados. Vai trocar apenas na abertura de uma nova barra, é por isso que os modos de cada modelo de carrapato não são necessários. Os resultados dos testes são representados no relatório. Indicador Técnico Médio de Movimentação O Indicador Técnico de Média Móvel mostra o valor médio do preço do instrumento por um determinado período de tempo. Quando se calcula a média móvel, uma média do preço do instrumento para este período de tempo. À medida que o preço muda, sua média móvel aumenta ou diminui. Existem quatro tipos diferentes de médias móveis: Simples (também referido como Aritmética). Exponencial. Alisado e linear ponderado. As médias móveis podem ser calculadas para qualquer conjunto de dados seqüenciais, incluindo preços de abertura e fechamento, preços mais altos e mais baixos, volume de negociação ou quaisquer outros indicadores. É freqüentemente o caso quando se utilizam médias móveis duplas. A única coisa em que as médias móveis de diferentes tipos divergem consideravelmente umas das outras, é quando os coeficientes de peso, que são atribuídos aos dados mais recentes, são diferentes. No caso em que estamos falando de simples média móvel, todos os preços do período em questão, são iguais em valor. As Médias Mínimas exponenciais e Lineares ponderadas atribuem mais valor aos preços mais recentes. A maneira mais comum de interpretar a média móvel de preços é comparar sua dinâmica com a ação de preço. Quando o preço do instrumento sobe acima de sua média móvel, um sinal de compra aparece, se o preço cai abaixo de sua média móvel, o que temos é um sinal de venda. Este sistema de comércio, que é baseado na média móvel, não é projetado para fornecer entrada no direito de mercado em seu ponto mais baixo, e sua saída direita no pico. Permite agir de acordo com a seguinte tendência: comprar logo após os preços chegarem ao fundo, e vender logo depois que os preços atingiram seu pico. As médias móveis também podem ser aplicadas aos indicadores. É aí que a interpretação das médias móveis dos indicadores é semelhante à interpretação das médias móveis de preços: se o indicador se eleva acima da média móvel, isso significa que o movimento do indicador ascendente deverá continuar: se o indicador cair abaixo da sua média móvel, Significa que é provável que continue indo para baixo. Aqui estão os tipos de médias móveis no gráfico: Média móvel simples (SMA) Média móvel exponencial (EMA) Média móvel suavizada (SMMA) Média móvel ponderada linear (LWMA) Cálculo: Simples Moving Average (SMA) Simples, A média móvel aritmética é calculada pela soma dos preços de encerramento do instrumento ao longo de um certo número de períodos únicos (por exemplo, 12 horas). Este valor é então dividido pelo número de tais períodos. Onde: N é o número de períodos de cálculo. Média Móvel Exponencial (EMA) A média móvel suavizada exponencialmente é calculada adicionando a média móvel de uma determinada parcela do preço de fechamento atual ao valor anterior. Com médias móveis exponencialmente suavizadas, os preços mais recentes são de maior valor. P-porcentagem de média móvel exponencial será semelhante a: Onde: FECHAR (i) o preço do encerramento do período atual EMA (i-1) Exponencialmente Movendo Média do período anterior fechamento P a percentagem de utilização do valor do preço. Média Móvel Smoothed (SMMA) O primeiro valor desta média móvel suavizada é calculado como a média móvel simples (SMA): A segunda e as médias móveis subsequentes são calculadas de acordo com esta fórmula: Onde: SUM1 é a soma total dos preços de fechamento de N (PREVSUM) é a soma suavizada da barra anterior SMMA1 é a média móvel suavizada da primeira barra SMMA (i) é a média móvel suavizada da barra atual (exceto a primeira) CLOSE (i) é o preço de fechamento atual N É o período de suavização. Média Móvel Ponderada Linear (LWMA) No caso da média móvel ponderada, os dados mais recentes são mais valiosos que os dados mais antigos. A média móvel ponderada é calculada multiplicando-se cada um dos preços de fechamento dentro da série considerada, por um determinado coeficiente de ponderação. Onde: SUM (i, N) é a soma total dos coeficientes de peso. Source Code A fonte MQL4 completa de Médias Móveis está disponível no Código Base: Médias Móveis Aviso: Todos os direitos sobre estes materiais são reservados pela MetaQuotes Software Corp. A cópia ou reimpressão destes materiais, total ou parcialmente, é proibida. Advisor A cruz média móvel é uma das mais populares estratégias de negociação básica. Ele usa duas ou mais médias móveis de diferentes períodos para determinar a direção da tendência. Quando a (s) média (s) de movimentação mais rápida está acima da média (s) móvel mais lenta (s), uma posição longa é aberta e vice-versa para uma posição curta. A cruz média móvel se destaca durante tendências longas e sustentadas como uma estratégia de negociação de médio / longo alcance. Estratégias baseadas no cruzamento de média móvel sempre foram freqüentemente solicitados por nossos clientes, e é por isso que nós oferecemos a média móvel especialista cross cross. Agora você pode comprar este conselheiro especialista popular para mais de 50 off Anteriormente 45, o deluxe Mediador Média Cross consultor especialista é agora apenas 19,95 Recursos Até 3 Moving Average Lines. Use duas médias móveis ou adicione uma terceira para filtrar as tendências de longo prazo. Tipos de média móvel. Simples. Exponencial. Suavizado ou Linear Ponderado. Dados de Preços. Escolha entre Fechar, Abrir, Alta, Baixa, Mediana, Típica ou Ponderada Fechar. Mudança . Desloque as linhas de média móvel para a frente ou para trás. Múltiplos prazos. Cada média móvel pode ser definida para qualquer período de tempo do gráfico. Gestão de Dinheiro - O tamanho do lote é calculado automaticamente para que o risco máximo por negócio seja limitado a uma percentagem do seu capital próprio. Trailing Stop / Break Even Stop - Ajustar automaticamente a perda de stop como o comércio se move em lucro. Definir os níveis mínimos de lucro, passo arrastar parar em incrementos e mais Daily Trade Timer - Limite o seu comércio intraday para as horas que o mercado é mais ativo. Você pode opcionalmente fechar todas as ordens abertas no final do dia. Manual Order Control - Coloque ordens manuais em seu gráfico com um comentário comercial especificado, eo MA Cross EA vai rastrear o stop loss e fechar a ordem automaticamente em uma cruz oposta. Executar uma vez por barra ou cada Tick. Escolha com que freqüência verificar as condições de abertura e fechamento da ordem. Você pode trocar em cada carrapato, ou apenas no final de cada barra. Close On Cross - Feche a posição atualmente aberta em uma cruz de média móvel na direção oposta. Se desabilitado, as ordens serão fechadas apenas em stop loss ou manualmente. Robusto. Manuseio e notificação de erros completos, repetição em requotes e muito mais. Totalmente compatível com ECN e corretores de 5 dígitos. Alertas - Escolha entre os alertas de áudio, a caixa de diálogo de alerta incorporada, os alertas por e-mail ou as notificações enviadas para o smartphone. Você pode comprar o Moving Average Cross EA instantaneamente para apenas 19.95Eu estou estudando atualmente como codificar MQL4 embora eu não sou um programador. Meu objetivo é construir um EA simples baseado no crossover de 5 e 8 configurações de EMA. Crossover para o upside abre posições de compra, enquanto para a desvantagem fecha as posições de compra e abre vender posições automaticamente. Deve ser capaz de abrir pelo menos 10 posições simultaneamente. Tome lucro, Stop loss, eo número de posições será ajustável. Se alguém tiver experiência com EAs e tiver tempo para compartilhar seu conhecimento, por favor, sinta-se livre para ajudar a criar este EA, adicionando um post ou mensagens privadas me. Ninguém tem tempo para segurar a mão. Heres o livro e algum exemplo. Boa leitura. Eu sou novo em escrever um conselheiro perito, e eu preciso de ajuda com o meu consultor perito médio móvel simples doublecrossover. Meu código é muito básico. Ele vende / compra quando a média móvel menor se move abaixo / acima da média móvel maior. O que estou querendo fazer é isso. Uma ordem é colocada quando a média de menor movimentação cruza acima da média móvel maior, de modo que a EAbaixa. Quando a menor média móvel, em seguida, cruza abaixo da maior média móvel eu quero vender essa ordem. Isso tudo é bom E no mesmo tempo eu quero colocar outra / nova ordem para comprar / vender dependendo da última ordem. Eu não quero esperar para o próximo crossover. Assim, quando uma ordem é fechada outro precisa ser colocado. Obtê-lo Por favor, alguém pode ajudar a modificar o meu código existente Vendo que eu sou anewbie, alguém pode comentar o código que foi escrito Tenho anexado o meu arquivo atual. Eu sou novo em escrever um conselheiro especialista, e eu preciso de ajuda com o meu consultor perito médio móvel simples cruzamento. Meu código é muito básico. Vende / compra quando a menor média móvel se move abaixo / acima da maior média móvel. O que estou querendo fazer é isso. Uma ordem é colocada quando a média móvel menor cruza acima da média móvel maior, de modo que a EA compra. Quando a menor média móvel, em seguida, cruza abaixo da maior média móvel eu quero vender essa ordem. Isso tudo é bom E ao mesmo tempo eu quero colocar outra / nova ordem para comprar / vender, dependendo da última ordem. Eu não quero esperar para o próximo crossover. Assim, quando uma ordem é fechada outro precisa ser colocado. Obtê-lo Por favor, alguém pode ajudar a modificar o meu código existente Vendo que eu sou um novato, alguém pode comentar o código que foi escrito Tenho anexado o meu arquivo atual. Seus arquivos não estão anexados. Você pode tentar anexar o arquivo mq4 Apenas um comentário lado que as cruzes de MAs não são o melhor momento para comprar / vender. No momento em que as cruzes acontecem, a mudança de direção já está em andamento, então a compra / venda pode ser um pouco tarde. O MACD que rastreia as diferenças de gap entre 2 MAs é um melhor indicador de mudança de direção. O histograma rastreia a direção, a linha de sinal indica se a direção está para cima ou para baixo. Essa é a teoria de qualquer maneira. Então você acha que eu preciso arranhar o crossover 2 MA e escrever um novo sistema especialista com um MACD Você talvez tenha um exemplo de trabalho com isto por favor Aqui está meu 2 crossover SMA: int Crossed (linha dupla1, linha dupla2) static int lastdirection 0 static int currentdirction 0 if (linha1 gt line2) currentdirction 1 // up if (linha1 lt line2) currentdirction 2 // para baixo int cnt, ticket, total double shortSma, longSma if (barras lt 100) Imprimir (quotbars inferior a 100quot) Retornar (0) se (TakeProfit lt 10) Imprimir (quotTakeProfit menos de 10quot) return (0) // verificar TakeProfit shortSma iMA (NULL, 0, 5, 0, MODESMA, PRICECLOSE, 0) , 0, MODESMA, PRICECLOSE, 0) int isCrossed Crossed (shortSma, longSma) se (total lt 1) se (isCrossed 1) ticket OrderSend (Símbolo (), OPBUY, Lotes, , QuotDoble SMA Crossover H1quot, 12345, 0, Blue) if (bilhete gt 0) se (OrderSelect (ticket, SELECTBYTICKET, MODETRADES)) Print (quotBUY order opened. Quot, OrderOpenPrice () Quot, GetLastError ()) return (0) if (isCrossed 2) ticket OrderSend (Símbolo (), OPSELL, Lotes, Lance, 3, 0 (Bid - TakeProfit Point), quotDouble SMA Crossover H1quot, 12345, If (ticket gt 0) if (OrdemSelect (ticket, SELECTBYTICKET, MODETRADES)) print (ordem quotSELL aberta. Quot, OrderOpenPrice ()) else Imprimir (quotError abertura SELL order. Quot, GetLastError () ) Para (cnt 0 cnt lt cnt total) OrderSelect (cnt, SELECTBYPOS, MODETRADES) se (OrderType () lt OPSELL ampamp OrderSymbol () Symbol ()) se (OrderType () OPBUY / Fechar se (isCrossed 2) OrderClose (OrderTicket (), OrderLots (), Bid, 3, Violet) // fechar posição return (0) // sair // verificar trailing stop se (TrailingStop gt 0) if ( OrderOpenPrice (), OrderOpenPrice ()) (OrderStopLoss () lt (Bid - Point TrailingStop)) OrderModify (OrderTicket (), OrderOpenPrice () (0) else // ir para a posição curta // deve ser fechado se (isCrossed 1) OrderClose (OrderTicket (), OrderLots (), Ask, 3, Violet) // close position return (0) // exit // (OrderOpenPrice () - Ask) gt (Point TrailingStop)) se ((OrderStopLoss () gt (Pedir ponto TrailingStop)) (OrderStopLoss () 0)) OrderModify (OrderTicket () Então, você acha que eu preciso arranhar o crossover 2 MA e escrever um novo sistema especialista com um MACD Você talvez tenha um exemplo de trabalho de um (a) operador (a) This with you please Aqui está o meu 2 SMA crossover: int Crossed (linha dupla1, linha dupla2) static int lastdirection 0 static int currentdirction 0 se (linha1 gt line2) currentdirction 1 // se (line1 lt line2) currentdirction 2 // down (CTotProfit lt 10) Imprimir (quotTakeProfit menos de 10quot) return (0) // verificar TakeProfit shortSma iMA (NULL, 0, 5, 0, MODESMA, PRICECLOSE, 0) longSma iMA (NULL, 0, 50, 0, MODESMA, PRICECLOSE, 0) isCrossed Crossed (shortSma, longSma) if (total lt 1) if (isCrossed 1 ) Ticket TicketSend (Símbolo (), OPBUY, Lotes, Ask, 3, 0, (Pergunte ao Ponto TakeProfit), quotDoble SMA Crossover H1quot, 12345, 0, Blue) if (bilhete gt 0) if (OrderSelect (ticket, SELECTBYTICKET, MODETRADES )) Imprimir (ordem quotBUY aberta. Quot, OrderOpenPrice ()) else Imprime (quotError abrindo COMPRAR ordem. Quot, GetLastError ()) return (0) se (isCrossed 2) ticket OrderSend (Symbol (), OPSELL, Lotes, Bid, 3, 0 (Ordem, OrdemOpenPreço ()) else Imprimir (quotError abrir a ordem de VENDA) OrdemSelect (ticket, SELECTBYTICKET, MODETRADES) (Cnt, SELECTBYPOS, MODETRADES) if (OrderType () lt OPSELL ampamp OrderSymbol () Símbolo ()) if (OrderType () OPBUY) // posição longa é aberta // deve ser fechada se (isCrossed 2) OrderClose (OrderTicket (), OrderLots (), Bid, 3, Violet) // close position return (0) // exit // Se (TrailingStop gt 0) se ((Bid - OrderOpenPrice ()) gt (Ponto TrailingStop)) se (OrderStopLoss () lt (Bid - Point TrailingStop)) OrderModify (OrderTicket - Point TrailingStop), OrderTakeProfit (), 0, Green) retornar (0) else // ir para a posição curta // deve ser fechado se (isCrossed 1) OrderClose (OrderTicket), OrderLots (), Ask, 3, Violet ) // fechar a posição retornar (0) // sair // verificar a saída final se (TrailingStop gt 0) se ((OrderOpenPrice () - Ask) gt (Point TrailingStop)) if ((OrderStopLoss ) (OrderStopLoss () 0)) OrderModify (OrderTicket), OrderOpenPrice (), (Ask Point TrailingStop), OrderTakeProfit (), 0, Red) return (0)

No comments:

Post a Comment