SuperTrend Current Time-frame version - Não repinta barras fechadas. - Normal desempenho do indicador MT4. - Ie. Apenas redesenha as barras MT4 indica ter mudado. - Desenha o indicador no histórico de gráfico completo sem uma penalidade de desempenho. Multi Time-frame version - Não é necessário um indicador externo. - Todas as barras no gráfico associado a uma barra de tempo mais alta que está aberta continuará a atualizar com o status atual da supertrend de tempo mais alto até que a barra feche. Se você não entender isso, você provavelmente não deve estar usando o indicador. - Opcional pop-up e alertas de e-mail. - Opção para alertar em barras abertas ou apenas quando as barras atuais fecha./lang é muito útil é possível convertê-lo para EA Obrigado pela EA antecipadamente. Obrigado por sua ajuda anterior em me dar este indicador. Posso obter um EA para este seria ótimo cheio. Também um mais pedido actullay eu preciso de um alerta para isso com stoploss como por nosso conjunto moneyrisk taxa. Eu criei um alerta de tal forma que me alerta sempre que comprar ou sell. it seria ótimo se ele alerta junto com sl. Por isso, por favor, me ajude neste sentido. Mladen: Experimente o link deste link. Bbandsstopv1-alerts. mq4 Defina a opção alertsOnCurrent como false nos parâmetros EA para parar bbands. Obrigado por sua ajuda anterior em me dar este indicador. Posso obter um EA para este seria ótimo cheio. Também um mais pedido actullay eu preciso de um alerta para isso com stoploss como por nosso conjunto moneyrisk taxa. Eu criei um alerta de tal forma que me alerta sempre que comprar ou sell. it seria ótimo se ele alerta junto com sl. Por isso, por favor me ajude neste sentido. Como criar um consultor especializado para uma estratégia de negociação SuperTrend Por Tradinformed em 23 de dezembro de 2013 Neste artigo vou mostrar como uma estratégia de negociação SuperTrend pode ser programado em um MetaTrader4 (MT4) Expert Advisor (EA ). Este artigo e vídeo acompanhante mostra como um EA é escrito e como esse EA pode ser usado para backtest e negociar automaticamente uma estratégia comercial. Eu dividir os componentes da EA e explicar como cada parte é usada para seguir a estratégia. O Indicador Técnico SuperTrend O SuperTrend é um ótimo indicador para identificar a tendência atual do mercado. O indicador é construído combinando a média True Range com o preço médio (High-Low) / 2 eo preço de fechamento. Eu explico como o indicador é calculado no meu artigo e vídeo Como calcular o indicador SuperTrend usando o Excel. Estratégia de negociação SuperTrend No meu artigo anterior, Backtesting uma estratégia de negociação SuperTrend Usando o Excel. Mostrei como o Excel pode ser usado para testar uma estratégia de negociação. Neste teste vamos usar basicamente a mesma estratégia usando as seguintes regras: Apenas um comércio de cada vez. Enter Long: Quando o preço de fechamento está acima de 200 SMA e cruza de abaixo para acima de SuperTrend. Ou quando o preço de fechamento está acima de SuperTrend e cruza de abaixo para acima de 200 SMA Enter Short: Quando o preço de fechamento está abaixo de 200 SMA e cruza de acima para abaixo de SuperTrend. Ou quando o preço de fechamento está abaixo de SuperTrend e cruza de acima para abaixo de 200 SMA Fechar Comércio Longo: Quando o Objetivo de Lucro ou Stop-Loss é atingido. Ou quando o preço de fechamento cruza de acima para abaixo de 25 EMA. Fechar Short Trade: Quando o objetivo de lucro ou Stop-Loss é atingido. Ou quando o preço de fechamento cruza abaixo de acima de 25 EMA Este artigo é acompanhado por um artigo video e eu sugiro que você preste atenção ao vídeo ao ler o artigo. MT4 Expert Advisor MT4 é uma plataforma de negociação amplamente utilizada, oferecida por Forex Brokers em todo o mundo. EAs são programas escritos usando a linguagem MQL4 que descrevem estratégias de negociação. Se você estiver interessado em aprender mais sobre MQL4, há um guia de referência on-line, o MQL4 Book. Vamos usar esse comando para definir nossos critérios de abertura comercial. Por exemplo: define LongTrade 1 Entradas Externas Todas as variáveis que queremos ser capazes de alterar ou otimizar manualmente são chamadas de variáveis externas e as indicamos usando extern. Por exemplo: extern double PercentagePerTrade 1.0 O acima define uma variável externa que é um número de tipo duplo. Os números duplos são números reais com um ponto decimal. PercentagePerTrade é o nome da variável e representa a quantidade de capital que vamos investir por comércio. 1.0 é o nosso valor inicial. Int Start () Todos os cálculos e operações realizadas pela EA estão dentro da função Start (). O conteúdo da função de início é fechado com chaves. A função de início é executada sempre que um novo tick (mudança no preço de mercado) é recebido. Isso é importante porque a EA precisa estar constantemente monitorando o mercado, pronto para agir quando os critérios de negociação forem atendidos. Declarando Variáveis Nossa EA usa variáveis para realizar os cálculos necessários para seguir a estratégia de negociação. Declaramos as variáveis dizendo ao MT4 que tipo de variáveis elas são. Já vimos o tipo duplo de variável. Os outros tipos de variáveis utilizadas neste EA são: Calcular Lotes por Comércio Gosto de usar estratégias de negociação que alteram o tamanho do comércio com base no montante arriscado. Nesta EA o stop-loss é automaticamente calculado com base em um múltiplo do ATR. Esta parte do programa usa o percentual de risco eo comprimento stop-loss para definir automaticamente o número de lotes por comércio. Calcular Indicadores Técnicos Esta parte do programa define os indicadores técnicos que vamos usar nesta EA. O indicador SuperTrend não vem construído em MT4 e por isso vamos usar um indicador personalizado para isso. Os indicadores personalizados são chamados iCustom. Em nossa EA, utilizamos o seguinte para descrever o indicador SuperTrend: double ST1 iCustom (NULL, 0, 8220SuperTrend8221, 20, STMultiplier, 0, 1) A linha acima apresenta as seguintes informações: Chamamos a variável ST1 e a definimos Como um tipo duplo. NULL significa que este indicador pode ser executado em qualquer mercado. 0 significa que este indicador pode ser executado em qualquer período de tempo. 8220SuperTrend8221 é o nome do indicador. 20 é o número de períodos em que o indicador SuperTrend é calculado. STMultiplier é a variável externa que definimos anteriormente, o valor inicial é 2.0. 0 é o modo do SuperTrend e neste caso se refere à linha do indicador principal. 1 refere-se ao período anterior, que é a última barra completa. Nós só queremos que este EA para o comércio com base em um bar completo. Os outros indicadores utilizados são EMA (média móvel exponencial), SMA (média móvel simples) e ATR. Esses indicadores são construídos em MT4 e mais informações podem ser encontradas sobre como personalizá-los na seção do livro MQL4 em indicadores técnicos. Insira o Comércio Longo Nesta seção, estabelecemos nossos critérios de entrada no mercado. Usamos uma instrução IF para definir os critérios. Se (Close1 gt ST1 ampamp Close2 lt ST2 ampamp Close1 gt SMA1) Ordem LongTrade se (Close1 gt SMA1 ampamp Close2 lt SMA2 ampamp Close1 gt ST1) Ordem LongTrade Verifique o tempo de negociação O mercado forex está aberto 24 horas por dia, 5 dias por semana . No entanto, a quantidade de liquidez varia significativamente em diferentes momentos do dia. Muitas EAs funcionarão melhor em determinados momentos do dia. Em nossas variáveis externas, definimos os tempos em que a EA deve estar à procura de negócios. Esta IF declaração irá verificar se o EA está autorizado a operar no momento atual se assim ele vai passar para a próxima fase, se não vai esperar para o próximo carrapato e verificar o tempo novamente. Número de Negócios Permitidos Esta parte do programa conta o número de negócios que estão vivos ou pendentes da EA. Ignorará as negociações e os comércios manuais feitos por outros EAs com um número mágico diferente. O Magic Number é um número único que identifica cada Expert Advisor. Ele é definido como uma variável externa. Operações de Abertura Nesta fase, a nossa EA verificou que todos os critérios anteriores foram cumpridos e pode abrir um comércio longo. Antes que possamos abrir um comércio, precisamos usar nossas variáveis externas para calcular nossas metas de stop-loss e lucros. If (UseStopLoss) double LongStopLossLevel Pedir 8211 (ATR SLATRMultiplier) else LongStopLossLevel 0.0 se (UseTakeProfit) double LongTakeProfitLevel Perguntar (ATR TPATRMultiplier) else LongTakeProfitLevel 0.0 O comércio é aberto usando a função OrderSend. Nossos negócios longos são abertos com o seguinte: ticket OrderSend (Símbolo (), OPBUY, LotsTraded, Ask, Slippage, LongStopLossLevel, LongTakeProfitLevel, 8221Buy (8221 MagicNumber 8220) 8221, MagicNumber, 0, Green) if (ticketgt0) Estratégia de negociação, as posições podem ser fechadas atravessando a EMA. A primeira coisa que precisamos fazer é verificar se o EA atualmente tem uma posição aberta. Para fazer isso usamos para que configura um ciclo para contar o número de posições abertas: Se tivermos uma posição aberta, a função OrderSelect irá encontrar essa posição e selecioná-la. OrderSelect (cnt, SELECTBYPOS, MODETRADES) A função OrderType será usada para verificar se a posição aberta é uma posição longa ou uma posição curta. OrderType () ltOPSELL ampamp OrderSymbol () Symbol () Nossos critérios para fechar uma posição longa são: if (Close1 lt EMA1 ampamp Close2 gt EMA2) Trailing Stop Um trailing stop pode ser útil para bloquear lucros. Nossa estratégia de negociação original não usa uma parada de arrasto, no entanto, podemos usar MT4 para ver se ele poderia melhorar a nossa rentabilidade. O código a seguir usa uma série de instruções if para verificar se estamos usando uma parada de arrasto e, em caso afirmativo, se nosso stop-loss deve ser alterado com base na última alteração de preço. If (UseTrailingStop) if (Bid-OrderOpenPrice () gt (TSATRMultiplierATR)) if (OrderStopLoss () ltBid - (TSATRMultiplierATR)) O stop-loss é alterado usando a função OrderModify. Trading Live 8211 Atenção Este EA é um modelo de trabalho que pode ser usado para backtest uma estratégia de negociação. No entanto, se você pretende usar um EA auto-construído para negociação ao vivo você deve primeiro testá-lo usando uma conta demo. Fazendo isso, você será capaz de ver exatamente como a EA opera e se causa problemas com outros EAs ou negociação manual. Obter o Expert Advisor eo Indicador Personalizado do SuperTrend Se você quiser obter o código personalizado do EA e do SuperTrend, simplesmente inscreva-se no meu site usando a página Inscrever e eu enviarei um link para fazer o download deles. Links relacionados Se você gostaria de melhorar sua negociação e está interessado em usar o Excel para testar estratégias de negociação, eu tenho um curso de ebook disponível. Para obter mais informações, consulte o meu artigo, Como se tornar um comerciante melhor 8211 Backtest seus próprios sistemas de negociação. Compartilhe isso: Minha supertrend EA - ajuda necessária Parece que eu deveria entrar no novo bar aberto apenas. Heres uma função que retornará TRUE se uma nova barra acaba de formar: // Esta função retorna TRUE no primeiro tick uma barra ou seja, após a barra anterior acaba de fechar bool NewBar () if (PreviousBarTimeltTime0) PreviousBarTime Time0 return (true) Return (false) // caso a instrução if - else não seja executada, você precisa declarar o datetime de PreviousBarTime no início do EA. Então no seu código você pode usar apenas se (NewBar ()). Código que você precisa para ser executado após uma barra fechou aqui. Oi jezzer, obrigado pelo seu tempo Você pode me fazer um favor e adicionar o código no lugar certo para mim Eu sou inútil em tudo isso Qualquer outra pessoa é bem-vinda para ajudar se eles podem Isso não é problema, Viv. Estou feliz em fazê-lo, mas ele terá que ir para o fundo do meu quotTo Doquot lista e pode demorar uma semana ou duas antes de eu até mesmo começar a olhar para ele. Eu publiquei uma possível solução para o seu problema, porque este foi muito mais rápido, e alguém pode gostar de dar-lhe um ir. Penso também que poderia ser melhor inserir um bool externo, para dar a opção de entrar na barra fechar apenas ou não. O que poderia funcionar em M1 por exemplo wouldnt necessariamente trabalhar em outros cronogramas, então eu acho que seria melhor ter a opção de ambos. Oi jezzer1961 e bem-vindo Obrigado jezzer. Eu pedi a Funyoo para dar uma olhada, mas por favor, mantenha-o no seu para fazer pile incase ele é incapaz de ajudar. Eu sou suer seu não um trabalho grande. Vou deixar você saber se alguém conseguiu alterar o código para que ele possa ser retirado da sua lista. Obrigado pela sua ajuda Na linha 137, após quotreturn (0) quot, adicione: Na linha 84, antes de quot) SELLquottruequotquot, adicione:
Comments
Post a Comment