Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Scripts

SymbolsLib - script para MetaTrader 4

Visualizações:
650
Avaliação:
(24)
Publicado:
2016.05.23 12:35
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Entre as funções padrão da MQL4 existe uma muito útil, marketinfo(), ela retorna várias informações sobre os instrumentos financeiros listados na janela "Observação do mercado". No entanto, em alguns casos, você pode precisar de informações adicionais sobre os instrumentos carregados no terminal. Por exemplo, os símbolos listados na janela "Observação de mercado", a ordem de sua rotação, a decodificação dos nomes do instrumento financeiro ou da lista completa de símbolos fornecidos pelo DC.

Num estudo das operações de janelas do terminal, verificou-se que para qualquer mudança na janela "Observação de mercado", o terminal abre e modifica o arquivo binário symbols.sel no pasta do histórico. A análise da estrutura desse arquivo mostra que o terminal salva cada instrumento a partir da janela "Observação de mercado" sob a forma de uma estrutura de 128 bytes. Os primeiros 12 bytes são para o nome do instrumento, e o resto é preenchido com informações de serviços: Bid, Ask, Low, High, etc. Alias a estrutura do arquivo é gravada na mesma ordem como os instrumentos listados na secção "Observação de mercado". E se o usuário altera a ordem dos caracteres dos símbolos, as alterações são imediatamente refletidas no arquivo.

Nota: os primeiros quatro bytes, no arquivo reservado da versão MQL, permanecem constantes.

No entanto, as informações contidas no arquivo symbols.sel podem não estar completas. Especialmente, se na janela "Observação do mercado" não estão listados todos os instrumentos financeiros. Por isso, se você precisa de uma lista completa de símbolos fornecidos pelo DC, então este método não vai funcionar. Kaisa deu uma boa ideia com base na análise do arquivo symbols.raw. No entanto, a implementação utilizando funções da API é para uma melhor solução.

Este problema pode ser resolvido na MQL "pura". Uma análise da estrutura desse arquivo mostra que cada instrumento é armazenado em um arquivo como uma estrutura binária de 1936 bytes. E os primeiros 12 bytes são para o nome do símbolo, e o seguinte bloco de 64 bytes contém o nome descriptografado do instrumento financeiro.

Com base nas análises realizadas, foi implementada a biblioteca oferecida aqui, ela contém um número de funções para obter mais informação sobre os instrumentos financeiros foram adicionados ao terminal de negociação. Aqui está uma lista de funções exportadas:

SymbolsList

- a função devolve uma lista de todos os enumerados na janela "Observação de mercado" ou de todos os instrumentos financeiros.

SymbolDescription

- a função retorna o nome descriptografado do instrumento financeiro especificado.

SymbolType

- a função retorna o tipo de instrumento financeiro.

No script SymbolsSample.mq4 há um exemplo de trabalho com a biblioteca.

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/9102

MACD_Signals MACD_Signals

Indicador de sinal com base em MACD

Pinball machine Pinball machine

gerador de números pseudo-aleatórios

Fibo Pivot Lines GMT Fibo Pivot Lines GMT

Indicador Fibo Pivot Lines GMT.

LeManSignal LeManSignal

O indicador exibe sinais para comprar e vender.