Como começar com o Metatrader 5 - página 121

 

Hi

Sou um principiante que quer seguir a estratégia de cortar e colar. Como eu começo . Eu preciso de uma abordagem passo a passo

por favor


 
Seth Agblemor:

Hi

Sou um principiante que quer seguir a estratégia de cortar e colar. Como eu começo . Eu preciso de uma abordagem passo a passo

por favor


De onde eu começo?
https://www.mql5.com/en/forum/212020

----------------

Where Do I start from?
Where Do I start from?
  • 2017.07.25
  • www.mql5.com
Hi fam! Am a total newbie in the forex niche... Just signed up here on this platform... Please where do i start from? I need help...
 

Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste

Algumas perguntas sobre Sinais

Sergey Golubev, 2016.12.30 20:14

Apenas algumas informações sobre o Serviço de Sinalização:

Esta é a informação sobre por onde começar.

------------

Dasregras-

  • Sinais baseados em contas reais estão disponíveis somente por Assinatura paga; sinais baseados em contas demo podem ser recebidos somente por Assinatura gratuita.
  • Sinais baseados em contas em centavos não podem ter Assinatura paga. Tais Sinais estão disponíveis apenas no terminal MetaTrader gratuitamente. Uma conta de centavos é definida automaticamente. No caso de um Sinal ser definido incorretamente, a Administração do serviço pode atribuir esta propriedade ao Sinal manualmente.

 
Uso prático das redes neurais Kohonen no comércio algorítmico. Parte I. Ferramentas

<br / translate="no">

O assunto das redes neurais Kohonen foi abordado em alguns artigos no site mql5.com, como oUso de Mapas de Recursos de Auto-Organização (Kohonen Maps) no MetaTrader 5 eMapas de Recursos de Auto-Organização (Kohonen Maps) - Revisitando o Assunto. Eles introduziram os leitores aos princípios gerais de construção de redes neurais deste tipo e analisaram visualmente os números econômicos dos mercados utilizando tais mapas.

Entretanto, em termos práticos, o uso de redes Kohonen apenas para comércio algorítmico foi confinado a uma única abordagem, ou seja, a mesma análise visual dos mapas de topologia construídos para os resultados da otimização da EA. Neste caso, o julgamento de valor, ou melhor, a visão e a capacidade de tirar conclusões razoáveis a partir de uma imagem acaba sendo, talvez, o fator crucial, deixando de lado as propriedades da rede no que diz respeito à representação de dados em termos de questões de porcas e parafusos.

Em outras palavras, as características dos algoritmos de redes neurais não foram utilizadas ao máximo, ou seja, foram utilizadas sem extrair automaticamente o conhecimento ou apoiar a tomada de decisões com recomendações específicas. Neste artigo, consideramos o problema de definir os conjuntos ótimos de parâmetros dos robôs de uma maneira mais formalizada. Além disso, vamos aplicar a rede Kohonen à previsão das faixas econômicas. Entretanto, antes de prosseguirmos com estes problemas aplicados, devemos rever os códigos-fonte existentes, obter algo fixo e fazer algumas melhorias.

É altamente recomendável ler primeiro os artigos acima, se você não estiver familiarizado com os termos como "rede", "camada", "neurônio" ("nó"), "link", "peso", "taxa de aprendizagem", "faixa de aprendizagem" e outras noções relacionadas às redes de Kohonen. Então, teremos que nos saturar neste assunto, de modo que o re-ensino das noções básicas alongaria significativamente esta publicação.

 

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Nova plataforma MetaTrader 5 build 2005: Calendário Econômico, aplicativos MQL5 como serviços e API de linguagem R

MetaQuotes Software Corp. , 20.02.2019 17:20

