Informações de Mercado : SymbolInfoString

Retorna a propriedade correspondente de um ativo especificado. Existem 2 variantes da função.

1. Imediatamente retorna o valor da propriedade.

string  SymbolInfoString(
string                   name,        // Ativo
ENUM_SYMBOL_INFO_STRING  prop_id      // Identificador de propriedade
);

2. Retorna true ou false, dependendo do sucesso na execução da função. Se for bem sucedido, o valor da propriedade é colocada em uma variável de recbimento passada por referência no último parâmetro.

bool  SymbolInfoString(
string                   name,        // Ativo
ENUM_SYMBOL_INFO_STRING  prop_id,     // Identificador de propriedade
string&                  string_var   // Aqui nós assumimos o valor da propriedade
);

Parâmetros

name

[in] Nome do ativo.

prop_id

[in] Identificador de um propriedade de ativo. O valor pode ser um dos valores da enumeração ENUM_SYMBOL_INFO_STRING.

string_var

[out] Variável de tipo string recebendo o valor da propriedade solicitada.

Valor do Retorno

Valor de tipo string. Em caso de falha de execução, a informação sobre o erro pode ser obtida usando a função GetLastError():

•5040 – parâmetro de string inválido para especificar um nome de ativo,
•4301 – ativo desconhecido (instrumento financeiro),
•4302 – ativo não está selecionado no “Observador de Mercado” (não encontrado na lista de ativos disponíveis),
•4303 – identificador inválido de uma propriedade de ativo.
Observação

É recomendável usar SymbolInfoTick() se a função for usada para obter informações sobre o último tick. É bom possível que nenhuma cotação tenha aparecido ainda desde que o terminal se conectou a uma conta de negociação. Em tal situação, o valor solicitado será indefinido

Na maioria dos casos, é suficiente usar a função SymbolInfoTick() permitindo a um usuário receber os valores dos preços Compra, Venda, Último, Volume e a hora da chegada do último tick através de uma única chamada.

Informações de Mercado : SymbolInfoInteger

Retorna a propriedade correspondente de um ativo especificado. Existem 2 variantes da função.

1. Imediatamente retorna o valor da propriedade.

long  SymbolInfoInteger(
string                    name,      // ativo
ENUM_SYMBOL_INFO_INTEGER  prop_id    // identificador da propriedade

);

2. Retorna true ou false dependendo se a função for executada com sucesso. Em caso de sucesso, o valor da propriedade é colocado em uma variável recipiente, passada por referênce atráves do último parâmetro.

bool  SymbolInfoInteger(
string                    name,      // ativo
ENUM_SYMBOL_INFO_INTEGER  prop_id,   // identificador da propriedade
long&                     long_var   // aqui nós assumimos o valor da propriedade
);

Parâmetros

name

[in] Nome do ativo.

prop_id

[in] Identificador de um propriedade de ativo. O valor pode ser um dos valores da enumeração ENUM_SYMBOL_INFO_INTEGER.

long_var

[out] Variável de tipo long rececendo o valor da propriedade solicitada.

Valor do Retorno

Valor de tipo long. Em caso de falha de execução, a informação sobre o erro pode ser obtida usando a função GetLastError():

•5040 – parâmetro de string inválido para especificar um nome de ativo,
•4301 – ativo desconhecido (instrumento financeiro),
•4302 – ativo não está selecionado no “Observador de Mercado” (não encontrado na lista de ativos disponíveis),
•4303 – identificador inválido de uma propriedade de ativo.
Observação

É recomendável usar SymbolInfoTick() se a função for usada para obter informações sobre o último tick. É bom possível que nenhuma cotação tenha aparecido ainda desde que o terminal se conectou a uma conta de negociação. Em tal situação, o valor solicitado será indefinido

Na maioria dos casos, é suficiente usar a função SymbolInfoTick() permitindo a um usuário receber os valores dos preços Compra, Venda, Último, Volume e a hora da chegada do último tick através de uma única chamada.

Exemplo:

void OnTick()
{
//— obtém spread a partir das propriedade do ativo
bool spreadfloat=SymbolInfoInteger(Symbol(),SYMBOL_SPREAD_FLOAT);
string comm=StringFormat(“Spread %s = %I64d pontos\r\n”,
spreadfloat?”flutuante”:”fixo”,
SymbolInfoInteger(Symbol(),SYMBOL_SPREAD));
//— agora vamos calcular nós mesmos o spread
double ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
double bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
double spread=ask-bid;
int spread_points=(int)MathRound(spread/SymbolInfoDouble(Symbol(),SYMBOL_POINT));
comm=comm+”Spread calculada = “+(string)spread_points+” pontos”;
Comment(comm);
}

Informações de Mercado : SymbolInfoDouble

