- SymbolsTotal
- SymbolExist
- SymbolName
- SymbolSelect
- SymbolIsSynchronized
- SymbolInfoCommissions
- SymbolInfoDouble
- SymbolInfoInteger
- SymbolInfoString
- SymbolInfoMarginRate
- SymbolInfoTick
- SymbolInfoSessionQuote
- SymbolInfoSessionTrade
- MarketBookAdd
- MarketBookRelease
- MarketBookGet
SymbolInfoCommissions
Retorna as regras de cobrança de comissão para o instrumento financeiro especificado.
int SymbolInfoCommissions(
|
Parâmetros
name
[in] Nome do símbolo. Se o parâmetro for NULL, o símbolo atual é usado.
commissions
[out] Array dinâmico de estruturas MqlCommission, no qual são gravadas as regras de cobrança de comissão para o símbolo especificado.
Valor de retorno
Em caso de sucesso, a função retorna o número de elementos gravados em commissions.
Em caso de erro, retorna -1. Para obter informações sobre o erro, use GetLastError().
Observação
Cada elemento do array commissions descreve uma regra de cobrança de comissão separada. As condições gerais de aplicação da comissão são definidas pelos campos da estrutura MqlCommission, enquanto valores e faixas específicos da comissão são definidos no array tiers.
Se nenhuma regra de comissão for especificada para o símbolo, a função retorna 0.
Se name especificar o nome de um símbolo inexistente ou indisponível, a função retorna -1.
Exemplo:
//+------------------------------------------------------------------+
|
Comissões do Símbolo
Esta seção descreve enumerações e estruturas usadas para representar regras de cobrança de comissão para um instrumento financeiro.
A comissão pode ser especificada como valor monetário, pontos, porcentagem, porcentagem do lucro, e também pode ser calculada por faixas de volume, giro, valor da negociação ou lucro. Uma única regra de comissão pode conter vários níveis, MqlCommissionTier.
A enumeração ENUM_SYMBOL_COMMISSION_MODE define o método de cálculo da comissão.
Identificador |
Descrição |
|---|---|
SYMBOL_COMMISSION_DISABLED |
A comissão está desativada. |
SYMBOL_COMMISSION_MONEY_DEPOSIT |
A comissão é especificada na moeda de depósito do grupo/conta de negociação. |
SYMBOL_COMMISSION_MONEY_SYMBOL_BASE |
A comissão é especificada na moeda base do instrumento financeiro. |
SYMBOL_COMMISSION_MONEY_SYMBOL_PROFIT |
A comissão é especificada na moeda de lucro do instrumento financeiro. |
SYMBOL_COMMISSION_MONEY_SYMBOL_MARGIN |
A comissão é especificada na moeda de margem do instrumento financeiro. |
SYMBOL_COMMISSION_PIPS |
A comissão é especificada em pontos. |
SYMBOL_COMMISSION_PERCENT |
A comissão é especificada como porcentagem. |
SYMBOL_COMMISSION_MONEY_SPECIFIED |
A comissão é especificada na moeda indicada. A moeda é definida no campo correspondente da estrutura de comissão ou do nível de comissão. |
SYMBOL_COMMISSION_PERCENT_PROFIT |
A comissão é especificada como porcentagem do lucro. |
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE
A enumeração ENUM_SYMBOL_COMMISSION_VOLUME_TYPE define como o valor da comissão é aplicado a uma operação de negociação.
Identificador |
Descrição |
|---|---|
SYMBOL_COMMISSION_VOLUME_TYPE_TRADE |
A comissão é cobrada por negociação. |
SYMBOL_COMMISSION_VOLUME_TYPE_VOLUME |
A comissão é calculada proporcionalmente ao volume da negociação. |
SYMBOL_COMMISSION_VOLUME_TYPE_TURNOVER |
A comissão é calculada pelo giro. |
ENUM_SYMBOL_COMMISSION_RANGE_MODE
A enumeração ENUM_SYMBOL_COMMISSION_RANGE_MODE define o indicador usado para selecionar a faixa de comissão.
Identificador |
Descrição |
|---|---|
SYMBOL_COMMISSION_RANGE_VOLUME |
A faixa é determinada pelo volume da negociação. |
SYMBOL_COMMISSION_RANGE_TURNOVER_MONEY |
A faixa é determinada pelo giro em dinheiro. |
SYMBOL_COMMISSION_RANGE_TURNOVER_VOLUME |
A faixa é determinada pelo giro de volume. |
SYMBOL_COMMISSION_RANGE_VALUE |
A faixa é determinada pelo valor da negociação. |
SYMBOL_COMMISSION_RANGE_PROFIT |
A faixa é determinada pelo lucro. |
ENUM_SYMBOL_COMMISSION_CHARGE_MODE
A enumeração ENUM_SYMBOL_COMMISSION_CHARGE_MODE define quando a comissão é cobrada.
Identificador |
Descrição |
|---|---|
SYMBOL_COMMISSION_CHARGE_DAILY |
A comissão é cobrada no final do dia. |
SYMBOL_COMMISSION_CHARGE_MONTHLY |
A comissão é cobrada no final do mês. |
SYMBOL_COMMISSION_CHARGE_INSTANT |
A comissão é cobrada imediatamente quando a negociação é executada. |
ENUM_SYMBOL_COMMISSION_ENTRY_MODE
A enumeração ENUM_SYMBOL_COMMISSION_ENTRY_MODE define em qual etapa da operação de negociação a comissão é cobrada.
Identificador |
Descrição |
|---|---|
SYMBOL_COMMISSION_ENTRY_INOUT |
A comissão é cobrada ao entrar e sair de uma posição. |
SYMBOL_COMMISSION_ENTRY_IN |
A comissão é cobrada ao entrar em uma posição. |
SYMBOL_COMMISSION_ENTRY_OUT |
A comissão é cobrada ao sair de uma posição. |
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE
A enumeração ENUM_SYMBOL_COMMISSION_DIRECTION_MODE define a direção das negociações às quais a comissão se aplica.
Identificador |
Descrição |
|---|---|
SYMBOL_COMMISSION_DIRECTION_BOTH |
A comissão aplica-se a negociações de compra e venda. |
SYMBOL_COMMISSION_DIRECTION_BUY |
A comissão aplica-se apenas a negociações de compra. |
SYMBOL_COMMISSION_DIRECTION_SELL |
A comissão aplica-se apenas a negociações de venda. |
ENUM_SYMBOL_COMMISSION_PROFIT_MODE
A enumeração ENUM_SYMBOL_COMMISSION_PROFIT_MODE define se a comissão é aplicada dependendo do resultado financeiro da negociação.
Identificador |
Descrição |
|---|---|
SYMBOL_COMMISSION_PROFIT_ALL |
A comissão aplica-se a todas as negociações. |
SYMBOL_COMMISSION_PROFIT_PROFIT |
A comissão aplica-se apenas a negociações lucrativas. |
SYMBOL_COMMISSION_PROFIT_LOSS |
A comissão aplica-se apenas a negociações com prejuízo. |
A estrutura MqlCommissionTier descreve um nível de comissão.
struct MqlCommissionTier
|
Descrição dos campos
Campo |
Tipo |
Descrição |
|---|---|---|
mode |
ENUM_SYMBOL_COMMISSION_MODE |
Método de cálculo da comissão para este nível. |
volume_type |
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE |
Método de aplicação do valor da comissão: por negociação, por volume ou por giro. |
value |
double |
Valor da comissão. A interpretação do valor depende do campo mode: valor monetário, número de pontos, porcentagem ou porcentagem do lucro. |
min_value |
double |
Valor mínimo da comissão para este nível. |
max_value |
double |
Valor máximo da comissão para este nível. |
range_from |
double |
Limite inferior da faixa à qual este nível de comissão se aplica. |
range_to |
double |
Limite superior da faixa à qual este nível de comissão se aplica. |
currency |
string |
Moeda da comissão. Usada nos modos em que a comissão é especificada em uma moeda definida explicitamente, por exemplo SYMBOL_COMMISSION_MONEY_SPECIFIED. |
Observação
A faixa do nível de comissão é determinada por range_from e range_to. O indicador usado para selecionar a faixa é especificado no campo mode_range da estrutura MqlCommission.
Se a comissão estiver desativada usando SYMBOL_COMMISSION_DISABLED, os demais parâmetros do nível não são usados para a cobrança de comissão.
A estrutura MqlCommission descreve uma regra de cobrança de comissão para um instrumento financeiro.
struct MqlCommission
|
Descrição dos campos
Campo |
Tipo |
Descrição |
|---|---|---|
currency |
string |
Moeda especificada para a regra de comissão. Usada ao calcular comissão em modos que exigem uma moeda definida explicitamente. |
mode_range |
ENUM_SYMBOL_COMMISSION_RANGE_MODE |
Indicador usado para selecionar a faixa de comissão: volume, giro monetário, giro de volume, valor da negociação ou lucro. |
mode_charge |
ENUM_SYMBOL_COMMISSION_CHARGE_MODE |
Momento de cobrança da comissão: no final do dia, no final do mês ou imediatamente quando a negociação é executada. |
mode_entry |
ENUM_SYMBOL_COMMISSION_ENTRY_MODE |
Etapa da operação de negociação em que a comissão é cobrada: entrada, saída ou entrada e saída. |
mode_direction |
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE |
Direção das negociações às quais a comissão se aplica: compra, venda ou ambas as direções. |
mode_profit |
ENUM_SYMBOL_COMMISSION_PROFIT_MODE |
Condição de aplicação da comissão dependendo do resultado financeiro da negociação. |
tiers |
MqlCommissionTier[] |
Array dinâmico de níveis de comissão. Cada elemento do array descreve uma faixa separada e os parâmetros de cálculo da comissão para essa faixa. |
Observação
A estrutura MqlCommission define as condições gerais de aplicação da comissão, enquanto o array tiers contém níveis de comissão com valores e faixas específicos.
Ao calcular a comissão, primeiro são verificadas as condições gerais da regra: direção da negociação, etapa de entrada ou saída, resultado financeiro, momento de cobrança e motivo da cobrança. Em seguida, com base no valor de mode_range, o nível apropriado é selecionado no array tiers.
Se o array tiers estiver vazio, nenhum nível de comissão estará especificado para esta regra.
Veja também
SymbolsTotal, SymbolSelect, SymbolInfoMarginRate