A atualização da plataforma MetaTrader 5 será lançada em 21 de fevereiro de 2019. A nova versão apresenta as seguintes alterações:

  1. Terminal: Calendário Econômico integrado completamente revisado.

    O Calendário Econômico é nossa solução proprietária. Nele você encontrará mais de 600 notícias e indicadores financeiros relacionados às 13 maiores economias globais: EUA, União Européia, Japão, Reino Unido, Canadá, Austrália, China entre outros. Dados relevantes são coletados de fontes abertas em tempo real.

    A nova versão apresenta conteúdos atualizados e filtros avançados de eventos: por horário, prioridade, moedas e países.

    Os dados do calendário agora podem ser acessados a partir de programas MQL5. Por favor, veja abaixo para detalhes.




  2. Terminal: Adicionado novo tipo de aplicativos MQL5 — Serviços. Este novo tipo permite a criação de feeds de preços personalizados para o terminal, ou seja, implementar a entrega de preços a partir de sistemas externos em tempo real, tal como é implementado nos servidores de negociação das corretoras.

    Ao contrário dos Expert Advisors, indicadores e scripts, os serviços não estão vinculados a um gráfico específico. Esses aplicativos são executados em segundo plano e são iniciados automaticamente quando o terminal é iniciado (a menos que esse aplicativo tenha sido interrompido à força).

    Os serviços podem ser gerenciados a partir de uma nova seção na janela do Navegador:





    Como criar serviços
    Para criar um modelo de serviço, use a opção correspondente do Assistente MQL5 . Os serviços têm um ponto de entrada OnStart , semelhante aos scripts. Neste ponto, você pode implementar um ciclo infinito de recebimento e manipulação de dados usando funções de rede .

    Como lançar serviços
    Para executar vários Expert Advisors ou cópias de indicadores com parâmetros diferentes, você deve iniciá-los em gráficos diferentes. Neste caso, diferentes instâncias de programa são criadas, que então operam independentemente. Os serviços não estão vinculados a gráficos, portanto, foi implementado um mecanismo especial para a criação de instâncias de serviço.

    Selecione um serviço no Navegador e clique em "Adicionar serviço" em seu menu de contexto. Isso abrirá uma caixa de diálogo padrão do programa MQL5, na qual você pode ativar/desativar negociação e acesso às configurações de sinal, bem como definir vários parâmetros.




    Uma instância de serviço pode ser iniciada e interrompida usando o menu de instância apropriado. Para gerenciar todas as instâncias, use o menu de serviço.

  3. Terminal: Um programa de aprendizagem foi adicionado.

    O novo recurso ajudará os iniciantes a aprender a interagir com a plataforma. Adicionamos mais de 100 dicas interativas sobre os principais recursos da plataforma.

    • As dicas são exibidas perfeitamente como uma barra de progresso na barra de ferramentas e, portanto, não distraem o usuário.
    • As dicas aparecem apenas para as ações que você nunca realizou na plataforma.
    • Todas as dicas incluem links interativos, pelos quais você pode navegar para os elementos de interface relevantes. Por exemplo, uma caixa de diálogo de negociação ou um menu com o programa desejado pode ser lançado diretamente da ponta.

    A área preenchida da barra de progresso aumentará sempre que você realizar as ações apropriadas e continuar o treinamento.




  4. Terminal: O histórico da conta de negociação pode ser apresentado como posições. A plataforma coleta dados sobre negócios relacionados à posição (abertura, aumento de volume, fechamento parcial ou total) e agrupa as informações em um único registro. Assim, você pode acessar os detalhes da posição: horário de abertura e fechamento, volume, preço e resultado. Este formulário de apresentação eficiente está agora disponível em relatórios de histórico exportados para arquivos.




  5. Terminal: Adicionada nova API permitindo a solicitação de dados do terminal MetaTrader 5 por meio de aplicativos usando a linguagem R.

    Preparamos um pacote especial do MetaTrader. Ele contém DLL para interações entre R e o terminal MetaTrader 5, documentação e arquivos r auxiliares. Estamos concluindo o cadastro do pacote no repositório CRAN , após o qual ele estará disponível para download e instalação.




    O pacote pode ser instalado usando um comando especial:
    R CMD INSTALL --build MetaTrader

    Os seguintes comandos relacionados à solicitação de dados estão disponíveis:

    • MT5Initialize inicializa e estabelece conexão com o terminal MetaTrader 5. Se necessário, o terminal é iniciado durante a execução do comando.
    • O MT5Shutdown é desinicializado e desconectado do MetaTrader 5.
    • O MT5Version obtém a versão do terminal MetaTrader 5.
    • O MT5TerminalInfo obtém o estado e os parâmetros da conexão do terminal ao servidor de um corretor (número da conta e endereço do servidor).
    • O MT5WaitTerminal espera que o terminal MetaTrader 5 se conecte ao servidor de um corretor.
    • MT5CopyTicksFrom(symbol, from, count, flags) copia o número especificado de ticks a partir da data especificada. A data é especificada em milissegundos desde 01.01.1970.
    • MT5CopyTicksRange(symbol, from, to, flags) copia os ticks dentro do período especificado. As datas são especificadas em milissegundos desde 01.01.1970.
    • MT5CopyRatesFrom(symbol, timeframe, from, count) copia o número especificado de barras de um minuto a partir da data especificada. A data é especificada em segundos desde 01.01.1970.
    • MT5CopyRatesFromPos(symbol, timeframe, start_pos, count) copia barras de um minuto da posição especificada em relação à última barra.
    • MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) copia as barras de dentro do período especificado. As datas são especificadas em segundos desde 01.01.1970.

    A lista de comandos suportados será expandida ainda mais.

  6. Terminal: Caixa de diálogo Fechar por otimizado usada para fechar uma posição por uma oposta. Agora, o diálogo não fica mais lento, mesmo se você tiver um grande número de posições abertas.
  7. Terminal: Corrigidos erros de cálculo de símbolos sintéticos , devido aos quais os dados podiam ser ignorados ocasionalmente.
  8. Terminal: Quando um símbolo personalizado é excluído, os arquivos que armazenam seu histórico de marcações e barras também são excluídos. Isso evita o acúmulo de dados não utilizados no disco rígido.
  9. Terminal: Corrigida a exibição de resultados de pesquisa em telas de alto DPI.
  10. MQL5: Acesso implementado a dados de calendário econômico de programas MQL5.

    Novas funções

    CalendarCountryById — obtém a descrição do país por identificador.
     bool CalendarCountryById(
       const long            country_id,    // country ID
       MqlCalendarCountry&  country        // country description
       );
    CalendarEventById — obtém a descrição do evento por identificador.
     bool CalendarEventById(
       const long            event_id,      // event ID
       MqlCalendarEvent&     event           // event description
       );
    CalendarValueById — obtém a descrição do valor do evento por identificador.
     bool CalendarValueById(
       const long            value_id,      // value ID
       MqlCalendarValue&     value           // value description
       );
    CalendarEventByCountry — obtém a matriz de eventos disponíveis para o país.
     bool CalendarEventByCountry(
       string                country_code,  // country code
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarEventByCurrency — obtém a matriz de eventos disponíveis para a moeda afetada.
     bool CalendarEventByCurrency(
       string                currency,       // currency
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarValueHistoryByEvent — obtém a matriz de valores para o período de tempo especificado, por identificador de evento.
     bool CalendarValueHistoryByEvent(
       ulong                 event_id,      // event ID
       MqlCalendarValue&    values[],      // array of values
       datetime              datetime_from, // period beginning date
       datetime              datetime_to= 0  // period end date
       );
    CalendarValueHistory — obtém a matriz de valores para o período de tempo especificado para todos os eventos, filtrados por país e/ou moeda.
     bool CalendarValueHistory(
       MqlCalendarValue&    values[],           // array of values
       datetime              datetime_from,     // beginning of period
       datetime              datetime_to= 0 ,     // end of period
       string                country_code=NULL, // country code
       string               currency=NULL      // currency
       );
    CalendarValueLastByEvent — obtém uma matriz dos valores do último evento por identificador. Esta função habilita a solicitação dos valores que apareceram desde a solicitação anterior. O parâmetro de entrada/saída "change_id" é adicionalmente usado para esta operação.

    Toda vez que o banco de dados do calendário é alterado, a propriedade "change_id" (o último identificador de alteração) é atualizada. Durante a solicitação de dados, você especifica "change_id" e o terminal retorna os eventos que apareceram após esse período, bem como o valor atual "change_id", que pode ser usado para a próxima solicitação. Durante a primeira chamada de função, especifique o zero "change_id": a função não retornará nenhum evento, mas retornará o "change_id" atual para solicitações adicionais.
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[]           // array of values
       );
    CalendarValueLast — obtém a matriz dos últimos valores de todos os eventos, filtrados por país e/ou moeda. Esta função habilita a solicitação dos valores que apareceram desde a solicitação anterior. Da mesma forma que CalendarValueLastByEvent, a propriedade "change_id" é usada para a solicitação.
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[],           // array of values
       string                country_code=NULL, // country code
       string currency=NULL                     // currency
       );

    Novas estruturas

    MqlCalendarCountry — descrição do país.
     struct MqlCalendarCountry
      {
       ulong              id;                         // country ID in ISO 3166-1
       string             name;                       // text name of the country
       string             code;                       // code name of the country in ISO 3166-1 alpha-2
       string             currency;                   // country currency code
       string             currency_symbol;           // country currency symbol/sign
       string             url_name;                   // country name used in URL on mql5.com
      };
    MqlCalendarEvent — descrição do evento.
     struct MqlCalendarEvent
      {
       ulong                           id;           // event ID
       ENUM_CALENDAR_EVENT_TYPE       type;         // event type
       ENUM_CALENDAR_EVENT_SECTOR     sector;       // sector to which the event belongs
       ENUM_CALENDAR_EVENT_FREQUENCY  frequency;     // event release frequency
       ENUM_CALENDAR_EVENT_TIMEMODE   time_mode;     // event release time mode
       ulong                           country_id;   // country ID
       ENUM_CALENDAR_EVENT_UNIT       unit;         // unit for the event values
       ENUM_CALENDAR_EVENT_IMPORTANCE importance;   // event importance
       ENUM_CALENDAR_EVENT_MULTIPLIER multiplier;   // event importance multiplier
       uint                            digits;       // number of decimal places in the event value
       string                          source_url;   // source URL
       string                          event_code;   // event code
       string                          name;         // text name of the event in the terminal language
      };
    MqlCalendarValue — descrição do valor do evento.
     struct MqlCalendarValue
      {
       ulong              id;                         // value ID
       ulong              event_id;                   // event ID
       datetime           time;                       // event date and time
       datetime           period;                     // period, for which the event is published
       int                revision;                   // published indicator revision in relation to the reported period
       long               actual_value;               // current event value
       long               prev_value;                 // previous event value
       long               revised_prev_value;         // revised previous event value
       long               forecast_value;             // forecast event value
       ENUM_CALENDAR_EVENT_IMPACRT impact_type;     // potential impact on the currency rate
      };

    Novas enumerações

     enum ENUM_CALENDAR_EVENT_FREQUENCY
      {
       CALENDAR_FREQUENCY_NONE            = 0 ,   // not used
       CALENDAR_FREQUENCY_WEEK            = 1 ,   // weekly
       CALENDAR_FREQUENCY_MONTH           = 2 ,   // monthly
       CALENDAR_FREQUENCY_QUARTER         = 3 ,   // quarterly
       CALENDAR_FREQUENCY_YEAR            = 4 ,   // yearly
       CALENDAR_FREQUENCY_DAY             = 5 ,   // daily
      };
    
    enum ENUM_CALENDAR_EVENT_TYPE
      {
       CALENDAR_TYPE_EVENT                = 0 ,   // event (meeting, speech, etc.)
       CALENDAR_TYPE_INDICATOR            = 1 ,   // indicator
       CALENDAR_TYPE_HOLIDAY              = 2 ,   // holiday
      };
    
    enum ENUM_CALENDAR_EVENT_SECTOR
      {
       CALENDAR_SECTOR_NONE               = 0 ,   // no
       CALENDAR_SECTOR_MARKET             = 1 ,   // market
       CALENDAR_SECTOR_GDP                = 2 ,   // GDP
       CALENDAR_SECTOR_JOBS               = 3 ,   // jobs
       CALENDAR_SECTOR_PRICES             = 4 ,   // prices
       CALENDAR_SECTOR_MONEY              = 5 ,   // money
       CALENDAR_SECTOR_TRADE              = 6 ,   // trade
       CALENDAR_SECTOR_GOVERNMENT         = 7 ,   // government
       CALENDAR_SECTOR_BUSINESS           = 8 ,   // business
       CALENDAR_SECTOR_CONSUMER           = 9 ,   // consumer
       CALENDAR_SECTOR_HOUSING            = 10 ,   // housing
       CALENDAR_SECTOR_TAXES              = 11 ,   // taxes
       CALENDAR_SECTOR_HOLIDAYS           = 12 ,   // holidays
      };
      
    enum ENUM_CALENDAR_EVENT_IMPORTANCE
      {
       CALENDAR_IMPORTANCE_LOW            = 0 ,   // no
       CALENDAR_IMPORTANCE_NONE           = 1 ,   // low
       CALENDAR_IMPORTANCE_MODERATE       = 2 ,   // moderate
       CALENDAR_IMPORTANCE_HIGH           = 3 ,   // high
      };
    
    enum ENUM_CALENDAR_EVENT_UNIT
      {
       CALENDAR_UNIT_NONE                 = 0 ,   // no
       CALENDAR_UNIT_PERCENT              = 1 ,   // percent
       CALENDAR_UNIT_CURRENCY             = 2 ,   // national currency
       CALENDAR_UNIT_HOUR                 = 3 ,   // number of hours
       CALENDAR_UNIT_JOB                  = 4 ,   // number of jobs
       CALENDAR_UNIT_RIG                  = 5 ,   // number of rigs
       CALENDAR_UNIT_USD                  = 6 ,   // US dollar
       CALENDAR_UNIT_PEOPLE               = 7 ,   // number of people
       CALENDAR_UNIT_MORTGAGE             = 8 ,   // number of mortgages
       CALENDAR_UNIT_VOTE                 = 9 ,   // number of votes
       CALENDAR_UNIT_BARREL               = 10 ,   // number of barrels
       CALENDAR_UNIT_CUBICFEET            = 11 ,   // volume in cubic feet
       CALENDAR_UNIT_POSITION             = 12 ,   // number of job positions
       CALENDAR_UNIT_BUILDING             = 13    // number of buildings
      };
      
    enum ENUM_CALENDAR_EVENT_MULTIPLIER
      {
       CALENDAR_MULTIPLIER_NONE           = 0 ,   // no    
       CALENDAR_MULTIPLIER_THOUSANDS      = 1 ,   // thousands
       CALENDAR_MULTIPLIER_MILLIONS       = 2 ,   // millions
       CALENDAR_MULTIPLIER_BILLIONS       = 3 ,   // billions
       CALENDAR_MULTIPLIER_TRILLIONS      = 4 ,   // trillions
      };
      
    enum ENUM_CALENDAR_EVENT_IMPACRT
      {
       CALENDAR_IMPACT_NA                 = 0 ,   // not available
       CALENDAR_IMPACT_POSITIVE           = 1 ,   // positive
       CALENDAR_IMPACT_NEGATIVE           = 2 ,   // negative
      };
    
    enum ENUM_CALENDAR_EVENT_TIMEMODE
      {
       CALENDAR_TIMEMODE_DATETIME         = 0 ,   // the source publishes the exact time
       CALENDAR_TIMEMODE_DATE             = 1 ,   // the event takes the whole day
       CALENDAR_TIMEMODE_NOTIME           = 2 ,   // the source does not publish the event time
       CALENDAR_TIMEMODE_TENTATIVE        = 3 ,   // the source provides only date, but does not publish the exact time in advance, exact time is added when event occurs
      };

    Novos códigos de erro

    ERR_CALENDAR_MORE_DATA             = 5400 ,   // the array is small for the whole result (values which fit in the array were passed)
    ERR_CALENDAR_TIMEOUT               = 5401 ,   // timed out waiting for a response to the calendar data request
    ERR_CALENDAR_NO_DATA               = 5402 ,   // data not found

  11. MQL5: Correções e melhorias de velocidade de operação relacionadas ao histórico de ticks e barras.
  12. MQL5: Correções e melhorias significativas na velocidade de operação relacionadas às funções de modificação do histórico de ticks e barras de símbolos de negociação personalizados, CustomTicks* e CustomRates* .
  13. MQL5: Novas funções de conversão de dados.

    CharArrayToStruct copia uma matriz uchar para uma estrutura POD.
     bool   CharArrayToStruct(
       void &         struct_object,    // structure
       const uchar &  char_array[],      // array
       uint           start_pos= 0         // starting position in the array
       );
    StructToCharArray copia uma estrutura POD para uma matriz uchar.
     bool   StructToCharArray(
       const void &  struct_object,      // structure
       uchar &       char_array[],      // array
       uint          start_pos= 0         // starting position in the array
       );

  14. Adicionada função MathSwap para alterar a ordem dos bytes nos valores ushort, uint e ulong.
     ushort MathSwap( ushort value );
    uint    MathSwap( uint    value );
    ulong   MathSwap( ulong    value );

  15. MQL5: Adicionadas funções de rede para criar conexões TCP com hosts remotos por meio de soquetes do sistema:

    • SocketCreate cria um soquete com sinalizadores especificados e retorna seu identificador
    • SocketClose fecha o soquete
    • SocketConnect se conecta ao servidor, com controle de tempo limite
    • SocketIsConnected verifica se o soquete está conectado no momento
    • SocketIsReadable obtém o número de bytes que podem ser lidos do soquete
    • SocketIsWritable verifica se a gravação de dados neste soquete é possível no momento atual
    • SocketTimeouts define os tempos limite de recebimento e envio de dados para o objeto de soquete do sistema
    • SocketRead lê dados de um soquete
    • SocketSend grava dados em um soquete
    • SocketTlsHandshake inicia uma conexão segura TLS (SSL) com o host especificado usando o protocolo TLS Handshake
    • SocketTlsCertificate recebe informações sobre o certificado usado para conexão de rede segura
    • SocketTlsRead lê dados de uma conexão TLS segura
    • SocketTlsReadAvailable lê todos os dados disponíveis de uma conexão TLS segura
    • SocketTlsSend envia dados usando uma conexão TLS segura

    O endereço do host, ao qual é estabelecida a conexão usando funções de rede, deve ser explicitamente adicionado à lista de endereços permitidos nas configurações do terminal.

    Novos códigos de erro foram adicionados para operações com funções de rede:

    • ERR_NETSOCKET_INVALIDHANDLE (5270): identificador de soquete inválido passado para a função
    • ERR_NETSOCKET_TOO_MANY_OPENED (5271): muitos soquetes abertos (máximo 128)
    • ERR_NETSOCKET_CANNOT_CONNECT (5272): erro ao conectar ao host remoto
    • ERR_NETSOCKET_IO_ERROR (5273): erro ao enviar/receber dados do socket
    • ERR_NETSOCKET_HANDSHAKE_FAILED (5274): erro de estabelecimento de conexão segura (TLS Handshake)
    • ERR_NETSOCKET_NO_CERTIFICATE (5275) — sem dados sobre o certificado usado para conexão segura

  16. MQL5: Adicionadas novas funções para operações de string :

    StringReserve reserva para uma string o buffer de memória do tamanho especificado.
     bool   StringReserve(
       string &        string_var,           // string
       uint            new_capacity          // buffer size for the string
       );
    StringSetLength define o comprimento da string especificada em caracteres.
     bool   StringSetLength(
       string &        string_var,          // string
       uint            new_length           // new string length
       );

  17. MQL5: Adicionada nova função para operações de array :

    ArrayRemove remove de uma matriz o número especificado de elementos começando com o índice especificado.
     bool   ArrayRemove(
       void &         array[],              // array of any type
       uint           start,                // the index to start removal
       uint           count=WHOLE_ARRAY      // number of elements
       );
    ArrayInsert insere em uma matriz receptora o número especificado de elementos da matriz de origem, começando com o índice especificado.
     bool   ArrayInsert(
       void &         dst_array[],          // receiver array
       const void &   src_array[],          // source array
       uint           dst_start,            // index in the receiver array where to insert
       uint           src_start= 0 ,           // index in the source array to start copying
       uint           count=WHOLE_ARRAY     // number of inserted elements
       );
    ArrayReverse reverte em uma matriz o número especificado de elementos começando com o índice especificado.
     bool   ArrayReverse(
       void &         array[],              // array of any type
       uint           start= 0 ,               // index to start reversing
       uint           count=WHOLE_ARRAY      // number of elements
       );

  18. MQL5: Novo parâmetro "uint count" foi adicionado nas funções CustomRatesUpdate , CustomRatesReplace , CustomTicksAdd e CustomTicksReplace . Permite especificar o número de elementos do array passado, que serão utilizados para essas funções. O valor WHOLE_ARRAY é usado para o parâmetro por padrão. Isso significa que toda a matriz será utilizada.
  19. MQL5: Adicionada a função CustomBookAdd para passar o status do Depth of Market para um símbolo personalizado. A função permite transmitir o Depth of Market como se os preços chegassem do servidor de um corretor.
     int   CustomBookAdd(
       const string         symbol,             // symbol name
       const MqlBookInfo&  books[]             // an array with the DOM elements descriptions
       uint                 count=WHOLE_ARRAY   // number of elements to be used
       );
  20. MQL5: Adicionada sobrecarga de função CustomSymbolCreate . Isso permite a criação de um símbolo de negociação personalizado com base em um já existente. Após a criação, qualquer propriedade do símbolo pode ser editada usando as funções correspondentes.
     bool   CustomSymbolCreate (
       const string         symbol_name,       // custom symbol name
       const string         symbol_path= "" ,    // name of the group in which the symbol will be created
       const string         symbol_origin=NULL // name of the symbol based on which the custom symbol will be created
       );
    O nome do símbolo, do qual as propriedades do símbolo personalizado devem ser copiadas, é especificado no parâmetro "symbol_origin".

  21. A função StringToTime que converte a string com data/hora em um valor de data e hora foi atualizada. Agora ele suporta os seguintes formatos de data:

    • aaaa.mm.dd [hh:mi]
    • aaaa.mm.dd [hh:mi:ss]
    • aaaammdd [hh:mi:ss]
    • aaaammdd [hhmiss]
    • aaaa/mm/dd [hh:mi:ss]
    • aaaa-mm-dd [hh:mi:ss]

  22. MQL5: Nova propriedade TERMINAL_VPS na enumeração ENUM_TERMINAL_INFO_INTEGER ; ele mostra que o terminal está sendo executado no servidor MetaTrader Virtual Hosting (MetaTrader VPS). Se um aplicativo estiver sendo executado em um servidor de hospedagem, você poderá desabilitar todas as suas funções visuais, pois o servidor virtual não possui uma interface gráfica de usuário.
  23. MQL5: Nova propriedade SYMBOL_EXIST na enumeração ENUM_SYMBOL_INFO_INTEGER , significa que o símbolo sob este nome existe.
  24. MQL5: Corrigida a digitação ao usar pré-declarações de função de modelo.
  25. MQL5: Adicionada reinicialização de indicadores ao alterar uma conta de negociação.
  26. MQL5: Função StringSplit otimizada.
  27. MQL5: Corrigidos erros na operação da biblioteca padrão.
  28. Testador: função TesterStop adicionada — desligamento antecipado de rotina de um Expert Advisor em um agente de teste. Agora você pode parar o teste à força depois de atingir o número especificado de negociações perdidas, um nível de rebaixamento predefinido ou qualquer outro critério.

    O teste concluído usando esta função é considerado bem-sucedido. Após a chamada da função, o histórico de negociação obtido durante o teste e todas as estatísticas de negociação são passadas para o terminal.

  29. Testador: capacidade desativada para testar e otimizar Expert Advisors por meio da MQL5 Cloud Network no modo de tick real. Esse modo só pode ser usado em agentes locais e farms de rede local.
  30. Testador: Trabalho aprimorado com indicadores durante o teste visual. Agora, o gráfico de preços e as linhas do indicador são desenhados de forma síncrona, mesmo para a velocidade máxima de visualização.
  31. Testador: Teste e otimização otimizados e significativamente acelerados.
  32. Testador: Corrigida a depuração de indicadores em dados históricos. Agora as funções do indicador OnInit e OnDeinit podem ser depuradas corretamente.
  33. Testador: Implementado acesso mais rápido a dados históricos ao testar Expert Advisors de várias moedas.
  34. Testador: Corrigido o congelamento ocasional do testador visual durante a depuração em dados históricos.
  35. Testador: Implementado início mais rápido de passos de otimização ao processar um pacote de tarefas por um agente.
  36. Testador: Alterada a política de distribuição de pacotes de tarefas para agentes de teste. O tamanho do pacote foi aumentado e, portanto, o consumo de recursos nas operações de rede foi reduzido significativamente.
  37. Testador: Alterado o comportamento das opções permitindo o uso de agentes locais, de rede e de nuvem. Agora, quando você desativa as opções, os agentes concluem o processamento das tarefas recebidas, enquanto não são atribuídas mais novas tarefas a eles. Nas versões anteriores, o comportamento era semelhante ao comando "Desativar", que interrompeu imediatamente a operação do agente.




  38. MetaEditor: Adicionado suporte para caracteres não ANSI no depurador. Agora, as expressões são exibidas corretamente, mesmo que o nome da variável seja especificado em cirílico.
  39. MetaEditor: Corrigida a exibição de resultados de pesquisa em telas de alto DPI.
  40. Adicionada a tradução da interface do usuário para o croata.
  41. A documentação foi atualizada.