Retorna a propriedade correspondente de um ativo especificado. Existem 2 variantes da função.

1. Imediatamente retorna o valor da propriedade.

double  SymbolInfoDouble(
string                   name,       // ativo
ENUM_SYMBOL_INFO_DOUBLE  prop_id     // identificador da propriedade
);

2. Retorna true ou false dependendo se a função for executada com sucesso. Em caso de sucesso, o valor da propriedade é colocado em uma variável recipiente, passada por referênce atráves do último parâmetro.

bool  SymbolInfoDouble(
string                   name,       // ativo
ENUM_SYMBOL_INFO_DOUBLE  prop_id,    // identificador da propriedade
double&                  double_var  // aqui nós assumimos o valor da propriedade
);

Parâmetros

name

[in] Nome do ativo.

prop_id

[in] Identificador de um propriedade de ativo. O valor pode ser um dos valores da enumeração ENUM_SYMBOL_INFO_DOUBLE.

double_var

[out] Variável de tipo double recebendo o valor da propriedade solicitada.

Valor do Retorno

Valor de tipo double. Em caso de falha de execução, a informação sobre o erro pode ser obtida usando a função GetLastError():

•5040 – parâmetro de string inválido para especificar um nome de ativo,
•4301 – ativo desconhecido (instrumento financeiro),
•4302 – ativo não está selecionado no “Observador de Mercado” (não encontrado na lista de ativos disponíveis),
•4303 – identificador inválido de uma propriedade de ativo.
Observação

É recomendável usar SymbolInfoTick() se a função for usada para obter informações sobre o último tick. É bom possível que nenhuma cotação tenha aparecido ainda desde que o terminal se conectou a uma conta de negociação. Em tal situação, o valor solicitado será indefinido

Na maioria dos casos, é suficiente usar a função SymbolInfoTick() permitindo a um usuário receber os valores dos preços Compra, Venda, Último, Volume e a hora da chegada do último tick através de uma única chamada.

Exemplo:

void OnTick()
{
//— obtém spread a partir das propriedade do ativo
bool spreadfloat=SymbolInfoInteger(Symbol(),SYMBOL_SPREAD_FLOAT);
string comm=StringFormat(“Spread %s = %I64d pontos\r\n”,
spreadfloat?”flutuante”:”fixo”,
SymbolInfoInteger(Symbol(),SYMBOL_SPREAD));
//— agora vamos calcular nós mesmos o spread
double ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
double bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
double spread=ask-bid;
int spread_points=(int)MathRound(spread/SymbolInfoDouble(Symbol(),SYMBOL_POINT));
comm=comm+”Spread calculada = “+(string)spread_points+” pontos”;
Comment(comm);
}

Informações de Mercado : SymbolIsSynchronized

A função verifica se os dados de um ativo selecionado no terminal estão sincronizados com os dados no servidor de negociação.

bool  SymbolIsSynchronized(
string  name,       // nome do ativo
);

Parâmetros

name

[in]  Nome do ativo.

Valor de retorno

Se os dados estiverem sincronizados, retorna ‘true’; caso contrário, retorna ‘false’.

Informações de Mercado : SymbolSelect

Seleciona um ativo da janela Observador de Mercado ou remove um ativo desta janela.

bool  SymbolSelect(
string  name,       // nome do ativo
bool    select      // adicionar ou remover
);

Parâmetros

name

[in] Nome do ativo.

select

[in] Alterna. Se o valor for false, o ativo deve ser removido do Observador de Mercado, caso contrário o ativo deve ser selecionado nesta janela. Um ativo não pode ser removido se o gráfico do ativo estiver aberto, ou houver posições em aberto deste ativo.

Valor do Retorno

Em caso de falha retorna false.

Informações de Mercado : SymbolName

Retorna o nome de um ativo.

string  SymbolName(
int   pos,          // número na lista
bool  selected      // true – somente ativos em Observador de Mercado
);

Parâmetros

pos

[in] Número de ordem de um ativo.

selected

[in] Mode de solicitação. Se o valor for true, o ativo é tomado da lista de ativos selecionados na janela Observador de Mercado. Se o valor for false, o ativo é tomado da lista geral.

Valor do Retorno

Valor de tipo string com o nome do ativo.

Informações de Mercado: SymbolsTotal

Retorna o número de ativos disponíveis (selecionados na janela Observação do Mercado ou todos os ativos).

int  SymbolsTotal(
bool  selected      // True – somente ativos em Observador de Mercado
);

Parâmetros

selected

[in] Mode de solicitação. Pode ser true ou false.

Valor do Retorno

Se o parâmetro ‘selected’ for true, a função retorna o número de ativos selecionados na janela Observador de Mercado. Se o valor for false, ela retorna o número total de todos os ativos.