- SymbolsTotal
- SymbolExist
- SymbolName
- SymbolSelect
- SymbolIsSynchronized
- SymbolInfoCommissions
- SymbolInfoDouble
- SymbolInfoInteger
- SymbolInfoString
- SymbolInfoMarginRate
- SymbolInfoTick
- SymbolInfoSessionQuote
- SymbolInfoSessionTrade
- MarketBookAdd
- MarketBookRelease
- MarketBookGet
SymbolInfoCommissions
Devuelve las reglas de cobro de comisión para el instrumento financiero especificado.
int SymbolInfoCommissions(
|
Parámetros
name
[in] Nombre del símbolo. Si el parámetro es NULL, se usa el símbolo actual.
commissions
[out] Array dinámico de estructuras MqlCommission, en el que se escriben las reglas de cobro de comisión para el símbolo especificado.
Valor devuelto
Si se ejecuta correctamente, la función devuelve el número de elementos escritos en commissions.
En caso de error, se devuelve -1. Para obtener información sobre el error, use GetLastError().
Nota
Cada elemento del array commissions describe una regla de cobro de comisión independiente. Las condiciones generales de aplicación de la comisión se establecen mediante los campos de la estructura MqlCommission, mientras que los valores y rangos concretos se definen en el array tiers.
Si no se han especificado reglas de comisión para el símbolo, la función devuelve 0.
Si name especifica el nombre de un símbolo inexistente o no disponible, la función devuelve -1.
Ejemplo:
//+------------------------------------------------------------------+
|
Comisiones del símbolo
Esta sección describe las enumeraciones y estructuras usadas para representar las reglas de cobro de comisión de un instrumento financiero.
La comisión puede especificarse como importe monetario, puntos, porcentaje, porcentaje del beneficio, y también puede calcularse por rangos de volumen, rotación, valor de la operación o beneficio. Una regla de comisión puede contener varios niveles, MqlCommissionTier.
La enumeración ENUM_SYMBOL_COMMISSION_MODE define el método de cálculo de la comisión.
Identificador |
Descripción |
|---|---|
SYMBOL_COMMISSION_DISABLED |
La comisión está desactivada. |
SYMBOL_COMMISSION_MONEY_DEPOSIT |
La comisión se especifica en la moneda de depósito del grupo/cuenta de trading. |
SYMBOL_COMMISSION_MONEY_SYMBOL_BASE |
La comisión se especifica en la moneda base del instrumento financiero. |
SYMBOL_COMMISSION_MONEY_SYMBOL_PROFIT |
La comisión se especifica en la moneda de beneficio del instrumento financiero. |
SYMBOL_COMMISSION_MONEY_SYMBOL_MARGIN |
La comisión se especifica en la moneda de margen del instrumento financiero. |
SYMBOL_COMMISSION_PIPS |
La comisión se especifica en puntos. |
SYMBOL_COMMISSION_PERCENT |
La comisión se especifica como porcentaje. |
SYMBOL_COMMISSION_MONEY_SPECIFIED |
La comisión se especifica en la moneda indicada. La moneda se especifica en el campo correspondiente de la estructura de comisión o del nivel de comisión. |
SYMBOL_COMMISSION_PERCENT_PROFIT |
La comisión se especifica como porcentaje del beneficio. |
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE
La enumeración ENUM_SYMBOL_COMMISSION_VOLUME_TYPE define cómo se aplica el valor de comisión a una operación de trading.
Identificador |
Descripción |
|---|---|
SYMBOL_COMMISSION_VOLUME_TYPE_TRADE |
La comisión se cobra por operación. |
SYMBOL_COMMISSION_VOLUME_TYPE_VOLUME |
La comisión se calcula proporcionalmente al volumen de la operación. |
SYMBOL_COMMISSION_VOLUME_TYPE_TURNOVER |
La comisión se calcula por rotación. |
ENUM_SYMBOL_COMMISSION_RANGE_MODE
La enumeración ENUM_SYMBOL_COMMISSION_RANGE_MODE define el indicador usado para seleccionar el rango de comisión.
Identificador |
Descripción |
|---|---|
SYMBOL_COMMISSION_RANGE_VOLUME |
El rango se determina por el volumen de la operación. |
SYMBOL_COMMISSION_RANGE_TURNOVER_MONEY |
El rango se determina por la rotación monetaria. |
SYMBOL_COMMISSION_RANGE_TURNOVER_VOLUME |
El rango se determina por la rotación de volumen. |
SYMBOL_COMMISSION_RANGE_VALUE |
El rango se determina por el valor de la operación. |
SYMBOL_COMMISSION_RANGE_PROFIT |
El rango se determina por el beneficio. |
ENUM_SYMBOL_COMMISSION_CHARGE_MODE
La enumeración ENUM_SYMBOL_COMMISSION_CHARGE_MODE define cuándo se cobra la comisión.
Identificador |
Descripción |
|---|---|
SYMBOL_COMMISSION_CHARGE_DAILY |
La comisión se cobra al final del día. |
SYMBOL_COMMISSION_CHARGE_MONTHLY |
La comisión se cobra al final del mes. |
SYMBOL_COMMISSION_CHARGE_INSTANT |
La comisión se cobra inmediatamente cuando se ejecuta la operación. |
ENUM_SYMBOL_COMMISSION_ENTRY_MODE
La enumeración ENUM_SYMBOL_COMMISSION_ENTRY_MODE define en qué etapa de una operación de trading se cobra la comisión.
Identificador |
Descripción |
|---|---|
SYMBOL_COMMISSION_ENTRY_INOUT |
La comisión se cobra al entrar y salir de una posición. |
SYMBOL_COMMISSION_ENTRY_IN |
La comisión se cobra al entrar en una posición. |
SYMBOL_COMMISSION_ENTRY_OUT |
La comisión se cobra al salir de una posición. |
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE
La enumeración ENUM_SYMBOL_COMMISSION_DIRECTION_MODE define la dirección de las operaciones a las que se aplica la comisión.
Identificador |
Descripción |
|---|---|
SYMBOL_COMMISSION_DIRECTION_BOTH |
La comisión se aplica a operaciones de compra y venta. |
SYMBOL_COMMISSION_DIRECTION_BUY |
La comisión se aplica solo a operaciones de compra. |
SYMBOL_COMMISSION_DIRECTION_SELL |
La comisión se aplica solo a operaciones de venta. |
ENUM_SYMBOL_COMMISSION_PROFIT_MODE
La enumeración ENUM_SYMBOL_COMMISSION_PROFIT_MODE define si la comisión se aplica según el resultado financiero de la operación.
Identificador |
Descripción |
|---|---|
SYMBOL_COMMISSION_PROFIT_ALL |
La comisión se aplica a todas las operaciones. |
SYMBOL_COMMISSION_PROFIT_PROFIT |
La comisión se aplica solo a operaciones con beneficio. |
SYMBOL_COMMISSION_PROFIT_LOSS |
La comisión se aplica solo a operaciones con pérdida. |
La estructura MqlCommissionTier describe un nivel de comisión.
struct MqlCommissionTier
|
Descripción de campos
Campo |
Tipo |
Descripción |
|---|---|---|
mode |
ENUM_SYMBOL_COMMISSION_MODE |
Método de cálculo de la comisión para este nivel. |
volume_type |
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE |
Método para aplicar el valor de comisión: por operación, por volumen o por rotación. |
value |
double |
Valor de la comisión. La interpretación del valor depende del campo mode: importe monetario, número de puntos, porcentaje o porcentaje del beneficio. |
min_value |
double |
Valor mínimo de comisión para este nivel. |
max_value |
double |
Valor máximo de comisión para este nivel. |
range_from |
double |
Límite inferior del rango al que se aplica este nivel de comisión. |
range_to |
double |
Límite superior del rango al que se aplica este nivel de comisión. |
currency |
string |
Moneda de la comisión. Se usa en modos en los que la comisión se especifica en una moneda establecida explícitamente, por ejemplo SYMBOL_COMMISSION_MONEY_SPECIFIED. |
Nota
El rango del nivel de comisión se determina mediante range_from y range_to. El indicador usado para seleccionar el rango se especifica en el campo mode_range de la estructura MqlCommission.
Si la comisión está desactivada usando SYMBOL_COMMISSION_DISABLED, los demás parámetros del nivel no se usan para el cobro de la comisión.
La estructura MqlCommission describe una regla de cobro de comisión para un instrumento financiero.
struct MqlCommission
|
Descripción de campos
Campo |
Tipo |
Descripción |
|---|---|---|
currency |
string |
Moneda especificada para la regla de comisión. Se usa al calcular la comisión en modos que requieren una moneda establecida explícitamente. |
mode_range |
ENUM_SYMBOL_COMMISSION_RANGE_MODE |
Indicador usado para seleccionar el rango de comisión: volumen, rotación monetaria, rotación de volumen, valor de la operación o beneficio. |
mode_charge |
ENUM_SYMBOL_COMMISSION_CHARGE_MODE |
Momento de cobro de la comisión: al final del día, al final del mes o inmediatamente cuando se ejecuta la operación. |
mode_entry |
ENUM_SYMBOL_COMMISSION_ENTRY_MODE |
Etapa de la operación de trading en la que se cobra la comisión: entrada, salida, o entrada y salida. |
mode_direction |
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE |
Dirección de las operaciones a las que se aplica la comisión: compra, venta o ambas direcciones. |
mode_profit |
ENUM_SYMBOL_COMMISSION_PROFIT_MODE |
Condición para aplicar la comisión según el resultado financiero de la operación. |
tiers |
MqlCommissionTier[] |
Array dinámico de niveles de comisión. Cada elemento del array describe un rango independiente y los parámetros de cálculo de comisión para ese rango. |
Nota
La estructura MqlCommission establece las condiciones generales de aplicación de la comisión, mientras que el array tiers contiene niveles de comisión con valores y rangos concretos.
Al calcular la comisión, primero se comprueban las condiciones generales de la regla: dirección de la operación, etapa de entrada o salida, resultado financiero, momento de cobro y motivo de cobro. A continuación, según el valor de mode_range, se selecciona el nivel adecuado del array tiers.
Si el array tiers está vacío, no se han especificado niveles de comisión para esta regla.
Véase también
SymbolsTotal, SymbolSelect, SymbolInfoMarginRate