Execução de Programa

Cada script e cada Expert Advisor é executado em seu próprio segmento separado. Todos os indicadores calculados sobre um símbolo, mesmo se eles estiverem anexados a difidentes gráficos, trabalham em um mesmo segmento. Assim, todos os indicadores sobre um símbolo compartilham os recursos de um segmento.

Todas as outras ações associadas a um símbolo, como processamento de ticks e sincronização de histórico, também são consistentemente realizadas no mesmo segmento com indicadores. Isso significa que se uma ação infinita é realizada em um indicador, todos os outros eventos associados a seu ativo nunca serão realizados.

Ao executar um Expert Advisor, certifique-se de que ele tem um ambiente de negociação real e pode acessar o histórico do requerido ativo e período, e sincronizar dados entre o terminal e o servidor. Para todos estes procedimentos, o terminal fornece um atraso de iniciação de não mais que 5 segundos, após o qual o Expert Advisor será iniciado com os dados disponíveis. Portanto, no caso de não haver conexão com o servidor, isso pode levar a um atraso na iniciação de um Expert Advisor.

Programas MQL

Para um programa-mql5 funcionar, ele deve ser compilado (botão Compilar ou tecla F7). A compilação deve passar sem erros (alguns avisos são possíveis; eles devem ser analisados). Neste processo, um arquivo executável com o mesmo nome e com extensão EX5 e EX4 deve ser criado no diretório correspondente :

MQL5  (.EX5)

– terminal_dir\MQL5\Experts,

– terminal_dir\MQL5\indicators

– terminal_dir\MQL5\scripts.

MQL4  (.EX4)

– terminal_dir\MQL4\Experts,

– terminal_dir\MQL4\indicators

– terminal_dir\MQL4\scripts.

 

Características operacionais de programas MQL são descritas nas seguintes seções:

·Execução de Programa – ordem de chamada de manipuladores de eventos predefinidos.
·Testando estratégias de negociação – características operacionais de programas MQL no Provador de Estratégias.
·Eventos do terminal cliente – descrição de eventos, que podem ser processados em programas.
·Chamada de funções importadas – ordem de descrição, parâmetros permitidos, detalhes de busca e convenção de chamada para funções importadas.
·Erros em tempo de execução – obtenção de informações sobre erros críticos e em tempo de execução.

Expert Advisors, indicadores customizados e scripts são anexados a um dos gráficos abertos através do método “Arrastar e Soltar” a partir da janela Navegador.

Para um Expert Advisor parar de funcionar, ele deve ser removido de um gráfico. Para fazer isso selecione a “Lista de Experts” no menu de contexto do gráfico, então selecione um Expert Advisor da lista e clique no botão “Remover”. O funcionamento de Expert Advisors é também afetado pelo estado do botão “AutoTrading”.

A fim de parar um indicador customizado, ele deve ser removido de um gráfico.

Indicadores customizados e Expert Advisors trabalham até eles serem explicitamente removidos de um gráfico; informações sobre Expert Advisors e Indicadores são salvos entre sessões do terminal cliente.

Scripts são executados uma vez e são excluídos automaticamente na conclusão da operação ou mudança de estado do gráfico corrente, ou no encerramento do terminal cliente. Após o reinício do terminal cliente, scripts não são iniciados, porque as informações sobre eles não são salvas.

Em um gráfico podem operar no máximo um Expert Advisor, um script e um número ilimitado de indicadores.

Códigos de Erros e Avisos

Esta seção contém as seguintes descrições:

·Códigos de retorno do servidor de negociação – analisando resultados da solicitação de negociação enviada pela função OrderSend();
·Avisos do compilador – códigos de mensagens de aviso que aparecem na compilação (não erros);
·Erros de compilação – códigos de mensagens de erro em uma tentativa sem sucesso de compilar;
·Erros em tempo de execução – códigos de erro na execução de programas-mql5, que podem ser obtidos usando a função GetLastErtror().

——————–

PD: gostaria de convidar a todos para o webinario em português dia 25/06/2014 as 18:30 (Brasília) quarta-feira, basta acessar o endereço abaixo e se registrar…

