A boa rosca foi criada com informações visualizadas - Arosca Tips. É fortemente recomendado ler este pequeno tópico para todos os novatos (para saber), e para usuários experientes (para atualizar seus conhecimentos).
----------------
Serviço freelance
Como depositar fundos em sua conta MQL5
Como proceder para a próxima etapa
Como deixar feedback
O que é uma captura de tela
Como anexar um arquivo de uma Especificação de requisitos preliminares/ arquivos de outros formatos
Coisas a serem fornecidas a um Desenvolvedor se o programa tiver um erro
Como inserir uma imagem/código/vídeo/tabela em um texto
Como fazer uma captura de tela em um dispositivo móvel
Como estender o período/custo de execução do pedido
Não desaparecer por 5 dias após a definição de 3 dias para execuçãoCliente: Como criar uma imagem GIF, ao invés de um vídeo, para embutir em uma conversa
----------------
Plataforma
Como instalar um Expert Advisor/indicador
Onde está o jornal plataforma/tester/optimizador
Onde está a MetaQuotes ID para confugurar notificações push
Como fazer uma captura de tela de um erro através do menu gráfico em três cliques
Onde ativar e configurar as notificações por e-mail
Onde estão os arquivos com os quais um EA/indicador trabalha
O que são campos de 'descrição' e 'ícone' e onde encontrá-los
Onde encontrar o número de construção da plataforma Como ativar a janela de dados e ver os valores indicadores
Como permitir a escala de tempo precisa
Como salvar um modelo de gráfico
Como adicionar uma URL para trabalhar via WebRequestOnde encontrar arquivos EX4/EX5
----------------
Consultor especializado
O que é Número Mágico
Como funciona a parada móvel Onde está o diário da EA
Por que um EA/indicador é cinza no Navigator
Qual é a diferença entre Netting e Hedging
Como instalar um produto comprado no mercado
----------------
Testador
Como salvar/carregar um arquivo de conjunto
Onde encontrar o jornal plataforma/tester/optimizador
Como os modos de teste são diferentes um do outro?
Como lançar e usar testes visuais
Como baixar um histórico de preços disponíveis no MetaTrader 4
A versão beta da plataforma MetaTrader 5 atualizada deve ser lançada em 14 de outubro de 2018. Atualizaremos nosso servidor público MetaQuotes-Demo localizado em access.metatrader5.com:443. Convidamos todos os traders a participar dos testes a fim de avaliar as características da plataforma atualizada e ajudar os desenvolvedores a corrigir erros.
Para atualizar a plataforma MetaTrader 5 até 1910, conecte-se ao servidor access.metatrader5.com:443.
A construção final da nova plataforma MetaTrader 5 será lançada após o teste beta público.
A atualização apresentará as seguintes mudanças:
Terminal: Agora você pode separar os gráficos de símbolos financeiros da janela do terminal comercial.
Este recurso é conveniente quando se usa múltiplos monitores. Assim, você pode configurar a janela principal da plataforma em um monitor para controlar o estado de sua conta e mover seus gráficos para a segunda tela para observar a situação do mercado. Para destacar um gráfico do terminal, desative a opção Docked em seu menu de contexto. Depois disso, mova o gráfico para o monitor desejado.
Uma barra de ferramentas separada nos gráficos destacados permite aplicar objetos analíticos e indicadores sem a necessidade de alternar entre monitores. Use o menu de contexto da barra de ferramentas para gerenciar o conjunto de comandos disponíveis ou para ocultá-lo.
Terminal: Completamente atualizado os bate-papos integrados. Agora eles suportam os diálogos e canais de grupo. Conduzir discussões privadas com um grupo de pessoas em um ambiente unificado sem alternar entre diferentes diálogos e criar canais de acordo com seus interesses e idiomas. Comunique-se com colegas e amigos na MQL5.community sem visitar o site.
As conversas em grupo e os canais podem ser públicos ou privados. Seus criadores decidem se é possível juntar-se a eles livremente ou apenas por convite. Você também pode designar moderadores para canais e chats para controle adicional da comunicação.
Terminal: Suporte adicional para maior precisão de volume para o comércio de moedas criptográficas. Agora o volume mínimo possível de operações de negociação é de 0,00000001 lotes. A profundidade do mercado, o tempo e as vendas, assim como outros elementos de interface agora apresentam a capacidade de exibir volumes precisos até 8 casas decimais.
O volume mínimo e sua etapa de mudança dependem das configurações do instrumento financeiro do lado do corretor.
Terminal: Adicionada a aba de artigos publicados na MQL5.community à janela Caixa de Ferramentas. Mais de 600 materiais detalhados sobre o desenvolvimento de estratégias comerciais na MQL5 estão agora disponíveis sem a necessidade de sair do terminal. Novos artigos são publicados semanalmente.
Terminal: Adicionado suporte para autenticação estendida usando certificados quando se trabalha com Vinho.
Terminal: Exibição fixa da profundidade do mercado quando limitado a um nível.
Terminal: Adicionado o comando "Salvar como imagem" à barra de ferramentas padrão. Agora, é muito mais fácil tirar fotos de gráficos e compartilhá-las na comunidade.
Terminal: Fixo aplicando o deslocamento horário na importação de barras e carrapatos. Anteriormente, o turno não era aplicado em alguns casos.
MQL5: Adicionado suporte nativo para bibliotecas .NET com funções "inteligentes" de importação. Agora as bibliotecas .NET podem ser usadas sem a necessidade de escrever embalagens especiais - o MetaEditor o faz por conta própria.
Para trabalhar com as funções das bibliotecas .NET, basta importar a própria DLL sem definir funções específicas. O MetaEditor importa automaticamente todas as funções com as quais é possível trabalhar:
Estruturas simples (POD, dados antigos simples)
Estruturas com tipos de dados simples
Funções públicas estáticas com parâmetros, nas quais somente tipos simples e estruturas POD ou suas matrizes são utilizadas
Para chamar funções da biblioteca, basta importá-la:
#import "TestLib.dll"//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
int x=6;
TestClass::Inc(x);
Print(x);
}
O código C# da função Inc da classe de teste tem a seguinte aparência:
Como resultado da execução, o script retorna o valor de 7.
MQL5: Adicionado suporte para especificadores inline, __inline e __forceinline ao analisar o código. A presença dos especificadores no código não causa erros e não afeta a compilação. No momento, esta característica simplifica a transferência do código С++ para a MQL5. Encontre mais informações sobre os especificadores na MSDN.
MQL5: Execução significativamente otimizada dos programas da MQL5. Em alguns casos, a melhoria do desempenho pode chegar a 10%. Recompile seus programas na nova versão do MetaEditor para fazê-los funcionar mais rapidamente.
Infelizmente, os novos programas não serão compatíveis com versões anteriores de terminais devido a esta otimização adicional. Os programas compilados no MetaEditor versão 1910 e posteriores não podem ser lançados em versões de terminal abaixo de 1880. Os programas compilados em versões anteriores do MetaEditor podem ser executados em novos terminais.
TERMINAL_SCREEN_LEFT - a coordenada esquerda da tela virtual. Uma tela virtual é um retângulo que cobre todos os monitores. Se o sistema tiver dois monitores ordenados da direita para a esquerda, então a coordenada esquerda da tela virtual pode estar na borda de dois monitores.
TERMINAL_SCREEN_TOP - a coordenada superior da tela virtual.
TERMINAL_SCREEN_WIDTH - a largura do terminal.
TERMINAL_SCREEN_HEIGHT - altura do terminal.
TERMINAL_LEFT - a coordenada esquerda do terminal em relação à tela virtual.
TERMINAL_TOP - a coordenada superior do terminal em relação à tela virtual.
TERMINAL_RIGHT - a cota direita do terminal em relação à tela virtual.
TERMINAL_BOTTOM - a cota inferior do terminal em relação à tela virtual.
MQL5: Adicionado o campo volume_real às estruturas MqlTick e MqlBookInfo. Ele é projetado para trabalhar com volumes de maior precisão. O valor volume_real tem uma prioridade maior do que 'volume'. O servidor usará este valor, se especificado.
struct MqlTick { datetime time; // Last price update time double bid; // Current Bid price double ask; // Current Ask price double last; // Current price of the Last trade ulong volume; // Volume for the current Last price long time_msc; // Last price update time in milliseconds uint flags; // Tick flags double volume_real; // Volume for the current Last price with greater accuracy };
struct MqlBookInfo
{
ENUM_BOOK_TYPE type; // order type from the ENUM_BOOK_TYPE enumerationdouble price; // pricelong volume; // volumedouble volume_real; // volume with greater accuracy
};
MQL5: Requisitos relaxados para as enumerações de fundição. No caso de uma fundição implícita, o compilador substitui automaticamente o valor de uma enumeração correta e exibe um aviso.
Para o seguinte código:
enum Main
{
PRICE_CLOSE_,
PRICE_OPEN_
};
input Main Inp=PRICE_CLOSE;
//+------------------------------------------------------------------+//| Start function |//+------------------------------------------------------------------+voidOnStart()
{
}
O compilador exibe o aviso:
implicit conversion from 'enum ENUM_APPLIED_PRICE' to 'enum Main' 'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
Anteriormente, foi gerado o seguinte erro nesse caso:
'PRICE_CLOSE' - cannot convert enum
O compilador ainda exibirá o erro se as enumerações forem usadas incorretamente nos parâmetros da função.
MQL5: Compilação fixa das funções do modelo. Agora, ao utilizar funções de modelo sobrecarregadas, apenas a sobrecarga necessária, ao invés de todas as existentes, é instanciada.
class X { };
void f(int) { }
template<typename T>
void a(T*) { new T(2); } // previously, the compiler generated the error heretemplate<typename T>
void a() { f(0); }
voidOnInit() { a<X>(); }
MQL5: Otimização de alguns casos de acesso ao histórico de tick através da função CopyTicks*.
Testador: Corrigido o cálculo da precisão da moeda de depósito ao testar/optimizar e gerar relatórios relevantes.
Testador: Otimização e aceleração da operação do testador de estratégia.
MetaEditor: Busca fixa de palavras inteiras. Agora, na busca, o sublinhado é contado como um caractere regular, em vez de um delimitador de palavras.
Este tópico discute exemplos de código MQL5. Haverá exemplos de como obter dados de indicadores, como programar consultores ... em geral, quaisquer perguntas desde iniciantes até a linguagem da MQL5.
Se você está apenas começando a se familiarizar com o terminal MetaTrader 5, então eu posso recomendar os seguintes tópicos:
Why products are checked before they are published in the Market
Antes de qualquer produto ser publicado no Mercado, ele deve passar por verificações preliminares obrigatórias, pois um pequeno erro na lógica do especialista ou do indicador pode causar perdas na conta de negociação. É por isso que desenvolvemos uma série de verificações básicas para garantir o nível de qualidade exigido dos produtos do Mercado.
Se algum erro for identificado pelos moderadores do Mercado no processo de verificação de seu produto, você terá que consertar todos eles. Este artigo considera os erros mais freqüentes cometidos pelos desenvolvedores em seus robôs comerciais e indicadores técnicos. Recomendamos também a leitura dos seguintes artigos:
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:
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 hora, 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.
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.
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.
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.
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.
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.
Terminal: Corrigidos erros de cálculo de símbolos sintéticos , devido aos quais os dados podiam ser ignorados ocasionalmente.
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.
Terminal: Corrigida a exibição de resultados de pesquisa em telas de alto DPI.
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 valuesdatetime datetime_from, // period beginning datedatetime 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 valuesdatetime datetime_from, // beginning of perioddatetime datetime_to= 0 , // end of periodstring country_code=NULL, // country codestring 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 IDulong & 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 IDulong & change_id, // last calendar change ID
MqlCalendarValue& values[], // array of valuesstring country_code=NULL, // country codestring currency=NULL // currency
);
Novas estruturas
MqlCalendarCountry — descrição do país.
struct MqlCalendarCountry
{
ulong id; // country ID in ISO 3166-1string name; // text name of the countrystring code; // code name of the country in ISO 3166-1 alpha-2string currency; // country currency codestring currency_symbol; // country currency symbol/signstring 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 modeulong 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 multiplieruint digits; // number of decimal places in the event valuestring source_url; // source URLstring event_code; // event codestring name; // text name of the event in the terminal language
};
MqlCalendarValue — descrição do valor do evento.
struct MqlCalendarValue
{
ulong id; // value IDulong event_id; // event IDdatetime time; // event date and timedatetime period; // period, for which the event is publishedint revision; // published indicator revision in relation to the reported periodlong actual_value; // current event valuelong prev_value; // previous event valuelong revised_prev_value; // revised previous event valuelong 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
MQL5: Correções e melhorias de velocidade de operação relacionadas ao histórico de ticks e barras.
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* .
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 a conexão usando funções de rede é estabelecida, 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
ArrayRemove remove de uma matriz o número especificado de elementos começando com o índice especificado.
bool ArrayRemove(
void & array[], // array of any typeuint start, // the index to start removaluint 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 arrayconstvoid & src_array[], // source arrayuint dst_start, // index in the receiver array where to insertuint src_start= 0 , // index in the source array to start copyinguint 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 typeuint start= 0 , // index to start reversinguint count=WHOLE_ARRAY // number of elements
);
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.
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(
conststring symbol, // symbol nameconst MqlBookInfo& books[] // an array with the DOM elements descriptionsuint count=WHOLE_ARRAY // number of elements to be used
);
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.
boolCustomSymbolCreate (
conststring symbol_name, // custom symbol nameconststring symbol_path= "" , // name of the group in which the symbol will be createdconststring 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".
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]
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.
MQL5: Nova propriedade SYMBOL_EXIST na enumeração ENUM_SYMBOL_INFO_INTEGER , significa que o símbolo sob este nome existe.
MQL5: Corrigida a digitação ao usar pré-declarações de função de modelo.
MQL5: Adicionada reinicialização de indicadores ao alterar uma conta de negociação.
MQL5: Corrigidos erros na operação da biblioteca padrão.
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.
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.
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.
Testador: Teste e otimização otimizados e significativamente acelerados.
Testador: Corrigida a depuração de indicadores em dados históricos. Agora as funções do indicador OnInit e OnDeinit podem ser depuradas corretamente.
Testador: Implementado acesso mais rápido a dados históricos ao testar Expert Advisors de várias moedas.
Testador: Corrigido o congelamento ocasional do testador visual durante a depuração em dados históricos.
Testador: Implementado início mais rápido de passos de otimização ao processar um pacote de tarefas por um agente.
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.
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.
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.
MetaEditor: Corrigida a exibição de resultados de pesquisa em telas de alto DPI.
Adicionada a tradução da interface do usuário para o croata.
A documentação foi atualizada.
A atualização estará disponível através do sistema LiveUpdate.
Preciso remover meu build 1940 antes de instalar este 2005? Eu tentei sem desinstalar e depois de instalar é o mesmo 1940 como antes. Além disso, não consegui atualizar desde o ano passado, por alguma razão? Devo remover tudo e tentar novamente?
Em breve -
Novo sistema de comunicação um análogo do Telegrama - leia este post.
============
Ichimoku
O início
Depois de
============
A boa rosca foi criada com informações visualizadas - Arosca Tips.
É fortemente recomendado ler este pequeno tópico para todos os novatos (para saber), e para usuários experientes (para atualizar seus conhecimentos).
----------------
Serviço freelance
----------------
Plataforma
----------------
Consultor especializado
----------------
Testador
Esta é uma atualização muito importante e muito interessante - por favor, leia-a -
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
MetaTrader 5 Plataforma Beta Build 1910: Arrastar e soltar os gráficos e bibliotecas .Net em MQL5
MetaQuotes Software Corp., 2018.10.12 19:43
A versão beta da plataforma MetaTrader 5 atualizada deve ser lançada em 14 de outubro de 2018. Atualizaremos nosso servidor público MetaQuotes-Demo localizado em access.metatrader5.com:443. Convidamos todos os traders a participar dos testes a fim de avaliar as características da plataforma atualizada e ajudar os desenvolvedores a corrigir erros.
A construção final da nova plataforma MetaTrader 5 será lançada após o teste beta público.
A atualização apresentará as seguintes mudanças:
Este recurso é conveniente quando se usa múltiplos monitores. Assim, você pode configurar a janela principal da plataforma em um monitor para controlar o estado de sua conta e mover seus gráficos para a segunda tela para observar a situação do mercado. Para destacar um gráfico do terminal, desative a opção Docked em seu menu de contexto. Depois disso, mova o gráfico para o monitor desejado.

Uma barra de ferramentas separada nos gráficos destacados permite aplicar objetos analíticos e indicadores sem a necessidade de alternar entre monitores. Use o menu de contexto da barra de ferramentas para gerenciar o conjunto de comandos disponíveis ou para ocultá-lo.As conversas em grupo e os canais podem ser públicos ou privados. Seus criadores decidem se é possível juntar-se a eles livremente ou apenas por convite. Você também pode designar moderadores para canais e chats para controle adicional da comunicação.
O volume mínimo e sua etapa de mudança dependem das configurações do instrumento financeiro do lado do corretor.
Para trabalhar com as funções das bibliotecas .NET, basta importar a própria DLL sem definir funções específicas. O MetaEditor importa automaticamente todas as funções com as quais é possível trabalhar:
Para chamar funções da biblioteca, basta importá-la:
O código C# da função Inc da classe de teste tem a seguinte aparência:
Como resultado da execução, o script retorna o valor de 7.
Encontre mais informações sobre os especificadores na MSDN.
Acrescentadas as seguintes propriedades à enumeração ENUM_CHART_PROPERTY_INTEGER:
Acrescentou as seguintes funções à enumeração ENUM_TERMINAL_INFO_INTEGER:
struct MqlTick
{
datetime time; // Last price update time
double bid; // Current Bid price
double ask; // Current Ask price
double last; // Current price of the Last trade
ulong volume; // Volume for the current Last price
long time_msc; // Last price update time in milliseconds
uint flags; // Tick flags
double volume_real; // Volume for the current Last price with greater accuracy
};
Use a função SymbolInfoDouble para obter estas propriedades.
Para o seguinte código:
O compilador exibe o aviso:
'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
Foi iniciada uma boa rosca -Como começar com a MQL5
Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste
Como começar com a MQL5
Vladimir Karputov, 2018.12.24 20:34
Este tópico discute exemplos de código MQL5. Haverá exemplos de como obter dados de indicadores, como programar consultores ... em geral, quaisquer perguntas desde iniciantes até a linguagem da MQL5.
Se você está apenas começando a se familiarizar com o terminal MetaTrader 5, então eu posso recomendar os seguintes tópicos:
Como começar com o Metatrader 5
Por onde eu começo?
Use as dicas do serviço Freelance!
Há um artigo que todo vendedor no mercado deve ler: é sobre a validação dos produtos do mercado -
----------------
Os cheques que um robô comercial deve passar antes da publicação no mercado
Antes de qualquer produto ser publicado no Mercado, ele deve passar por verificações preliminares obrigatórias, pois um pequeno erro na lógica do especialista ou do indicador pode causar perdas na conta de negociação. É por isso que desenvolvemos uma série de verificações básicas para garantir o nível de qualidade exigido dos produtos do Mercado.
Se algum erro for identificado pelos moderadores do Mercado no processo de verificação de seu produto, você terá que consertar todos eles. Este artigo considera os erros mais freqüentes cometidos pelos desenvolvedores em seus robôs comerciais e indicadores técnicos. Recomendamos também a leitura dos seguintes artigos:
Obrigado, cara...
Muito útil, grande esforç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:
- Terminal: Calendário Econômico integrado completamente revisado.

- 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.

- Terminal: Um programa de aprendizagem foi adicionado.

- 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.

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

R CMD INSTALL --build MetaTrader
- 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.
- 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.
- Terminal: Corrigidos erros de cálculo de símbolos sintéticos , devido aos quais os dados podiam ser ignorados ocasionalmente.
- 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.
- Terminal: Corrigida a exibição de resultados de pesquisa em telas de alto DPI.
- MQL5: Acesso implementado a dados de calendário econômico de programas MQL5.
- MQL5: Correções e melhorias de velocidade de operação relacionadas ao histórico de ticks e barras.
- 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* .
- MQL5: Novas funções de conversão de dados.
- Adicionada função MathSwap para alterar a ordem dos bytes nos valores ushort, uint e ulong.
- 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 a conexão usando funções de rede é estabelecida, deve ser explicitamente adicionado à lista de endereços permitidos nas configurações do terminal.
- 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
- MQL5: Adicionadas novas funções para operações de string :
- MQL5: Adicionada nova função para operações de array :
- 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.
- 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.
- 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.
- 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]
- 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.
- MQL5: Nova propriedade SYMBOL_EXIST na enumeração ENUM_SYMBOL_INFO_INTEGER , significa que o símbolo sob este nome existe.
- MQL5: Corrigida a digitação ao usar pré-declarações de função de modelo.
- MQL5: Adicionada reinicialização de indicadores ao alterar uma conta de negociação.
- MQL5: Função StringSplit otimizada.
- MQL5: Corrigidos erros na operação da biblioteca padrão.
- 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.
- 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.
- 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.
- Testador: Teste e otimização otimizados e significativamente acelerados.
- Testador: Corrigida a depuração de indicadores em dados históricos. Agora as funções do indicador OnInit e OnDeinit podem ser depuradas corretamente.
- Testador: Implementado acesso mais rápido a dados históricos ao testar Expert Advisors de várias moedas.
- Testador: Corrigido o congelamento ocasional do testador visual durante a depuração em dados históricos.
- Testador: Implementado início mais rápido de passos de otimização ao processar um pacote de tarefas por um agente.
- 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.
- 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.