A atualização estará disponível através do sistema LiveUpdate.

 

Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste

Pacote MetaTrader R - o resumo

Sergey Golubev, 2019.02.22 06:47

O Estudo Principal

----------------

Os artigos

----------------

O Fórum

----------------

mais a seguir ...


 

Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste

Links úteis/linhas/ferramentas

Sergey Golubev, 2017.10.05 12:33

Consultores Especialistas Multimoedas em MT5 - retro-testes e otimização


Os fios/postos

  • Compra ou Venda dos 7 pares -a linha com a explicação.
  • Consultores Especialistas Multimoedaso posto com os exemplos de backtesting/optimização

Os artigos

Documentação

  • MetaTrader 5 Ajuda → Algorithmic Trading, Trading Robots →Tipos de Otimização- Todos os Símbolos Selecionados em Market Watch
  • MetaTrader 5 Help → Algorithmic Trading, Trading Robots →Strategy Testing- Multi-Currency Expert Advisors
  • MetaTrader 5 Ajuda - Plataforma de negociação -Manual do usuário

...e este é o exemplo do código da CodeBase -

----------------

Multimoedas iMA Trend- especialista para MetaTrader 5

The multi-symbol adviser uses the MA Trend 2 adviser as the base advisor, while the advisor itself is rewritten as a class.