http://www.youtrading.com/pt/webinarios/programa-de-webinarios

Códigos de Erros e Avisos

Esta seção contém as seguintes descrições:

·Códigos de retorno do servidor de negociação – analisando resultados da solicitação de negociação enviada pela função OrderSend();
·Avisos do compilador – códigos de mensagens de aviso que aparecem na compilação (não erros);
·Erros de compilação – códigos de mensagens de erro em uma tentativa sem sucesso de compilar;
·Erros em tempo de execução – códigos de erro na execução de programas-mql5, que podem ser obtidos usando a função GetLastErtror().

Estruturas de Dados

A linguagem MQL oferece 8 estruturas predefinidas:

·MqlDateTime é destinado para trabalhar com data e hora;
·MqlParam pode enviar parâmetros de entrada quando criar um indicador usando a função IndicatorCreate();
·MqlRates é destinado para manipular dados históricos, ela contém informações sobre o preço, volume e spread;
·MqlBookInfo é destinado para obter informações sobre a Profundidade de Mercado;
·MqlTradeRequest é usado para criar uma solicitação de negociação para operações de negociação;
·MqlTradeResult contém uma resposta do servidor de negociação a uma solicitação de negócio, enviado via função OrderSend();
·MqlTradeTransaction contém a descrição de uma transação de negociação;
·MqlTick é projetado para recuperação rápida da maioria das informações requeridas sobre os preços correntes.

Aproveitando a ocasião, convido a todos a olhar o novo visual da pagina da ActivTrades em português, se superaram…

http://www.activtrades.pt/

 

 

 

 

Constantes Nomeados

Substituições macro predefinidas – valores são substituídos durante compilação;

·Constantes matemáticas – valores de algumas expressões matemáticas;
·Constantes de tipo numérico – algumas restrições de tipo simples;
·Códigos de motivos de Desinicialização – descrição de motivos de não inicialização;
·Verificação de Ponteiro de Objeto – enumeração dos tipos de ponteiros retornados pela função CheckPointer();
·Outras constantes – todas as outras constantes.

Constantes de Negociação (Trade)

As várias constantes usadas para programar estratégias de negociação estão divididas nos seguintes grupos:

·Propriedades de banco de dados de histórico – recebimento de informações gerais sobre um ativo;
·Propriedades de ordem – obtenção de informações sobre ordens de negociação;
·Propriedades de posição – obtenção de informações sobre posições correntes;
·Propriedades de uma operação (deal) – obtenção de informações sobre operações (deals);
·Tipos de operações de negociação (trade) – descrição das operações de negociação disponíveis;
·Tipos de transação de negociação – descrição dos possíveis tipos de transações de negociação;
·Ordens de negociação no DOM (Profundidade de Mercado) – separação de ordens de acordo com a direção de uma operação solicitada.

Estado de Ambiente

As constantes que descrevem o ambiente de execução corrente de um programa MQL5 estão divididas em grupos:

·Propriedades do terminal cliente – informações sobre o terminal cliente;
·Propriedades do programa-MQL5 executado – propriedades do programa MQL5, que ajuda a controlar sua execução;
·Propriedades do ativo – obtenção de informações sobre um ativo;
·Propriedades da conta – informações sobre a conta atual;
·Estatísticas de teste – resultados de teste de um Expert Advisor.

Identificadores de Tipo de Dados

Quando criar um indicador usando a função IndicatorCreate(), um array de tipo MqlParam deve ser especificado como o último parâmetro. Por sua vez, a estrutura MqlParam, descrevendo o indicador, contém um tipo de campo especial. Este campo contém informação sobre o tipo de dado (real, integer pi string type) que é passado por um elemento específico do array. O valor deste campo da estrutura MqlParam pode ser um dos valores ENUM_DATATYPE.

Cada elemento do array descreve o correspondente parâmetro de entrada de um indicador técnico criado, assim o tipo e a ordem dos elementos no array devem ser rigorosamente mantidos em concordância com a descrição.