- 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.
- MetaEditor: Corrigida a exibição de resultados de pesquisa em telas de alto DPI.
- Adicionada a tradução da interface do usuário para o croata.
- A documentação foi atualizada.
A atualização estará disponível através do sistema LiveUpdate.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 hora, 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.
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.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.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:
Os seguintes comandos relacionados à solicitação de dados estão disponíveis:
A lista de comandos suportados será expandida ainda mais.
Novas funções
CalendarCountryById — obtém a descrição do país por identificador.
CalendarEventById — obtém a descrição do evento por identificador.
CalendarValueById — obtém a descrição do valor do evento por identificador.
CalendarEventByCountry — obtém a matriz de eventos disponíveis para o país.
CalendarEventByCurrency — obtém a matriz de eventos disponíveis para a moeda afetada.
CalendarValueHistoryByEvent — obtém a matriz de valores para o período de tempo especificado, por identificador de evento.
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.
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.
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.
Novas estruturas
MqlCalendarCountry — descrição do país.
MqlCalendarEvent — descrição do evento.
MqlCalendarValue — descrição do valor do evento.
Novas enumerações
Novos códigos de erro
CharArrayToStruct copia uma matriz uchar para uma estrutura POD.
StructToCharArray copia uma estrutura POD para uma matriz uchar.
Novos códigos de erro foram adicionados para operações com funções de rede:
StringReserve reserva para uma string o buffer de memória do tamanho especificado.
StringSetLength define o comprimento da string especificada em caracteres.
ArrayRemove remove de uma matriz o número especificado de elementos começando com o índice especificado.
ArrayInsert insere em uma matriz receptora o número especificado de elementos da matriz de origem, começando com o índice especificado.
ArrayReverse reverte em uma matriz o número especificado de elementos começando com o índice especificado.
O nome do símbolo, do qual as propriedades do símbolo personalizado devem ser copiadas, é especificado no parâmetro "symbol_origin".
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.
Olá.
Preciso remover meu build 1940 antes de instalar este 2005?
Eu tentei sem desinstalar e depois de instalar é o mesmo 1940 como antes.
Além disso, não consegui atualizar desde o ano passado, por alguma razão?
Devo remover tudo e tentar novamente?
Obrigado...