MetaTrader 4 - Exemplos Gráficos Offline no Novo MQL4 O MQL4 atualizado possui o novo formato para armazenar dados históricos e fornece a estrutura MqlRates apropriada para armazenamento conveniente de valores de Tempo, Aberto, Baixo, Alto, Fechado e Volume. Por muitos anos, os comerciantes desenvolveram suas aplicações de MQL4 que coletam e armazenam seus dados em limas de HST para gerar cartas fora de linha. Podemos garantir que todos os arquivos EX4 previamente compilados funcionarão no novo terminal MetaTrader 4 da mesma maneira que antes. Todos os programas EX4 antigos funcionam no novo terminal MetaTrader 4 Como já mencionado, não um único arquivo executável personalizado EX4 compilado pelo compilador antigo será excluído ou alterado ao atualizar o terminal. Isso significa que todos os seus aplicativos testados e testados não incluídos na entrega padrão dos terminais serão automaticamente copiados para o novo local e permanecem disponíveis para o trabalho. Gráficos Offline no Terminal MetaTrader 4 A entrega padrão do novo terminal cliente contém o script PeriodConverter atualizado que gera arquivos HST no novo formato. No entanto, se você tiver programas baseados no script periodconverter mais antigo e compilado com o compilador mais antigo, eles funcionarão como de costume. Suponha que temos o script compilado periodconverter509.ex4 desenvolvido pela versão mais antiga. Durante a atualização, ele foi automaticamente copiado para o novo local de armazenamento e agora está disponível para ser iniciado na janela do Navegador. Nós aplicamo-lo ao EUR / USD M1 gráfico para a criação de EURUSD M2 história personalizada. O multiplicador é definido como 3 por padrão. Vamos alterá-lo para 2. Também devemos ter certeza de ativar a chamada DLL para ser capaz de gerenciar off-line EURUSD gráfico M2 vamos abrir depois que a história apropriada é formada. Assim que o script relatar a geração do arquivo de dados para a revista Experts, vá para File - Open Offline e encontre a linha EURUSD M2. Esses são os dados preparados pelo nosso script. Depois que o gráfico offline é aberto, o script continua trabalhando com o EURUSD M1 e processando recém-chegados em tempo real. Depois que ele descobre que o gráfico off-line com o período de tempo especificado foi aberto, ele começa a enviar comandos de atualização para esse gráfico uma vez por dois segundos. Assim, o script antigo compilado pela versão mais antiga do compilador opera com êxito no novo terminal activando todas as funcionalidades incorporadas. Realize todas as etapas descritas: Baixe o arquivo executável anexado periodconverter509.ex4 e coloque-o no ltdata foldergtMQL4Scripts. Atualizando o script antigo para o novo compilador Em algum momento, talvez seja necessário alterar o código-fonte do aplicativo e compilá-lo no novo MetaEditor. Aqui vamos mostrar como considerar as mudanças na linguagem MQL4 por duas pequenas correções usando o script periodconverter509 como exemplo. Claro, podemos compilar o código fonte de periodconveter509.mq4 sem quaisquer alterações, e ele vai funcionar. Mas seria melhor levar em conta as mudanças de linguagem e fazer pequenas correções ao código. Modo de acesso compartilhado deve ser especificado explicitamente ao abrir o arquivo Como você pode se lembrar, todos os arquivos foram abertos no modo de acesso compartilhado no antigo MQL4. No novo MQL4, os sinalizadores FILESHAREWRITE e FILESHAREREAD devem ser explicitamente especificados para uso compartilhado ao abrir arquivos. Se as bandeiras estiverem ausentes, o arquivo será aberto em modo exclusivo e não poderá ser aberto por ninguém até que seja fechado pelo usuário que o abriu. Esse é exatamente o comportamento que precisamos, uma vez que queremos abrir o arquivo de dados históricos gerado pelo script no terminal MetaTrader 4 como um gráfico off-line. Assim, simplesmente adicionamos estas duas bandeiras à chamada de função FileOpenHistory (): Agora, FileFlush () limpa os dados armazenados para o disco imediatamente a função FileFlush () é usada com muita freqüência no script antigo. Não é necessário chamá-lo após cada gravação dos dados de barra durante a primeira geração de arquivo. Seria suficiente para fazer isso no final, quando todos os dados preparados sobre um símbolo não-padrão e / ou prazo é gravado. O fato é que a implementação da função FileFlush () foi alterada na nova versão do idioma MQL4 para permitir que os dados instantâneos flush para a unidade física. A versão antiga usou o writeback de dados, e várias chamadas não levaram ao slowdown da operação de script. Permite salvar o arquivo obtido após essas duas correções como periodconverter580.mq4 e compilá-lo. Você pode baixá-lo dos arquivos anexados a este artigo. Agora, abrimos outro gráfico EUR1 M1 e executamos o script com o parâmetro 3 para criar um gráfico EURUSD não-padrão de três minutos. Depois que o arquivo de dados é gerado, nós o abrimos como um gráfico offline do EURUSD M3. Como esperado, depois que o gráfico foi aberto, o script periodconverter580 lançado detectou e enviou uma mensagem para o diário. De agora em diante, ele enviará o comando de atualização para o gráfico off-line não mais de uma vez por 2 segundos. Assim, nós testamos trabalhando com o formato de armazenamento de dados histórico anterior e asseguramos que tudo funciona como antes. Novo Script do PeriodConverter A entrega padrão da nova versão do terminal do cliente MetaTrader 4 também contém o script do PeriodConverter que executa as mesmas tarefas do seu antecessor. No entanto, ele tem algumas pequenas diferenças do antigo, como ele foi desenvolvido usando o novo estilo de código-fonte. Além disso, ele apresenta as novas possibilidades de linguagem MQL4. A diferença mais importante em relação à versão anterior é o uso da nova estrutura MqlRates desenvolvida para trabalhar com dados de barras de preços no novo formato: os desenvolvedores MQL4 que usam ativamente gráficos offline apreciarão rapidamente a conveniência da nova abordagem. Estrutura para armazenar informações sobre preços, volumes e spread Vamos compilar o novo script do PeriodConverter e lançá-lo no novo gráfico do EURUSD M1, como os anteriores. Neste momento, estamos a preparar os dados para o offline EURUSD M4 gráfico. Assim, o multiplicador é igual a 4. Depois que os dados foram preparados, estamos abrindo o gráfico offline da mesma maneira. Como você pode ver, todas as três versões do script estão funcionando da mesma forma. Todos os comerciantes que trabalham com gráficos de símbolos personalizados ou períodos de tempo não-padrão poderão utilizá-los na nova versão do terminal MetaTrader 4, bem como melhorar os códigos de fonte existentes e desenvolver os novos. Nenhuma mudança ou dificuldade fundamental o espera enquanto muda para a nova versão. Conclusão Os gráficos off-line no novo terminal funcionam da mesma maneira como antes. Ambos os formatos de dados históricos novos e anteriores são suportados. Os arquivos EX4 antigos preservam sua funcionalidade no novo terminal. Começar a desenvolver novas aplicações MQL4 usando todos os novos recursos de linguagem e revelar seu potencial completo. Custom Offline Charts em MetaTrader 4 Quando você clica na caixa de diálogo Arquivo na parte superior do MetaTrader, uma das opções de topo é 8220Open Offline.8221 A maioria das pessoas não tem idéia O que essa opção faz ou porque é útil. Os gráficos off-line oferecem a capacidade de exibir quadros de tempo personalizados, embora isso exija a programação de um script personalizado. Scripts classificar através de dados em gráficos regulares, em seguida, o código reorganiza os dados em um novo período de tempo. O novo intervalo de tempo aparece em gráficos off-line. Experimente sozinho com um dos scripts padrão MT48217: Abra o navegador. Identifique o script chamado 8220periodconverter.8221 Arraste e solte o script em um gráfico. Altere o período para algo diferente do gráfico que você abriu. O exemplo na imagem abaixo transforma um gráfico H1 em um gráfico H2. Definir o ExtPeriodMultiplier 2. Vá para File Offline Charts. Selecione o novo período H2 que aparece na lista. Eis um gráfico offline de duas horas. Um recurso que você notará é que este gráfico 8220offline8221 realmente parece atualizar com o preço. O script é escrito de tal forma que ele alimenta dados através do gráfico off-line em intervalos regulares. Alguns comerciantes gostam de executar Expert Advisors em gráficos off-line. Ele funciona a maior parte do tempo, mas acrescenta problemas potenciais extras. Execução vai abrandar devido à forma como o script regula ticks de entrada. O mesmo problema, que é causado por executar um loop infinito, faz com que o gráfico para parar de trabalho em ocasiões raras. Isto é onde os grandes problemas ocorrem. Uma EA que não recebe mais preços de atualização é um cenário de pesadelo. Os negócios ficam nus quando ocorrem esses eventos. Não há muito que você possa fazer sobre isso a partir de uma perspectiva de codificação. Comentários I8217ve tem uma estratégia muito simples correndo em 25 pares. Embora existam vários comércios a cada dia, é uma coisa bastante 8211 sem scalping qualquer, paradas relativamente grande (de POV intraday) 8230 e, embora it8217s não a abordagem cesta clássico 8220buy que, vender that8221 e cada par é otimizado para seguir seu próprio caminho , As posições de hedge uns aos outros a maior parte do tempo para o drawdown doesn8217t ir louco, mesmo em mudanças de fluxo desenfreado. It8217s foi rentável intocado durante meses de negociação ao vivo e anos de backtests dados tick, mas 8211 como qualquer outra estratégia 8211 tem seus períodos de queda. Depois de tentar mudar a coisa off / on durante os dias ruins I8217ve tem a idéia de trocar o seu gráfico de equidade. Então eu fiz um grande turno: vamos manter a estratégia em execução em uma conta demo (it8217s realmente preguiçoso não é sensível a preenchimentos / escorregar) em um servidor A demo cria uma CARTA OFFLINE (todos os cronogramas M3) mostrando equidade. Com o compartilhamento SMB e os links simbólicos apontados para a pasta de histórico MT4, e um indicador de geração de carrapatos simples, eu posso usar esses gráficos em qualquer lugar. I8217m analisando o patrimônio de demonstração da estratégia intocada via offline charts. I8217m usando alguns indicadores e níveis comuns (sim, pode parecer louco, mas o gráfico de equidade tem níveis para se apoiar, e eles não são o tipo de níveis desenhados por naysayers em gráficos aleatórios) 8230 na conta real, eu só tenho um tipo de 8220trade copier8221 de uma única instância ouvindo comandos do painel de controle. I8217m 8220driving8221 a estratégia manualmente 8211 desde a curva de equidade realmente tem um viés longo (sendo agitado às vezes), 8282m 8220buying o dips8221 do gráfico off-line, fechando tudo em tops e abrindo o cesto demo atual em bottoms, levando cada comércio adicional juntamente com Demo para um top significativo novamente It8217s sido altamente confiável para mim 8211 trading the equity chart de uma forma sofisticada (mais complexo do que kinda acima / abaixo MA) tem booosted meu R / R por um fator de 2.6 mais de 1.500 comércios. Sem um gráfico personalizado, eu não poderia fazer tal coisa. Eu meio que gosto de MT5 em alguns aspectos. Mas sua incapacidade de lidar com gráficos / dados personalizados mata tudo o que pode ser bom nela. Uau, muito impressionante. Deve ter demorado muito tempo só para conseguir esse trabalho. Soa como uma boa ideia, visto estratégias no passado onde os sinais da curva de equidade são melhores do que os sinais do mercado. Michael Halls-Moore mencionou estudar o sinal de sinais na minha entrevista com ele. Talvez a minha pergunta é tão estúpida, mas qual é a vantagem de usar um gráfico offline versus gráfico não-offline Qual estratégia precisa de um gráfico off-line ou melhor executar em um gráfico off-line Por que é tão complicado por isso precisamos de um script ou EA para usar O gráfico Você não precisa responder se minha pergunta não é inteligente o suficiente ou chamá-lo tão estúpido. Obrigado. Os gráficos on-line são aqueles que já existem no MT4. Se você quiser criar um gráfico que 8217s não está disponível no MT4, como um gráfico Renko, por exemplo, então you8217d necessidade de usar um gráfico off-line. Depois de abrir o gráfico off-line para o gráfico M2, abra as propriedades do gráfico off-line e desmarque a caixa 8216Offline Chart8217. Agora seu gráfico off-line M2 é compatível para executar qualquer EA que funciona no gráfico normal. Eu funciono um conselheiro perito que seja hospedado em MT4 VPS, em gráficos 4H baseados no tempo de Londres. Como eu estou explorando usando diferentes corretores com MT4 Server Times diferentes (NY Time, EST, etc), estou trabalhando com um programador para alterar o 4H Charts para ser rebaixado de volta para Londres Time, porque os resultados são os melhores com base em Londres Tempo 4H Gráficos. Meu programador mencionou que há duas maneiras de fazer isso: 1 está usando um gráfico Offline (como acima), enquanto o outro método é renderizar as barras Live (semelhante a ter um indicador Heiken Ashi no topo dos gráficos) . Então ele menciona que existem 2 opções disponíveis, Offline método ou Live método. Lendo o seu artigo acima (Problemas de execução mais lenta devido a não ter tick-by-tick dados e potenciais negócios despidos), teria o Programador Render o novo 4H Charts Live e, em seguida, ter o EA executar nele (eu acolhê-lo em MT4 VPS ) Ser uma opção melhor Boa pergunta. Gostaria de executar o meu EA em gráficos H1, construir as barras H4 internamente dentro da EA, em seguida, colocar negócios em conformidade. OneStepRemoved também oferece seu próprio serviço de programação de EA se você encontrar qualquer dificuldade. USDLFX Offline Chart Creator EA Registrado em Ago 2014 Status: Working. 1.521 Mensagens Este consultor especialista cria gráficos offline USDLFX. USDLFX é um índice desenvolvido pela LiteForex. Este símbolo não está disponível em outros corretores. Esta EA tenta preencher essa lacuna. É necessário anexar a EA a um gráfico EURUSD. A EA gera o gráfico USDLFX com o mesmo período de tempo que o gráfico de quadros do EURUSD. --- Atualização 2015-05-15 --- Versão 1.4 lançada. Nesta versão o usuário pode especificar sufixo para os símbolos. --- Atualização 2015-05-02 --- Versão 1.3 lançado. Nesta versão podem ser selecionados USDLFX, EURLFX, GBPLFX, LFXJPY, AUDLFX, NZDLFX, CADLFX e CHFLFX. Não haveria mechas para as barras criadas a partir da história. --- Atualização 2, 2015-04-30 --- Versão 1.2 lançado. Esta versão calcula wicks com mais precisão do que a versão anterior na falta de ter acesso aos carrapatos passado. Imagem anexa (clique para ampliar) Este consultor especialista cria gráficos USDLFX offline. USDLFX é um índice desenvolvido pela LiteForex. Este símbolo não está disponível em outros corretores. Esta EA tenta preencher esta lacuna. É necessário anexar a EA a um gráfico EURUSD. A EA gera o gráfico USDLFX com o mesmo período de tempo que o gráfico de quadros do EURUSD. --- Atualização 2, 2015-04-30 --- Versão 1.2 lançado. Esta versão calcula wicks com mais precisão do que a versão anterior na falta de ter acesso aos carrapatos passado. --- Atualização 1, 2015-04-30 --- Versão 1.1 lançada. Houve. Olá MathTrader7, eu baixei liteforex mt4 mas não consigo encontrar seu índice USDLFX, você tem alguma idéia sobre o que devo fazer. Obrigado.
Comments
Post a Comment