Este conselheiro está na forma de uma classe a primeira versão, portanto, por enquanto, os símbolos ("EURUSD", "USDCAD", "USDJPY") estão especificados no código em força. Além disso, todos os parâmetros de entrada são os mesmos para cada um dos três símbolos (Stop Loss, Take Profit, e assim por diante...).

 

Foi publicado um bom artigo -

----------------

Aplicação prática das correlações no comércio

Aplicação prática das correlações no comércio

A correlação é uma relação estatística entre duas ou mais variáveis aleatórias (ou quantidades que podem ser consideradas aleatórias com algum grau de precisão aceitável). Mudanças em uma ou mais variáveis levam a mudanças sistemáticas de outras variáveis relacionadas. A medida matemática da correlação de duas variáveis aleatórias é o coeficiente de correlação. Se uma mudança em uma variável aleatória não leva a uma mudança regular na outra variável aleatória, mas leva a uma mudança em outra característica estatística desta variável aleatória, tal relação não é considerada correlação, embora seja estatística.

Aplicação prática das correlações no comércio

 

Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste

De onde eu começo?

Sergey Golubev, 2018.09.20 15:43

Dicas de uso - as instruções sobre HowTo

=========

----------------

----------------

----------------


 

Há um tópico no fórum -
Possibilidades da Tela.
É um fio muito útil.
E esta é uma ferramenta muito interessante que está totalmente relacionada a esta rosca -

----------------

Sistema de equações algébricas lineares em cada barra- indicador para MetaTrader 5

This work has 3 goals: 

  • Demonstrar o funcionamento do indicador em duas janelas ao mesmo tempo: na janela principal e na subjanela. Isto é conseguido através da utilização da classeiCanvas.
  • Solução compacta de um sistema de equações algébricas lineares utilizando a recursividade.
  • Demonstrar e provar a alguns pesquisadores o fato de que o uso do SLAE no comércio algorítmico contém o potencial de predição de preços.
Razão: