Retail forex traders statistics symbols


MetaTrader 5 - Trading MetaTrader 5 possui sistema de contabilidade de posição de hedge A plataforma MetaTrader 5 foi originalmente projetada para negociação dentro do sistema de contabilidade de posição de compensação. O sistema de rede permite ter apenas uma posição por instrumento financeiro, o que significa que todas as operações futuras desse instrumento levam apenas ao fechamento, reversão ou alteração do volume da posição já existente. Para expandir as possibilidades dos comerciantes Forex de varejo, adicionamos o segundo hedging do sistema contábil. Agora, é possível ter várias posições por símbolo, incluindo os direcionados de forma oposta. Isso abre o caminho para implementar estratégias de negociação com base no chamado bloqueio se o preço se mover contra um comerciante, eles podem abrir uma posição na direção oposta. Uma vez que o novo sistema é semelhante ao usado no MetaTrader 4, será familiar para os comerciantes. Ao mesmo tempo, os comerciantes poderão aproveitar todas as vantagens da versão da plataforma da quinta versão usando pedidos múltiplos (incluindo preenchimentos parciais), multi-moeda e testador multi-thread com suporte para MQL5 Cloud Network. e muito mais. Agora, você pode usar uma conta para trocar os mercados que aderem ao sistema de compensação e permitir ter apenas uma posição por instrumento e usar outra conta na mesma plataforma para negociar Forex e aplicar cobertura. Este artigo descreve os sistemas de compensação e cobertura em detalhes, além de lançar luz sobre as mudanças relacionadas à implementação do segundo sistema contábil. Contabilidade de posição depende de uma conta de negociação Um sistema de contabilidade de posição é definido em um nível de conta e exibido no cabeçalho da janela do terminal e no Diário: Para abrir uma conta de demonstração com hedge, habilite a opção apropriada: Para abrir uma conta real com cobertura, entre em contato Seu corretor. Sistema de rede Com este sistema, você pode ter apenas uma posição comum para um símbolo ao mesmo tempo: se houver uma posição aberta para um símbolo, executar um negócio na mesma direção aumenta o volume desta posição. Se um acordo for executado na direção oposta, o volume da posição existente pode ser diminuído, a posição pode ser fechada (quando o volume do negócio é igual ao volume da posição) ou invertida (se o volume do negócio oposto for maior que A posição atual). Não importa, o que causou o acordo oposto, uma ordem de mercado executada ou uma ordem pendente desencadeada. O exemplo abaixo mostra a execução de duas ofertas de EURUSD. 0,5 lotes cada: a execução de ambas as ofertas resultou em uma posição comum de 1 lote. Sistema de cobertura Com este sistema, você pode ter várias posições abertas de um e o mesmo símbolo, incluindo posições opostas. Se você tem uma posição aberta para um símbolo e executa um novo acordo (ou uma ordem pendente dispara), uma nova posição é adicionalmente aberta. Sua posição atual não muda. O exemplo abaixo mostra a execução de duas ofertas de EURUSD. 0,5 lotes cada: a execução desses negócios resultou na abertura de duas posições separadas. Impacto do sistema selecionado Dependendo do sistema de contabilidade de posição, algumas das funções da plataforma podem ter um comportamento diferente: Alterações de Stop Loss e Take Profit. Para fechar uma posição no sistema de rede, você deve executar uma operação de negociação oposta para o mesmo símbolo e o mesmo volume. Para fechar uma posição no sistema de cobertura, selecione explicitamente o comando Fechar Posição no menu de contexto da posição. Uma posição não pode ser revertida no sistema de hedge. Nesse caso, a posição atual é fechada e uma nova com o volume restante é aberta. No sistema de hedge, uma nova condição para o cálculo de margem está disponível Margem coberta. Novo tipo de operação comercial - Close By O novo tipo de operação comercial foi adicionado para contas de hedge fechando um cargo por um oposto. Esta operação permite fechar duas posições dirigidas de forma oposta em um único símbolo. Se as posições opostas tiverem diferentes números de lotes, apenas uma ordem dos dois permanece aberta. Seu volume será igual à diferença de lotes das posições fechadas, enquanto a direção da posição e o preço aberto combinarão (por volume) o maior das posições fechadas. Em comparação com um único encerramento das duas posições, o fechamento por uma posição oposta permite que os comerciantes economizem um spread: no caso de um único fechamento, os comerciantes devem pagar um spread duas vezes: ao fechar uma posição de compra a um preço mais baixo (Licitação) E fechando uma posição de venda em um maior (Ask). Ao usar uma posição oposta, um preço aberto da segunda posição é usado para fechar o primeiro, enquanto um preço aberto da primeira posição é usado para fechar o segundo. No último caso, um fim por ordem é colocado. Ingressos de posições fechadas são especificados em seu comentário. Um par de posições opostas é fechado por dois out por negócios. O lucro total resultante do fechamento das duas posições é especificado apenas em um acordo. Cálculo de margem no sistema de hedge de contabilidade de posição Se o sistema de contabilidade de posição de hedge for usado, a margem é calculada usando as mesmas fórmulas e princípios conforme descrito acima. No entanto, existem alguns recursos adicionais para várias posições do mesmo símbolo. Publicações de posições abertas na mesma direção Seus volumes são resumidos e o preço aberto médio ponderado é calculado para eles. Os valores resultantes são usados ​​para calcular margem pela fórmula correspondente ao tipo de símbolo. Para pedidos pendentes (se o índice de margem não for zero), a margem é calculada separadamente. As posições abertas dirigidas de forma oponente do mesmo símbolo são consideradas cobertas ou cobertas. São possíveis dois métodos de cálculo de margem para tais posições. O método de cálculo é determinado pelo corretor. Usando a perna maior Usada se calcular usando uma perna maior não é especificada no campo da margem com cobertura das especificações do contrato. O cálculo consiste em várias etapas: Para o volume descoberto Para o volume coberto (se o tamanho da margem coberta for especificado) Para pedidos pendentes O valor da margem resultante é calculado como a soma das margens calculadas em cada etapa. Cálculo do volume descoberto Cálculo do volume total de Todas as posições e ordens de mercado para cada uma das pernas compram e vendem. Cálculo da posição média ponderada e da ordem do mercado preço aberto para cada perna: (preço aberto da posição ou da ordem 1 volume da posição ou da ordem 1. preço aberto da posição ou da ordem N volume da posição ou da ordem N) (volume da posição ou da ordem 1. volume de posição ou ordem N). Cálculo do volume descoberto (o menor volume da perna é subtraído do maior). O volume calculado e o preço médio ponderado são utilizados para calcular a margem pela fórmula apropriada correspondente ao tipo de símbolo. O valor médio ponderado da razão e da taxa é usado quando se toma em consideração o índice de margem e a moeda da margem de conversão para a moeda de depósito. Cálculo para o volume coberto Usado se o valor da margem Hedged for especificado em uma especificação do contrato. Neste caso, a margem é cobrada pelo hedge, bem como o volume descoberto. Se a margem inicial for especificada para um símbolo, a margem coberta é especificada como valor absoluto (em termos monetários). Se a margem inicial não for especificada (igual a 0), o tamanho do contrato é especificado no campo Hedged. A margem é calculada pela fórmula apropriada de acordo com o tipo do instrumento financeiro, usando o tamanho do contrato especificado. Por exemplo, temos duas posições Comprar EURUSD 1 lote e Vender EURUSD 1 lote, o tamanho do contrato é 100,000. Se o valor de 100.000 for especificado no campo Hedged, a margem para as duas posições será calculada por 1 lote. Se você especificar 0, nenhuma margem será cobrada pelo volume coberto (coberto). Por cada lote coberto de uma posição, a margem é cobrada de acordo com o valor especificado no campo Margem Coberta na especificação do contrato: Cálculo do volume coberto para todas as posições abertas e ordens de mercado (o volume descoberto é subtraído da perna maior). Cálculo da posição média ponderada e da ordem do mercado preço aberto: (preço aberto da posição ou da ordem 1 volume da posição ou da ordem 1. preço aberto da posição ou da ordem N volume da posição ou da ordem N) (volume da posição ou da ordem 1. Volume De posição ou ordem N). O volume calculado, o preço médio ponderado e o valor da margem coberta são utilizados para calcular a margem pela fórmula apropriada correspondente ao tipo de símbolo. O valor médio ponderado da razão e da taxa é usado quando se toma em consideração o índice de margem e a moeda da margem de conversão para a moeda de depósito. Cálculo para ordens pendentes Cálculo de margem para cada tipo de pedido pendente separadamente (Limite de Compra, Limite de Venda, etc.). O valor médio ponderado da proporção e da taxa para cada tipo de ordem pendente é usado quando se toma em consideração o índice de margem e a moeda da margem de conversão para a moeda de depósito. Usado se o cálculo usando uma perna maior é especificado no campo da margem coberta das especificações do contrato. Cálculo da margem para pernas mais curtas e mais longas para todas as posições abertas e ordens de mercado. Cálculo de margem para cada tipo de pedido pendente separadamente (Limite de Compra, Limite de Venda, etc.). Resumindo uma margem de perna mais longa: posições longas e ordens de mercado pendentes de pedidos pendentes. Resumindo uma margem de perna mais curta: posições curtas e ordens de mercado pendentes pedidos pendentes. O maior de todos os valores calculados é usado como valor de margem final. Mudanças no MQL5 Agora, cada posição tem seu bilhete exclusivo. Normalmente corresponde ao ingresso de uma ordem usada para abrir a posição. Um ticket é atribuído automaticamente a todas as posições disponíveis após a atualização do terminal. Ao modificar ou fechar uma posição no sistema de hedge, certifique-se de especificar seu ticket (MqlTradeRequest :: ticket). Você também pode especificar um ingresso no sistema de rede, no entanto, as posições são identificadas por um nome de símbolo. Bilhete de posição. Preencha-o ao mudar e fechar uma posição para sua identificação clara. Ele geralmente corresponde ao ticket de uma ordem usada para abrir a posição. Posicione-se pelo bilhete de posição oposto. É usado ao fechar uma posição por um oposto (aberto no mesmo símbolo, mas na direção oposta). MqlTradeTransaction também possui os dois campos similares: ticket de posição de uma posição afetada pela transação. É preenchido para transações relacionadas ao manuseio de ordens de mercado (TRADETRANSACTIONORDER, exceto TRADETRANSACTIONORDERADD, onde ainda não foi atribuído um ticket de posição) e histórico de pedidos (TRADETRANSACTIONHISTORY). Posicione-se pelo bilhete de posição oposto. É usado ao fechar uma posição por um oposto (aberto no mesmo símbolo, mas na direção oposta). Ele é preenchido apenas para ordens que fecham uma posição por um oposto (perto) e promoções fechando por um oposto (fora). A nova função PositionGetTicket retorna um ticket de posição por um índice na lista de posições abertas e seleciona automaticamente essa posição para mais trabalhos usando o PositionGetDouble. PositionGetInteger. E funções PositionGetString. A nova função PositionSelectByTicket seleciona uma posição aberta para mais trabalhos por um ticket especificado. PositionSelect seleciona uma posição por um nome de símbolo para mais trabalhos usando o PositionGetDouble. PositionGetInteger. E funções PositionGetString. No sistema de hedge (onde pode haver várias posições em um único símbolo), a função seleciona uma posição com o ticket mais baixo. A nova propriedade ACCOUNTMARGINMODE permite receber o modo de cálculo de margem e contabilidade de posição em uma conta de negociação: Ferramenta de Indicador de Forex Institucional GRATUITA Membro Comercial Ago 2010 48 Posts Você sabe o que dá aos Comerciantes Institucionais mais alto do que os comerciantes comuns Simples. Eles vêem, e têm muitos dados que lhes dão uma séria vantagem sobre os comerciantes de varejo. Heres uma Ferramenta de Negociação Institucional GRATUITA que mostra exatamente o que eles vêem (Dados ao Vivo da API de MyFxbook, Informações sobre 70 Símbolos, Até 100,000 Posições de Comerciantes ao Vivo, Curto vs. Longo - Rácio de Posições em Porcentagem, Volume de Posições, Número de Posições) e muitos Informações mais úteis que aparecem diretamente em seu gráfico que guiarão suas decisões comerciais. Totalmente GRÁTIS. Você sabe o que dá aos comerciantes institucionais uma vantagem maior do que os comerciantes comuns simples. Eles vêem, e têm muitos dados que lhes dão uma séria vantagem sobre os comerciantes de varejo. Heres uma Ferramenta de Negociação Institucional GRATUITA que mostra exatamente o que eles vêem (Dados ao Vivo da API de MyFxbook, Informações sobre 70 Símbolos, Até 100,000 Posições de Comerciantes ao Vivo, Curto vs. Longo - Rácio de Posições em Porcentagem, Volume de Posições, Número de Posições) e muitos Informações mais úteis que aparecem diretamente em seu gráfico que guiarão suas decisões comerciais. Totalmente GRÁTIS. Faça o download. Algumas informações importantes da análise de hoje sobre a ferramenta: o dólar australiano é seriamente fraco em 17 contra um forte NZD em 82. Isso implica que mais de 100 mil comerciantes estão comprando o NZD e vendendo AUD (AUDNZD). Isso é evidente no resultado fundamental do último comunicado de imprensa econômica ontem. Ouro (XAUUSD) 36 são curtos enquanto 63 são longos. No longo prazo, o ouro esteve sob o 200SMA. EURGBP: 3267 Cerca de 1.367 posições são baixas, enquanto 2.350 são longas Imagem anexada (clique para ampliar) Estas e muitas mais informações são fornecidas por esta ferramenta diretamente no meu gráfico. Você não precisa minimizar seu gráfico ao visitar sites para obter essas informações úteis. Então você economiza largura de banda e maximiza recursos. O que é mais, suas opções FREEFX A Nasdaq oferece uma variedade de ofertas de derivativos, incluindo as Opções de FX, proporcionando aos comerciantes de varejo e institucionais a oportunidade de negociar opções em sete principais moedas estrangeiras. Características e funcionalidade Fácil de negociar: Liquidação e tamanho do dólar, em vez de em moeda estrangeira subjacente Comércio em suas opções de moeda estrangeira, conta de corretagem aprovada Exercício de estilo europeu, mas sempre pode ser comprado ou vendido antes da expiração Fácil de entender : Exibido de forma semelhante às opções do índice - movendo os dois locais decimais para a direita. Iniciando As opções do Nasdaq FX estão estruturadas para estarem disponíveis para negociação através de qualquer conta de opções aprovada em um corretor de valores mobiliários. Diversifique seu portfólio com as Opções da Nasdaq FX, contatando seu corretor para mais informações. FX Options SheetWhats novo no MetaTrader 5 27 de janeiro de 2017 Agora, o histórico de negociação pode ser exibido adicionalmente na forma de posições. O terminal coleta dados em ofertas relacionadas a uma posição (abertura de posição, volume adicional, fechamento parcial e completo) e, em seguida, combina os dados em um registro fornecendo os seguintes detalhes: Abertura de posição e tempo de fechamento determinados pelo primeiro e último comércio, respectivamente Posição volume. Se a parte do cargo tiver sido fechada, o registro contém o volume fechado e o volume inicial. O preço médio ponderado de abertura da posição e seu preço fechado O resultado financeiro total dos negócios relacionados à posição. Nas contas de hedge, o novo formulário de histórico é semelhante ao O histórico de conta usado no MetaTrader 4. Um novo comando foi adicionado, o que permite visualizar negócios em um gráfico de símbolos. Se você precisar mostrar ofertas de um símbolo de posição selecionado, clique em Adicionar nome de símbolo. Os negócios apropriados serão exibidos em todos os gráficos abertos do símbolo selecionado. Se não houver gráficos abertos desse símbolo, um novo gráfico será aberto. Clique em Adicionar todas as ofertas para mostrar ofertas de todos os símbolos a partir do histórico da conta. As ofertas adequadas de símbolos correspondentes serão adicionadas a todos os gráficos abertos. Exibição adicionada do nome internacional de um instrumento de negociação na especificação do contrato, bem como pesquisa pelo nome internacional no diálogo de gerenciamento de símbolos. Comando adicionado para a configuração da resolução da janela do terminal. A função será útil para fazer vídeos. O menu fornece as opções de resolução mais populares usadas em vários serviços de vídeo, como o YouTube. Os modelos de gráfico e os perfis foram movidos de FolderProfiles de Dados de Terminal para FolderMQL5Profiles de Dados de Terminal. Agora você pode facilmente adicionar modelos ao MQL5 Storage e acessá-los a partir de qualquer PC. Adicionado suporte para variáveis ​​de recursos. O desenvolvimento de alguns programas pode ser grandemente facilitado pelo uso dessas variáveis. Por exemplo, você pode escrever um código de um programa OpenCL em um arquivo CL separado e, em seguida, incluí-lo como uma string nos recursos do programa MQL5. Antes da atualização, esse código precisava ser descrito como uma grande variável de string. Declaração da variável de recurso Recursos A codificação de arquivos de string é determinada automaticamente com base na BOM (o cabeçalho). Se a lista técnica estiver ausente, a codificação é definida pelo conteúdo do arquivo. ANSI, UTF-8 e UTF-16 são suportados. Todas as seqüências de caracteres são convertidas em Unicode. Os dados de tal recurso só podem ser endereçados através de uma variável. O endereçamento automático usando :: lachesource namegt não está disponível. O tipo de variável de recurso bitmap especial mostra ao compilador que o recurso é uma imagem. Nesse caso, a variável de recurso obtém o tipo uint. Ao usar uma imagem de 24 bits, o componente do canal alfa é definido como 255 para todos os pixels da imagem. Ao usar uma imagem de 32 bits sem o canal alfa, o componente do canal alfa também é configurado para 255 para todos os pixels da imagem. Ao carregar uma imagem de 32 bits com o canal alfa, os pixels não são processados ​​de forma alguma. A variável de recurso de matriz do tipo bitmap pode ter duas dimensões. Nesse caso, o tamanho da matriz é definido como imageheight imagewidth. Se uma matriz de uma dimensão for especificada, o número de elementos é igual a imageheightimagewidth. Se o tamanho do arquivo do recurso não for um múltiplo do tamanho do elemento da matriz, os dados restantes serão recortados. Por exemplo, se o tamanho do arquivo for 14 bytes, o número de elementos para uma matriz int será igual a 3, enquanto os outros 2 bytes (14 - sizeof (int) 3) serão descartados. Exemplos de uso A nova propriedade CHARTSHOW permite desativar a exibição do gráfico. Funções ChartGetInteger e ChartSetInteger são usadas para obter e definir a propriedade. Se falso, o desenho de todos os atributos do gráfico de preços é desativado e todos os recortes de borda do gráfico são eliminados, incluindo escalas de tempo e preço, barra de navegação rápida, etiquetas de eventos do calendário, etiquetas comerciais, indicador E tooltips de barra, sub-janelas de indicadores, histogramas de volume, etc. Desativar o desenho é uma solução perfeita para criar uma interface de programa personalizada usando recursos gráficos. Os objetos gráficos sempre são desenhados independentemente do valor da propriedade CHARTSHOW. Nova propriedade CHARTKEYBOARDCONTROL permite habilitar o controle de gráfico usando o teclado (Home, End, PageUp,, -, Up arrow, etc.). Definir CHARTKEYBOARDCONTROL para falso desativa a rolagem e a escala do gráfico enquanto deixa intacta a capacidade de receber as teclas pressionando eventos no OnChartEvent ().Funções ChartGetInteger e ChartSetInteger permitem obter e configurar a propriedade. Adicionado novas funções para trabalhar com OpenCL. Novas propriedades para trabalhar com memória Quatro novas propriedades podem ser recebidas através do CLGetInfoIntegrer: CLDEVICEMAXWORKGROUPSIZE o número total de grupos de trabalho locais disponíveis para um dispositivo OpenCL. CLKERNELWORKGROUPSIZE o número total de grupos de trabalho locais disponíveis para um programa OpenCL. CLKERNELLOCALMEMSIZE o tamanho da memória local em bytes usados ​​por um programa OpenCL para resolver todas as tarefas paralelas em um grupo. Use CLDEVICELOCALMEMSIZE para receber o valor máximo disponível. CLKERNELPRIVATEMEMEMINE o tamanho mínimo da memória privada (em bytes) usada por cada tarefa no kernel do programa OpenCL. Bool CLExecutionStatus (int kernel) Retorna o status de execução do programa OpenCL. O identificador do kernel do programa OpenCL é passado como o parâmetro. bool CLSetKernelArgMemLocal (int kernelhandle, int argindex, ulong localmemsize) Define o buffer local como um argumento da função kernel. O identificador do kernel do programa OpenCL, o número do argumento da função OpenCL eo tamanho do buffer são passados ​​como parâmetros. O novo código de resposta TRADERETCODELIMITPOSITIONS foi adicionado. O número de posições abertas simultaneamente presentes em uma conta pode ser limitado pelas configurações do servidor. Depois que um limite é atingido, o servidor retorna o erro TRADERETCODELIMITPOSITIONS ao tentar fazer um pedido. A limitação funciona de forma diferente, dependendo do tipo de contabilidade de posição: é considerado o número de posições abertas. Quando um limite é atingido, a plataforma desabilita a colocação de novas ordens cuja execução pode aumentar o número de posições abertas. Na verdade, a plataforma permite a colocação de pedidos apenas para os símbolos que já possuem posições abertas. As ordens pendentes atuais não são consideradas, pois sua execução pode levar a alterações nas posições atuais, mas não pode aumentar seu número. As ordens pendentes de cobertura são consideradas em conjunto com posições abertas, uma vez que uma ativação de ordem pendente sempre leva a abrir uma nova posição. Quando um limite é atingido, a plataforma desabilita a colocação de novos pedidos de mercado para posições de abertura e pedidos pendentes. Erro corrigido que ocasionalmente poderia causar saltos de tiques no histórico de tiques. Corrigido erros indiretos de digitação de modelos. Biblioteca atualizada de funções de estatísticas matemáticas. Função TranslateKeyKey adicionada que retorna um caractere Unicode por um código de chave virtual considerando o idioma de entrada atual e o status das chaves de controle. A função usa ToUnicodeEx para converter as teclas pressionadas por um usuário em Unicode characters. void OnChartEvent (const int id, const long amp lparam, const double amp dparam, const string amp sparam) if (id CHARTEVENTKEYDOWN) short symTranslateKey ((int) lparam) --- se o caractere introduzido for convertido com sucesso em Unicode se (symgt 0) Print (sym,. ShortToString (sym),) else Imprimir (Erro na chave Traduza para a chave, lparam) Abertura da página fixa do produto ao baixar uma versão demo. Após a conclusão da otimização, os resultados são agora classificados automaticamente pela coluna Resultados. Um novo comando no menu de contexto da guia de resultados de otimização permite abrir automaticamente os resultados quando a otimização for concluída. O Strategy Tester agora permanece no modo de otimização após iniciar uma única execução de teste. Em versões anteriores, se um único teste foi iniciado a partir da guia de resultados de otimização, o testador de estratégia mudou para o modo de teste único. O modo de otimização precisava ser ativado nas configurações para realizar otimização adicional. Agora, conjuntos de parâmetros de entrada podem ser salvos como configurações do testador de estratégia local, que podem ser acessadas convenientemente a partir do menu de contexto, além de arquivos tradicionais. set. Traduções de UI adicionadas em Mongólia, Húngaro, Romeno e Urdu. MetaEditor Adicionado a capacidade de alterar a ordem das expressões assistidas na janela do depurador. Uma expressão pode ser arrastada para a posição desejada usando o mouse. Corrigido a determinação da codificação do arquivo de origem. Corrigido a pesquisa por arquivos na codificação UTF-8. Corrigido a seleção de texto com um mouse caso o texto contenha abas. Traduções de UI adicionadas para húngaro e romeno. 18 de janeiro de 2017 MetaTrader 5 Android build 1506: As tabelas de comércio e classificação de comércio e comércio agora oferecem classificação por símbolos (instrumentos financeiros), pedidos e tempo de negociação. Além da classificação, você também pode filtrar negócios por símbolos na guia Histórico. Trabalhar com gráficos em modo multi-janela foi otimizado. O menu melhorado permite que você abra novas janelas, exclua as antigas, além de reorganizá-las e selecione um layout desejado (vertical, horizontal ou telha). 9 de dezembro de 2016 Adicionado a função CopyTicksRange. Adicionado funções anti-aliasing aprimoradas para a classe CCanvas: CircleWu EllipseWu LineWu PolygonWu PolylineWu TriangleWu Descrição adicionada da biblioteca gráfica à Referência MQL5. A biblioteca permite criar rapidamente histogramas, distribuições e gráficos de linha diretamente nas tabelas de preços. Adicionado os identificadores do estado das chaves do sistema na lista de constantes das Propriedades do Terminal do Cliente. Uma chamada para TerminalInfoInteger (TERMINALKEYSTATEXXX) retorna o mesmo código de estado de uma chave que a função GetKeyState () no MSDN. Desativou o suporte para a transmissão do tipo de string para bool. Para verificar as cordas, é necessário usar condições explícitas. Por exemplo, na nova compilação, a compilação do código a seguir resultará em um erro: um deve usar uma condição explícita: erros corrigidos relatados nos logs de falhas. 2 de dezembro de 2016 Plataforma da Web MetaTrader 5: Autenticação de dois fatores e alteração de senha Adicionamos a opção de autenticação de dois fatores usando senhas únicas, o que melhora a proteção de contas contra acesso não autorizado. Para habilitar a autenticação de dois fatores, inicie o aplicativo móvel MetaTrader 5. Faça login e escolha a opção do gerador de senha única (OTP) na janela Configurações. O gerador de OTP pode vincular todas as suas contas de negociação e gerar automaticamente uma senha única de seis dígitos única para cada conta. Digite esta senha ao efetuar o login na plataforma web. Outra nova opção permite alterar as senhas do mestre e do investidor. Aproveite esta oportunidade para criar um ID pessoal fácil de lembrar. Além disso, a plataforma web atualizada pode gerar contas de demonstração automaticamente. Agora, você pode iniciar a plataforma Web MetaTrader 5 a partir de qualquer navegador e começar a negociar instrumentos financeiros Forex, Stocks, Futures ou CFDs imediatamente. 24 de novembro de 2016 A ordem das entradas nas revistas terminais e MetaEditor mudou. Antes da atualização, as últimas entradas de registro foram apresentadas primeiro. Agora, as entradas mais antigas são mostradas no início do diário. Uma ordem de classificação inversa mais convencional torna a leitura do diário mais fácil. Além disso, agora é possível ocultar as colunas Time e Source usando o menu de contexto do diário. No modo de cobertura, o ingresso de uma posição fechada agora é exibido para os pedidos e negócios no histórico de negociação. Isso torna mais fácil encontrar operações de abertura e encerramento relacionadas. Corrigido um erro que causou a cópia do SLTP de uma posição existente para uma nova posição no mesmo instrumento. O erro pode ocorrer ao usar funções de One Click Trading (por exemplo, a partir do gráfico ou da janela Market Watch) no modo de hedging. Exibição corrigida de objetos de seta em ecrãs de alta definição (4K). Foi adicionada uma nova função ArrayPrint, que imprime tipos e estruturas simples ao registro da matriz. ArrayPrint não imprime todos os campos de uma matriz de estrutura para registrar campos de matrizes e os campos de ponteiro de objetos são ignorados. Se você quiser imprimir todos os campos de uma estrutura, você deve usar uma função personalizada para a impressão em massa com uma formatação desejada. Erro corrigido na adição de strings do tipo S1S2S1 O comportamento da função ArrayResize mudou. Se -1 for passado como o parâmetro de reserva, a função apenas libera memória não utilizada (reservada) se a função não aumentar o tamanho da matriz. Configurando o novo tamanho de matriz para 0 com reservas-1 é equivalente à chamada ArrayFree. O novo comportamento permite otimizar o uso da memória em programas MQL5. As funções de desenho gráfico foram adicionadas à Biblioteca Padrão. Para usar a nova funcionalidade, inclua MQL5IncludeGraphicsGraphic. mqh para o seu projeto. Plotando um gráfico com base em três séries de dados usando o GraphPlot: O resultado: Traçando um gráfico com base em uma matriz de dados usando o GraphPlot: o resultado: funções atualizadas para trabalhar com estatísticas matemáticas em A Biblioteca Padrão. Verificamos cuidadosamente a qualidade e a precisão de todas as funções na versão MQL5 e na linguagem R original. Testes de unidade são distribuídos junto com a biblioteca estática, os testes permitem o controle sobre a precisão e velocidade de desempenho. Eles estão disponíveis no diretório MQL5ScriptsUnitTestsStat. TestStat. mq5 o script de teste principal para verificar resultados de cálculo TestPrecision. mq5 teste de cálculo de precisão TestBenchmark. mq5 o teste inclui medição de desempenho de computação A versão atualizada possui configurações avançadas para configurar atrasos de execução durante o teste. Agora, você pode testar seus consultores especializados em diversas condições de negociação, incluindo o caso ideal sem demora e qualquer atraso de ajuste personalizado. Somente o modo de atraso aleatório estava disponível em versões anteriores. Geração fixa do volume de barras de barras no modo OHLC baseado em M1. Especificação fixa do tempo de abertura do pedido e da posição até milissegundos ao negociar no modo de hedge. Corrigiu o erro antigo do tick, que pode aparecer durante o teste multi-moeda ou multi-timeframe no modo ticks real. Velocidade de desempenho melhorada do CopyTicks quando os tiques solicitados são lidos a partir de um banco de dados localizado em um disco. MetaEditor O menu de contexto do arquivo no Navegador e na caixa de ferramentas agora possui comandos para trabalhar com o repositório de código-fonte versionado MQL5 Storage. Corrigido um erro que ocasionalmente poderia quebrar a integridade do banco de dados MQL5 Storage local ao trabalhar com mais de 1024 arquivos no repositório. Exibição corrigida da árvore de arquivos do armazenamento MQL5. Exibição de arquivo corrigida após uma substituição de texto em massa. 24 de novembro de 2016 Melhorias do painel One Click Trading no gráfico: agora também está disponível no modo retrato, o volume comercial pode ser alterado rapidamente, selecionando o valor desejado da lista. O símbolo do gráfico agora pode ser alterado tocando no nome do símbolo no cabeçalho da janela. Melhorias na seção de configurações do aplicativo: agora ele possui informações sobre a conta atual, unidades adequadamente organizadas e melhoradas. Múltiplas melhorias e correções. 14 de outubro de 2016 Adicionou dicas de ferramentas para os botões Comprar, Vender e Fechar em diálogos comerciais. As dicas de ferramentas contêm informações sobre a segurança a serem compradas ou vendidas durante a operação, para ajudar os iniciantes a entender o processo de negociação. Adicionado novos ícones de pedidos, negócios e posições na guia Negociação e Histórico. O terminal atualizado fornece exibição e atualização otimizada e muito mais rápida (até 4-5 vezes) da Profundidade do Mercado, do gráfico de tiques na Profundidade do Mercado e Dos dados do Time amp Sales. Corrigido a sincronização do histórico de tiques durante o horário não comercial. O processo poderia consumir uma quantidade excessiva de tráfego de rede em alguns casos. Uma versão MQL5 da biblioteca de análise numérica ALGLIB foi incluída na Biblioteca Padrão. Álgebra linear Sistemas de equações lineares e não-lineares Otimização de interpolação Transformação rápida de Fourier Integração numérica Montagem de mínimos quadrados linear e não linear Equações diferenciais ordinárias Funções especiais Estatística descritiva e teste de hipóteses Análise de dados - classificação, regressão Implementando algoritmos de álgebra linear, interpolação, etc. em múltiplos - Aritmética de precisão (usando MPFR) Os arquivos ALGLIB estão localizados em MQL5IncludeMathAlglib. Para usar as funções, adicione o arquivo de biblioteca principal ao seu programa: as funções de estatísticas matemáticas foram incluídas na Biblioteca Padrão. O MQL5 agora fornece a funcionalidade do idioma R. Que é uma das melhores ferramentas para processamento e análise de dados estatísticos. A biblioteca estatística contém funções para calcular as características estatísticas dos dados, bem como funções para operações com distribuições estatísticas: Funções para cálculo de características estatísticas de elementos de matriz Opções para operações com distribuições estatísticas: distribuição normal, distribuição lognormal, distribuição beta, etc. . Os arquivos de biblioteca estatística estão localizados em MQL5IncludeMathStat. Para usar a biblioteca, adicione o arquivo com as funções necessárias no seu programa, por exemplo: A descrição detalhada das funções da biblioteca está disponível no artigo Distribuições estatísticas no MQL5 - Tirando o melhor de R. A versão MQL5 da biblioteca Fuzzy foi incluída na Biblioteca Padrão. The Fuzzy library implements Mamdani and Sugeno fuzzy inference systems. 13 membership functions Flexible form for developing fuzzy system rules Mamdani fuzzy inference system Sugeno fuzzy inference system 5 defuzzification method for Mamdani-type systems Unlimited amount of input and output variables Fuzzy Library files are located in MQL5IncludeMathFuzzy. To use the library, add the file with required functions into your program, for example: A detailed description of the library is available in the Code Base: Fuzzy - library for developing fuzzy models New property CHARTQUICKNAVIGATION allows enablingdisabling quick navigation bar in the chart. If you need to modify and access the property state, use the ChartSetInteger and ChartGetInteger functions. The navigation bar is opened by pressing Enter or Space. It allows you to quickly move to the specified date on the chart, as well as to switch symbols and timeframes. If your MQL5 program processes Enter or Space key pressing, disable the CHARTQUICKNAVIGATION property, in order to avoid interception of these events by the terminal. The quick navigation bar can still be opened by a double click. New functions FileLoad and FileSave have been added. They provide an easy method to read and save arrays to files. Unlike FileRead and FileWrite, these functions do not require the indicator handle. FileLoad and FileSave operate with arrays of numeric types, as well as with simple structures that do not have strings, dynamic arrays or class objects. An example of how to write ticks to a file and then read them:Modified display of custom indicators with the DRAWCANDLES drawing mode. Now it is possible to set from one to three colors for this mode. The display of candlesticks depends on how many colors are set. If one color is specified . all candlesticks on the chart will be fully painted in this color. If two colors are specified . one color is used for candlestick edges, the other one is used for the body. If three colors are specified . one color is used for candlestick edges, two other colors are used for the bodies of bullish and bearish candlesticks. The DRAWCANDLES style allows setting custom colors of candlesticks. All colors can also be changed dynamically while the indicator is running, using the function PlotIndexSetInteger(drawingindexDRAWCANDLES, PLOTLINECOLOR, modifiernumber, color) where modifiernumber can have the following values: 0 the color of edges and shadows 1 the color of the bullish candlestick body 2 the color of the bearish candlestick body Fixed bugs and improved operation with the tick history using CopyTicks functions. Starting with the new build, operators can be used in interfaces (was not allowed before). Fixed an error that could lead to the repeated request to sign in to MQL5munity when buying products from the Market. Added UI translation into Greek, Malay and Hebrew. 29 September 2016 MetaTrader 5 web platform: Code optimization and new interface features Added the ability to re-size the web application blocks, including Market Watch and price chart windows. Added the ability to sort by columns in Trade and History tabs of Toolbox window. The column width can be changed. Added Details tab and the ability to quickly add a symbol. Optimized the code to increase the overall web terminal operation speed. Account initialization, adding symbols and trading itself are now performed even faster. 26 September 2016 Changed Trade section display trading data representation now depends on the risk management system on a trading account: Retail Forex, CFD, Futures or Exchange model. Moved interface language selection to a separate menu item in the general settings. Fixes and improvements. 26 September 2016 MetaTrader 5 Android build 1372 The platform supports the multi-window mode allowing traders to monitor price changes on multiple symbols simultaneously. Added the ability to change an indicator subwindow height. Now, the mobile platform features a symbol fast selection button and a separate menu of chart settings. Added the ability to edit indicator levels. The interface is translated into Bulgarian. 16 September 2016 Implemented the new algorithm of forming the Exposure tab for an exchange market. Now, the platform adapts the display of assets depending on the risk management system applied to a trading account: Retail Forex, CFD, Futures or Exchange model. The Assets section is helpful for those trading Forex or futures at an exchange showing their current status on the market. Same currencies can be found in a variety of different symbols: as one of the currencies in a pair, as a base currency, etc. For example, you may have oppositely directed positions on GBPUSD, USDJPY and GBPJY. In this situation, it is very difficult to understand how much currency you have and how much you need. Having more than three positions further complicates the task. In this case, the total account status can be easily seen in the Assets tab. Lets use the same three positions as an example: Buy GBPJPY 1 lot at 134.027 received 100 000 GBP, given 134 027 000 JPY Sell USDJPY 1 lot at 102.320 given 100 000 USD, received 102 320 000 JPY Sell GBPUSD 1 lot at 1.30923 given 100 000 GBP, received 103 920 USD We have bought and sold 100 000 GPB simultaneously. We have 0 GBP, and the Assets tab does not display this currency. As of USD, we gave a currency in one case and received it in another. The Assets tab calculates the final outcome and adds it to the current balance since the deposit currency is USD as well. JPY participated in two deals meaning that the tab displays its total value. Those using the exchange model can use the section to understand how their money is used. Unlike the previous model, the funds are withdrawnadded right when deals are performed. For example, if you buy EURRUB, you receive EUR at once while the appropriate sum in RUB is withdrawn from the balance. During trading, the account balance may even become negative: when you use borrowed money while purchased assets are used as the collateral. In this case, the Assets tab allows you to easily understand the trading account status. Additionally, you can see the liquidation value here amount of funds on the account and the price (result) of closing all current positions at the market price. Fixed deal type display in the history of trading operations. Terminal: Fixed repeated risk notification window display when re-connecting to a trading account. Optimized and fixed working with the trading symbol selection dialog in case of a large number of symbols (several thousands and more). Fixed display of levels of built-in indicators calculated based on Moving Average (Bollinger Bands, Adaptive Moving Average, etc.). Previously, an error occurred when plotting indicators in a separate subwindow. Fixed an error that could occasionally interfere with placing a futures contract order in case an order price coincides with the upper or lower contract price limit. Optimized and accelerated compilation of MQL5 applications. Added support for final and override modifiers for classes, structures and functions. final modifier for classes and structures The presence of the final modifier when declaring a structure or a class prohibits the further inheritance from it. If there is no need to make any further changes in the class (structure) or such changes are unacceptable for security reasons, declare that class (structure) with the final modifier. In this case, all class methods are also implicitly considered final. When attempting to inherit from a class with the final modifier as shown above, the compiler displays an error: cannot inherit from CFoo as it has been declared as final see declaration of CFoo override modifier for functions The override modifier means that a declared function should always override the parent class method. Using the modifiers allows you to avoid errors when overriding, such as accidental change of a method signature. For example, the func method accepting the int type variable is defined in the base class: The method is overridden in the inherited class: But the argument type is mistakenly changed from int to short. In fact, the method overload instead of overriding is performed in that case. While acting according to the overloaded function definition algorithm. the compiler may in some cases select a method defined in the base class instead of an overridden one. In order to avoid such errors, the override modifier should be explicitly added to the overridden method. If the method signature is changed during the overriding process, the compiler cannot find the method with the same signature in the parent class issuing the compilation error: CBar::func method is declared with override specifier but does not override any base class method final modifier for functions The final modifier acts in the opposite way it disables method overriding in derived classes. If the method implementation is self-sufficient and fully completed, declare it with the final modifier to ensure it is not changed later. When attempting to override a method with the final modifier as shown above, the compiler displays an error: CFoo::func method declared as final cannot be overridden by CBar::func see declaration of CFoo::func Fixed compiling template functions with default parameters. Fixed a few errors in sorting Market products. Fixed updating the current market prices for open orders and positions in the visual testing mode. Removed slippage during Buy Limit and Sell Limit order execution when testing using exchange symbols. Fixed occasional generation of incorrect prices in Open prices testing mode. Fixed generation of OnTradeTransaction events when testing. When testing based on real ticks, the data on the mismatch of tick prices (bid or last depending on the price used to generate a bar) and low or high values of the existing minute bar appears in the tester log. MetaEditor Fixed displaying the data profiling in source code files. 19 August 2016 The client terminal now provides for faster sending of trading commands. Fixed an error which prevented execution of MQL5 applications in terminals running in 32-bit Windows 10, build 1607. The Navigator now displays whether a trading account is operating in the Hedging or Netting mode. A new context menu command has been added to the Navigator, it allows to connect to a web terminal using a selected account. The Help section of the menu has been updated, now it features links to video guides . Error fixes connected with operation on high-resolution displays (4K). Fixed errors in Persian translation of the user interface. Added new void pointers to enable users to create abstract collections of objects. A pointer to an object of any class can be saved to this type of variable. It is recommended to use the operator dynamiccastltclass name gt(void pointer) in order to cast back. If conversion is not possible, the result is NULL. Added support for the operatorfor strings. The operator enables users to get a symbol from a string by index. If the specified index is outside the string, the result is 0. Added a second version of the TesterInit event handler with the int OnTesterInit(void) signature, which can return INITSUCCEEDED (0) or INITFAILED (or any non-zero value). If OnTesterInit returns a non-zero value, the optimization will not begin. Fixed an error, which could lead to different results returned by different ChartGetString overloaded functions. Added new commands and hot keys for visual testing. Now it is possible to configure charts in the visual tester like in the terminal: to change colors, to control visibility of various elements, to apply templates, etc. Fixed operation of the Sleep function in the Open prices testing mode. Fixed formation of incorrect state of bars on timeframes W1 and MN1. MetaEditor Added UI translation into Traditional Chinese. Updated documentation.8 August 2016 MetaTrader 5 iOS build 1371 A new design of messages. Now, MQL5munity messages and push notifications from the desktop platform are displayed as chats similar to popular mobile messengers. Now it is possible to switch to one of the 23 available languages straight from the platform. For example, if you prefer to use the English interface, you can choose it in the About page without changing the language setting of your device. 5 August 2016 New built-in MQL5munity chat. New option for transferring SSL certificates from a desktop platform. New interface translations into Persian and Dutch. 17 July 2016 The Time amp Sales feature has been added to the Market Depth. What is Time amp Sales The Time amp Sales feature provides the price and time of every trade executed on the exchange. Informações sobre cada comércio incluem o momento em que o comércio foi executado, a sua direção (compra ou venda), bem como o preço e volume do comércio. Para uma análise visual fácil, diferentes cores são usadas para indicar diferentes direções de comércio: o azul é usado para comprar trades, rosa para negociações de venda, verde significa direção indefinida. Trade volumes are additionally displayed in a histogram. How Time amp Sales can help you understand the market The Time amp Sales feature provides tools for a more detailed market analysis. A direção comercial sugere quem iniciou o comércio: o comprador ou o vendedor. The volume of trades allows traders to understand the behavior of market participants: whether the trades are performed by large or small market players, as well as estimate the activity of the players. The trade execution speed and the volume of trades on various price levels help traders to estimate the importance of the levels. Como usar o Time amp Dados de vendas Além da análise visual da tabela, você pode salvar os detalhes de trades em um arquivo CSV. Além disso, eles podem ser analisados ​​usando qualquer outro software, como o MS Excel. The file contains comma-separated data: Time, Bid, Ask, Last, Volume, Type 2016.07.06 16:05:04.305,89360,89370,89370,4,Buy 2016.07.06 16:05:04.422,89360,89370,89370,2,Buy 2016.07.06 16:05:04.422,89360,89370,89370,10,Buy 2016.07.06 16:05:04.669,89360,89370,89370,1,Buy 2016.07.06 16:05:05.968,89360,89370,89360,7,Sell If you want to save data to a file, open the context menu: The brokers platform should be updated to version 1375, in order to enable proper detection of trade direction. The time between the arrival of a new tickMarket depth change and call of OnTick and OnCalculate has been significantly reduced. Also the time between the arrival of a trade state change event and call of OnTick and OnCalculate has been reduced. Now MQL5 programs provide a faster response to market events. Trade requests are now sent faster when extended authentication with SSL certificates is used. User interface translation into Persian has been updated. Fixed display of SLTP setting commands in the context menu of the chart when working in the hedging mode. A new tester feature allows requesting tick history while testing using the CopyTicks function. In earlier versions, access to ticks was not available in the Strategy Tester. In the Every tick mode, the function will return the history of generated ticks. It is possible to request up to 128,000 last ticks. In the Every tick based on real ticks mode, the function will return the history of real ticks. The depth of the requested data depends on the availability of history data. However, note that last 128,000 ticks are cached in the Strategy Tester, and the request will be performed quickly. A deeper history is requested from a hard disk, so the request execution can take much more time. The function will not work in the modes Open price only and 1 minute OHLC, because tick history is not created in these modes. Added support for milliseconds. In previous versions, the time quantum in the Strategy Tester was equal to one second. Now the EventSetMillisecondTimer and Sleep functions are more accurate in the Tester. The accuracy of tick feeding during multi-currency EA testing has been increased. In earlier versions, if one second contained multiple ticks (i. e. the tick volume of a one-minute bars exceeded 60), the same time was set for all these ticks. It does not matter when testing single-currency Expert Advisor, because ticks are sequentially passed to the Expert Advisor. However, when you test an Expert Advisor on multiple pairs, it is important to know the pair, from which the tick has arrived first. In earlier versions, ticks of each symbol were passed to the Expert Advisor sequentially: first, all the ticks within one second for one symbol, then all the ticks for another symbol. Now they are sent taking into account milliseconds. When real ticks are used in testing, milliseconds are taken from the source tick data. When ticks are generated, milliseconds are set in accordance with the tick volume. For example, if 3 ticks fit within one second, their millisecond time will be equal to 000, 333 and 666. In the Open prices only and 1 minute OHLC modes, pending and SLTP orders are now executed at the requested price, not the current price at the time of execution. The algorithm of execution at market prices used in accurate modes (every tick and real ticks), is not suitable for less accurate modes. In some modes intermediate ticks are not generated, therefore the difference between the requested order price and the current price (Open or OHLC) can be significant. Execution of orders at the requested price in the Open prices only and 1 minute OHLC provides more accurate testing results. Added support for forward testing in the visual mode. Now two separate windows are opened for back and forward testing, allowing users to compare Expert Advisor performance on different time intervals. The forward testing window is only opened after testing on the main period is completed. Now, instead of the margin level, the load on the deposit is displayed on the main testing chart. The load is calculated as the marginequity ratio. Fixed calculation of commission as a percentage per annum during testing. Fixed calculation and display of balance on the chart generated in the process of testing. The behavior of the OrderSend function during order placing, modification, and canceling has changed. The changes only apply to orders sent to external trading systems. In earlier version, OrderSend function control was returned after the order has been successfully placed (handled) on the brokers server. Now the control is only returned after the brokers server receives a notification from an external trading system notifying that the order has been successfully placed in that system. The below diagram shows the previous (red arrow) and current behavior of the function: A new field in the MqlTradeResult structure: retcodeexternal - an error code in the external trading system. The use and types of these errors depend on the broker and the external trading system, to which trading operations are sent. For example, retcodeexternal values filled by Moscow Exchange differ from those returned by DGCX. New properties in the ENUMCHARTPROPERTYSTRING enumeration: CHARTEXPERTNAME and CHARTSCRIPTNAME. Now, the ChartGetString function allows users to find out the name of an Expert Advisor andor script attached to a chart which is defined by the chartid parameter. Fixed occasional error, due to which copying of the close by operation could fail. Improved automated matching of currency pairs containing RUB and RUR. Fixed sorting by product category. MetaEditor Fixed setting of focus in the replace text field when opening a replace dialog box. Fixed replacing of multiple text occurrences when you search upwards starting from the current positions. 5 July 2016 After two months of public testing, the web version of the multi-asset MetaTrader 5 platform has been officially released. It allows trading Forex and exchanges from any browser and operating system. Only Internet connection is necessary, no software installation is required. The application combines the key advantages of the desktop platform (high speed, support for multiple markets and expanded trading functions) with the convenience of the cross-platform nature of the web terminal. The key feature of the release version is the depth of market, which was not present in the beta version. The web platform allows traders to perform technical analysis and trading operations just like in the desktop version. The web platform provides the following features: Netting and hedging position accounting systems 31 technical indicators 23 analytical objects One-click trading and full set of trading orders Interface in 41 languages 19 May 2016 It is now much easier to transfer SSL certificates from the desktop platform to the mobile one. You no longer need iTunes to do that. MetaTrader 5 allows you to add an extra protection to your account by using a certificate. Without the certificate, connection is impossible. If the certificate was created in the desktop version, you should transfer it to be able to enter your account via a mobile device. To do this, open a desktop platform, right-click the necessary account in the Navigator window, and select Transfer. Set the certificate password which is known only to you, open the mobile platform, and connect to your account. You will be immediately offered to import the certificate. Besides, the latest version features the migration dialog for accounts transferred from MetaTrader 4. If your account has been transferred to the 5th generation platform, you are warmly greeted, provided with information on the new features, and offered to change your password. 13 May 2016 Now certificates used for the advanced security connection can be conveniently transfered from the desktop platform to mobile terminals. The trading platform supports extended authentication by protecting a trade account using an SSL certificate in addition to a password. The certificate is a file that is individually generated for an account on the trade server. This file is unique, and account connection is not possible without the certificate. In the earlier platform versions, any certificate requested and generated from the desktop terminal needed to be manually copied and installed on the device to enable use of the trading account from the MetaTrader 5 Mobile for iPhoneiPad or Android. Now, certificates can be conveniently transfered. The Process of Certificate Transfer A certificate is transfered via a trade server: A certificate is first encrypted on the desktop terminal: the account owner sets the password for certificate encryption using the secure AES-256 algorithm. This password is only know to the user, while it is not sent to the server. Further, the encrypted certificate is sent to the trade server, where it is stored until the mobile terminal receives it, but no more than one hour. To receive the certificate on a mobile device, the user must connect to the trading account from the mobile terminal. After connecting, the user is prompted to import the certificate. To proceed with the import, the user needs to specify the password that was used for the certificate encryption on the desktop terminal. Certificate transfer process is secure: the trade server is only used as an intermediate storage, while the certificate is encrypted on the clients side. The certificate password is not transmitted to or stored on the trade server. How to Transfer a Certificate Connect to your account from the desktop terminal and select Transfer Certificate in its context menu: Enter the master password of the account to confirm that it belongs to you. Next, set a password to protect the certificate before sending it to the server. Set a password that has at least 8 digits. After successfully sending the certificate to the server, open the mobile terminal and connect to your account. You will immediately be prompted to import the certificate. Confirm and enter the password that you have set from the desktop terminal. You can view the imported certificate in the About Certificates section. Updated MetaTrader 5 Platforms for iPhoneiPad and Android supporting certificate transfer will be released soon. An updated algorithm for the execution of pending orders, as well as SL ans TP, which provides more accurate testing conditions. Advanced options of visual testing. Whats New for Exchange Instruments In the real market, charts of exchange-traded instruments are generated based on Last price information (the price of the last executed deal). Stop Orders also trigger at the Last price. Limit orders trigger at Bid and Ask prices. All types of orders are always executed at the current market BidAsk prices. The Strategy Tester has been updated and now better emulates real market conditions: The price specified in the order for all types of Pending Orders and SLTP BidAsk at the time of order triggering for all types of Pending Orders and SLTP Let us consider an example of the Si-6.16 symbol. A new Buy Stop order with the trigger price 72580 is set while the current prices are: Bid72570, Ask72572, Last72552. New current prices are received in a price stream: A trigger for Stop-Orders of exchange instruments is the Last price. So the Last price72580 received in the stream activates the Buy Stop order. In the earlier versions, the same price would be used to execute this order. This behavior is incorrect, because there is no Ask72580 in the market to execute the Buy transaction. The current Ask72590 is used in the updated tester version, so the Buy Stop order is executed at this price. The new trade execution algorithm in the Tester is closer to real market conditions. The trade operation would be executed at a non-market price when using the previous algorithm, which would lead to inaccurate testing results. Whats New for Other Instruments The algorithm has not changed for other instruments: BidAsk prices are used for all types of pending orders, as well as for SL and TP. However, the execution mode has changed: in earlier versions, orders were executed at the price specified in the order. Now market Bid and Ask prices as of the time of order activation are used. Whats New in Visual Testing During visual testing, the bars High Ask and Low Bid price lines are now shown in the tester. On such charts, it is more convenient to test Expert Advisors that trade exchange instruments, because bars of such instruments, as well as order triggering are based on the Last prices, while market operations are executed at Bid and Ask prices. New option on the visual testing chart: navigation to a specified date. Double-click on the chart and enter the desired date and time. It is also possible to navigate to any order or trade: double-click on the appropriate trading operation on the Trade, History or Operations tab. Expanded logging of information about price and tick history loaded before testing start. The log now contains information about the completion of history loading, as well as the amount of data downloaded and time spent: 2016.05.10 12:47:53 Core 1 5.10 Mb of history processed in 0:00.842 2016.05.10 12:47:53 Core 1 GBPUSD: history synchronization completed 5225 KbFixed behavior of the CopyTicks function: it could return fewer ticks than was requested. Fixed generation of template functions. Updated documentation. Fixed errors reported in crash logs. 12 May 2016 The beta version of the MetaTrader 5 Web Platform has been released. The new product combines convenience and cross-platform nature of the web terminal with the advantages of the desktop version of MetaTrader 5 speed, support for multiple markets, and expanded trading functions. The MetaTrader 5 web platform is available on the MQL5munity. and it allows traders to perform trading operation on financial markets from any browser and any operating system, including Windows, Mac, and Linux. You only need to have an Internet connection. No additional software is required. The following features are available in the beta version: Hedging system 30 technical indicators 23 analytical objects Full set of MetaTrader 5 trading orders Interface in 41 languages The release of the beta version aims to provide global public testing and to allow traders to evaluate the new capabilities.22 April 2016 We have added the second accounting system hedging, which expands the possibilities of retail Forex traders. Now, it is possible to have multiple positions per symbol, including oppositely directed ones. This paves the way to implementing trading strategies based on the so-called locking if the price moves against a trader, they can open a position in the opposite direction. Since the new system is similar to the one used in MetaTrader 4, it will be familiar to traders. At the same time, traders will be able to enjoy all the advantages of the fifth platform version filling orders using multiple deals (including partial fills), multicurrency and multithreaded tester with support for MQL5 Cloud Network. e muito mais. Now, you can use one account to trade the markets that adhere to the netting system and allow having only one position per instrument, and use another account in the same platform to trade Forex and apply hedging. Opening a hedge account and viewing position accounting type A position accounting system is set at an account level and displayed in the terminal window header and the Journal: To open a demo account with hedging, enable the appropriate option: Netting system With this system, you can have only one common position for a symbol at the same time: If there is an open position for a symbol, executing a deal in the same direction increases the volume of this position. If a deal is executed in the opposite direction, the volume of the existing position can be decreased, the position can be closed (when the deal volume is equal to the position volume) or reversed (if the volume of the opposite deal is greater than the current position). It does not matter, what has caused the opposite deal an executed market order or a triggered pending order. The below example shows execution of two EURUSD Buy deals 0.5 lots each: Execution of both deals resulted in one common position of 1 lot. Hedging system With this system, you can have multiple open positions of one and the same symbol, including opposite position. If you have an open position for a symbol, and execute a new deal (or a pending order triggers), a new position is additionally opened. Your current position does not change. The below example shows execution of two EURUSD Buy deals 0.5 lots each: Execution of these deals resulted in opening two separate positions. New trade operation type - Close By The new trade operation type has been added for hedging accounts closing a position by an opposite one. This operation allows closing two oppositely directed positions at a single symbol. If the opposite positions have different numbers of lots, only one order of the two remains open. Its volume will be equal to the difference of lots of the closed positions, while the position direction and open price will match (by volume) the greater of the closed positions. Compared with a single closure of the two positions, the closing by an opposite position allows traders to save one spread: In case of a single closing, traders have to pay a spread twice: when closing a buy position at a lower price (Bid) and closing a sell position at a higher one (Ask). When using an opposite position, an open price of the second position is used to close the first one, while an open price of the first position is used to close the second one. In the latter case, a close by order is placed. Tickets of closed positions are specified in its comment. A pair of opposite positions is closed by two out by deals. Total profitloss resulting from closing the both positions is specified only in one deal. In addition to hedging support, the new platform version provides wider opportunities for migrating accounts from MetaTrader 4. Now, brokers can automatically transfer accounts to MetaTrader 5, including all operations: open and pending orders, and complete trading history. A welcome dialog appears when first connecting to the account migrated from MetaTrader 4. Data transmission is securely encrypted during migration. To get started, specify the password of your account that you used in MetaTrader 4, and then set a new password. Once connected, you will be able to continue using your account, just as if it has been opened in MetaTrader 5. The complete history of all trades from MetaTrader 4 is automatically added to the new account. The tickets of orders and positions (including history orders) are not preserved during import, because one history record from MetaTrader 4 can be imported as up to 4 history operations in MetaTrader 5. New tickets are assigned to all trading records. The account numbers can be preserved or replaced depending on how the broker imports them. Added the Chat. Now, you can communicate with your MQL5munity friends and colleagues. The chat displays all personal messages from your MQL5 account. To start communicating, log in to your account directly from the chat window or via the platform settings: Tools - gt Options - gt Community. Simplified demo account creation dialog, added ability to create hedge accounts. You do not have to fill the large form any more. Simply specify basic data and select trading parameters: account type, deposit, leverage, and hedging ability. Added automatic allocation of a demo account for quick start. If the platform has no accounts yet, a demo account on the first available trade server is allocated during the launch. After successful opening, connection to the account is established immediately. Now, each position has a ticket a unique number. It usually matches the ticket of an order used to open the position except when the ticket is changed as a result of service operations on the server, for example, when charging swaps with position re-opening. A ticket is assigned automatically to all available positions after the terminal update. Fixed setting Stop Loss and Take Profit levels when placing a market order leading to a position reversal. Until recently, no appropriate levels were set for a new position. Fixed displaying prices with four and more decimal places on the one-click trading panel elements. Fixed displaying news in the print preview window. Fixed tick chart display. Fixed opening the Market Depth after the terminal emergency shutdown. Added a check if market orders are allowed when displaying one-click trading panel control elements. Optimized profit and margin calculation in case of a large number of open orders and positions. Added translation of the user interface into Malay. Fully revised the user manual. New design, interactive screenshots and embedded videos learn trading in MetaTrader 5 with maximum convenience: Fixed display of graphical objects in the Chart on foreground mode. Added ability to test trading robots and technical indicators in real tick history. Testing and optimization on real ticks are as close to real conditions as possible. Instead of generated ticks based on minute data, it is possible to use real ticks accumulated by a broker. These are ticks from exchanges and liquidity providers. To start testing or optimization in real ticks, select the appropriate mode in the strategy tester: Tick data has greater size compared to minute one. Downloading it may take quite a long time during the first test. Downloaded tick data is stored by months in TKC files in basestrade server nametickssymbol name. Testing on real ticks When testing on real ticks, a spread may change within a minute bar, whereas when generating ticks within a minute, a spread fixed in the appropriate bar is used. If the Market Depth is displayed for a symbol, the bars are built strictly according to the last executed trade price (Last). Otherwise, the tester first attempts to build the bars by Last prices, and in case of their absence, uses Bid ones. OnTick event is triggered on all ticks regardless of whether the Last price is present or not. Please note that trading operations are always performed by Bid and Ask prices even if the chart is built by Last prices. For example, if an Expert Advisor using only bar open prices for trading (i. e. the built-in Moving Average) receives a signal at Last price, it performs a trade at another price (Bid or Ask depending on the direction). If Every tick mode is used, the bars are built by Bid prices, while trades are performed by Bid and Ask ones. The Ask price is calculated as Bid fixed spread of a corresponding minute bar. If a symbol history has a minute bar with no tick data for it, the tester generates ticks in the Every tick mode. This allows testing the EA on a certain period in case a brokers tick data is insufficient. If a symbol history has no minute bar but the appropriate tick data for the minute is present, these ticks are ignored. The minute data is considered more reliable. Testing on real ticks in the MQL5 Cloud Network Testing on real ticks is available not only on local and remote agents, but also through the MQL5 Cloud Network. Optimization of a strategy that could take months, can be completed in a few hours using the computing power of thousands of computers. To test a strategy using the MQL5 Cloud Network, enable the use of cloud agents: Tests on real ticks using the MQL5 Cloud Network can consume a lot of data. This can significantly affect the payment for the use of the network power. Fixed an error that hindered the calculation of commission on several trading symbol types. Fixed filling Expert field for trading orders resulting from SLTP activation according to the Expert field of the corresponding position. Previously, it was not filled. Fixed switching to usual and forward optimization results tabs. Fixed calculation and display of the Envelopes indicator. Optimized visual testing. Optimized profit and margin calculation in case of a large number of open orders and positions. Optimized trading operations during high-frequency trading. Now, history synchronization is not performed if a request for non-critical symbols properties (not requiring the current quotes) has been made. For example, SYMBOLSELECT, SYMBOLDIGITS, SYMBOLSPREADFLOAT, SYMBOLTRADECALCMODE, SYMBOLTRADEMODE, SYMBOLTRADESTOPSLEVEL, SYMBOLTRADEFREEZELEVEL, SYMBOLTRADEEXEMODE, etc. Previously, the non-critical symbol history was synchronized at any request for its property. Fixed calculation of swaps as a percentage per annum. The format of the executable EX5 files has changed to implement the new features of the MQL5 language and the new hedging option in MetaTrader 5. All EX5 applications compiled in previous builds of MetaEditor will work properly after the update, i. e. the upward compatibility is fully preserved. EX5 programs compiled in build 1325 and above will not run in old terminal builds - backward compatibility is not supported. Added support for abstract classes and pure virtual functions. Abstract classes are used for creating generic entities that you expect to use for creating more specific derived classes. An abstract class can only be used as the base class for some other class, that is why it is impossible to create an object of the abstract class type. A class which contains at least one pure virtual function in it is abstract. Therefore, classes derived from the abstract class must implement all its pure virtual functions, otherwise they will also be abstract classes. A virtual function is declared as pure by using the pure-specifier syntax. Consider the example of the CAnimal class, which is only created to provide common functions the objects of the CAnimal type are too general for practical use. Thus, CAnimal is a good example for an abstract class: Here Sound() is a pure virtual function, because it is declared with the specifier of the pure virtual function PURE (0). Pure virtual functions are only the virtual functions for which the PURE specifier is set: (NULL) or (0). Example of abstract class declaration and use: Restrictions on abstract classes If the constructor for an abstract class calls a pure virtual function (either directly or indirectly), the result is undefined. However, constructors and destructors for abstract classes can call other member functions. Added support for pointers to functions to simplify the arrangement of event models. To declare a pointer to a function, specify the pointer to a function type, for example: Now, TFunc is a type, and it is possible to declare the variable pointer to the function: The funcptr variable may store the function address to declare it later: Pointers to functions can be stored and passed as parameters. You cannot get a pointer to a non-static class method. MqlTradeRequest features two new fields:position position ticket. Fill it when changing and closing a position for its clear identification while trading in hedging mode. In the netting system, filling the field does not affect anything since positions are identified by a symbol name. positionby opposite position ticket. It is used when closing a position by an opposite one (opened at the same symbol but in the opposite direction). The ticket is used only in the hedging system. Added TRADEACTIONCLOSEBY value to the ENUMTRADEREQUESTACTIONS enumeration of trading operation types close a position by an opposite one. The ticket is used only in the hedging system. Added trading operation tickets to the enumerations of the appropriate order, deal, and position properties:Added ORDERTICKET property to ENUMORDERPROPERTYINTEGER order ticket. Unique number assigned to each order. Added DEALTICKET property to ENUMDEALPROPERTYINTEGER deal ticket. Unique number assigned to each deal. Added POSITIONTICKET property to ENUMPOSITIONPROPERTYINTEGER position ticket. Unique number assigned to each newly opened position. It usually matches the ticket of an order used to open the position except when the ticket is changed as a result of service operations on the server, for example, when charging swaps with position re-opening. To find an order used to open a position, apply the POSITIONIDENTIFIER property. POSITIONTICKET value corresponds to MqlTradeRequest::position. Added ORDERTYPECLOSEBY value to the ENUMORDERTYPE order type enumeration close by order. Added ORDERPOSITIONBYID value to the ENUMORDERPROPERTYINTEGER order property enumeration opposite position identifier for ORDERTYPECLOSEBY type orders. Added DEALENTRYOUTBY value to the ENUMDEALENTRY deal direction enumeration a deal is performed as a result of a close by operation. MqlTradeTransaction also features the two similar fields:position ticket of a position affected by transaction. It is filled for transactions related to handling market orders (TRADETRANSACTIONORDER except TRADETRANSACTIONORDERADD, where a position ticket is not assigned yet) and order history (TRADETRANSACTIONHISTORY). positionby opposite position ticket. It is used when closing a position by an opposite one (opened at the same symbol but in the opposite direction). It is filled only for orders closing a position by an opposite one (close by) and deals closing by an opposite one (out by). Added PositionGetTicket function return a position ticket by an index in the list of open positions and automatically select that position for further work using the PositionGetDouble, PositionGetInteger, and PositionGetString functions. Added PositionSelectByTicket function select an open position for further work by a specified ticket. Added SYMBOLMARGINHEDGED value to the ENUMSYMBOLINFODOUBLE trade symbol property enumeration size of a contract or margin for one lot of hedged positions (oppositely directed positions at one symbol).If the initial margin (SYMBOLMARGININITIAL) is specified for a symbol, the hedged margin is specified as an absolute value (in monetary terms). If the initial margin is not set (equal to 0), a contract size to be used in the margin calculation is specified in SYMBOLMARGINHEDGED. The margin is calculated using the equation that corresponds to a trade symbol type (SYMBOLTRADECALCMODE). Margin calculation for hedged positions is described in details in the MetaTrader 5 trading platform Help. Added ACCOUNTMARGINMODE value to the ENUMACCOUNTINFOINTEGER account property enumeration mode of margin calculation for the current trading account:ACCOUNTMARGINMODERETAILNETTING used for the over-the-counter market when accounting positions in the netting mode (one position per symbol). Margin calculation is based on a symbol type (SYMBOLTRADECALCMODE). ACCOUNTMARGINMODEEXCHANGE used on the exchange markets. Margin calculation is based on the discounts specified in symbol settings. Discounts are set by the broker, however they cannot be lower than the exchange set values. ACCOUNTMARGINMODERETAILHEDGING used for the over-the-counter market with independent position accounting (hedging, there can be multiple positions at a single symbol). Margin calculation is based on a symbol type (SYMBOLTRADECALCMODE). The hedged margin size (SYMBOLMARGINHEDGED) is also considered. Added TERMINALSCREENDPI value to the ENUMTERMINALINFOINTEGER client terminal property enumeration data display resolution is measured in dots per inch (DPI). Knowledge of this parameter allows specifying the size of graphical objects, so that they look the same on monitors with different resolution. Added TERMINALPINGLAST value to the ENUMTERMINALINFOINTEGER client terminal properties the last known value of a ping to a trade server in microseconds. One second comprises of one million microseconds. Fixed return of the SendFTP function call result. Previously, FALSE was returned after a successful sending instead of TRUE. MQL5: Fixed an error in StringConcatenate function that occasionally caused Access violation execution error. Fixed a few errors occurred when working with template functions. Added ability to display lines exceeding 4000 characters for Print, Alert, and Comment functions. Fixed an error in ArrayCompare function that occurred when comparing an array to itself but with different initial position shift from the beginning. Added support for hedging to Standard Library:CPosition Added methods: SelectByMagic select position by a magic number and symbol for further work. SelectByTicket select position by a ticket for further work. CTrade Added methods:RequestPosition receive a position ticket. RequestPositionBy receive an opposite position ticket. PositionCloseBy close a position with the specified ticket by an opposite position. SetMarginMode set margin calculation mode according to the current account settings. Added overloading for the methods:PositionClose close position by ticket. PositionModify modify position by ticket. CAccountInfo Changed the methods:MarginMode receive margin calculation mode. Until recently, the method worked similarly to the new StopoutMode method. MarginDescription receive margin calculation mode as a string. Until recently, the method worked similarly to the new StopoutModeDescription method. Added methods:StopoutMode receive minimum margin level specification mode. StopoutModeDescription receive minimum margin level specification mode as a string. CExpert Added methods:SelectPosition select a position for further work. Added a few improvements to the Standard Library. Fixed unloading of DLLs. Added support for template class constructors. Fixed a few trading signals showcase display errors. MetaEditor Fixed search of words by files in Match Whole Word Only mode. Added moving to a file by double-clicking on the necessary files compilation result line. Fixed display of some control elements in Windows XP. Updated documentation.

Комментарии

Популярные сообщения из этого блога

Vkc forex hinjewadi propriedades

Valutor forex trading