- SymbolsTotal
- SymbolExist
- SymbolName
- SymbolSelect
- SymbolIsSynchronized
- SymbolInfoCommissions
- SymbolInfoDouble
- SymbolInfoInteger
- SymbolInfoString
- SymbolInfoMarginRate
- SymbolInfoTick
- SymbolInfoSessionQuote
- SymbolInfoSessionTrade
- MarketBookAdd
- MarketBookRelease
- MarketBookGet
SymbolInfoCommissions
Restituisce le regole di addebito delle commissioni per lo strumento finanziario specificato.
int SymbolInfoCommissions(
|
Parametri
name
[in] Nome del simbolo. Se il parametro è NULL, viene utilizzato il simbolo corrente.
commissions
[out] Array dinamico di strutture MqlCommission, nel quale vengono scritte le regole di addebito delle commissioni per il simbolo specificato.
Valore restituito
In caso di esito positivo, la funzione restituisce il numero di elementi scritti in commissions.
In caso di errore viene restituito -1. Per ottenere informazioni sull’errore, utilizzare GetLastError().
Nota
Ogni elemento dell’array commissions descrive una regola separata di addebito della commissione. Le condizioni generali di applicazione della commissione sono definite dai campi della struttura MqlCommission, mentre valori e intervalli specifici sono definiti nell’array tiers.
Se per il simbolo non sono specificate regole di commissione, la funzione restituisce 0.
Se name specifica il nome di un simbolo inesistente o non disponibile, la funzione restituisce -1.
Esempio:
//+------------------------------------------------------------------+
|
Commissioni del simbolo
Questa sezione descrive enumerazioni e strutture usate per rappresentare le regole di addebito delle commissioni per uno strumento finanziario.
La commissione può essere specificata come importo monetario, punti, percentuale, percentuale del profitto, e può anche essere calcolata per intervalli di volume, turnover, valore dell’operazione o profitto. Una singola regola di commissione può contenere più livelli, MqlCommissionTier.
L’enumerazione ENUM_SYMBOL_COMMISSION_MODE definisce il metodo di calcolo della commissione.
Identificatore |
Descrizione |
|---|---|
SYMBOL_COMMISSION_DISABLED |
La commissione è disabilitata. |
SYMBOL_COMMISSION_MONEY_DEPOSIT |
La commissione è specificata nella valuta di deposito del gruppo/conto di trading. |
SYMBOL_COMMISSION_MONEY_SYMBOL_BASE |
La commissione è specificata nella valuta base dello strumento finanziario. |
SYMBOL_COMMISSION_MONEY_SYMBOL_PROFIT |
La commissione è specificata nella valuta del profitto dello strumento finanziario. |
SYMBOL_COMMISSION_MONEY_SYMBOL_MARGIN |
La commissione è specificata nella valuta del margine dello strumento finanziario. |
SYMBOL_COMMISSION_PIPS |
La commissione è specificata in punti. |
SYMBOL_COMMISSION_PERCENT |
La commissione è specificata come percentuale. |
SYMBOL_COMMISSION_MONEY_SPECIFIED |
La commissione è specificata nella valuta indicata. La valuta è specificata nel campo corrispondente della struttura di commissione o del livello di commissione. |
SYMBOL_COMMISSION_PERCENT_PROFIT |
La commissione è specificata come percentuale del profitto. |
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE
L’enumerazione ENUM_SYMBOL_COMMISSION_VOLUME_TYPE definisce come il valore della commissione viene applicato a un’operazione di trading.
Identificatore |
Descrizione |
|---|---|
SYMBOL_COMMISSION_VOLUME_TYPE_TRADE |
La commissione viene addebitata per operazione. |
SYMBOL_COMMISSION_VOLUME_TYPE_VOLUME |
La commissione viene calcolata proporzionalmente al volume dell’operazione. |
SYMBOL_COMMISSION_VOLUME_TYPE_TURNOVER |
La commissione viene calcolata in base al turnover. |
ENUM_SYMBOL_COMMISSION_RANGE_MODE
L’enumerazione ENUM_SYMBOL_COMMISSION_RANGE_MODE definisce l’indicatore usato per selezionare l’intervallo di commissione.
Identificatore |
Descrizione |
|---|---|
SYMBOL_COMMISSION_RANGE_VOLUME |
L’intervallo è determinato dal volume dell’operazione. |
SYMBOL_COMMISSION_RANGE_TURNOVER_MONEY |
L’intervallo è determinato dal turnover monetario. |
SYMBOL_COMMISSION_RANGE_TURNOVER_VOLUME |
L’intervallo è determinato dal turnover di volume. |
SYMBOL_COMMISSION_RANGE_VALUE |
L’intervallo è determinato dal valore dell’operazione. |
SYMBOL_COMMISSION_RANGE_PROFIT |
L’intervallo è determinato dal profitto. |
ENUM_SYMBOL_COMMISSION_CHARGE_MODE
L’enumerazione ENUM_SYMBOL_COMMISSION_CHARGE_MODE definisce quando la commissione viene addebitata.
Identificatore |
Descrizione |
|---|---|
SYMBOL_COMMISSION_CHARGE_DAILY |
La commissione viene addebitata alla fine della giornata. |
SYMBOL_COMMISSION_CHARGE_MONTHLY |
La commissione viene addebitata alla fine del mese. |
SYMBOL_COMMISSION_CHARGE_INSTANT |
La commissione viene addebitata immediatamente quando l’operazione viene eseguita. |
ENUM_SYMBOL_COMMISSION_ENTRY_MODE
L’enumerazione ENUM_SYMBOL_COMMISSION_ENTRY_MODE definisce in quale fase di un’operazione di trading viene addebitata la commissione.
Identificatore |
Descrizione |
|---|---|
SYMBOL_COMMISSION_ENTRY_INOUT |
La commissione viene addebitata all’ingresso e all’uscita da una posizione. |
SYMBOL_COMMISSION_ENTRY_IN |
La commissione viene addebitata all’ingresso in una posizione. |
SYMBOL_COMMISSION_ENTRY_OUT |
La commissione viene addebitata all’uscita da una posizione. |
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE
L’enumerazione ENUM_SYMBOL_COMMISSION_DIRECTION_MODE definisce la direzione delle operazioni a cui si applica la commissione.
Identificatore |
Descrizione |
|---|---|
SYMBOL_COMMISSION_DIRECTION_BOTH |
La commissione si applica alle operazioni di acquisto e vendita. |
SYMBOL_COMMISSION_DIRECTION_BUY |
La commissione si applica solo alle operazioni di acquisto. |
SYMBOL_COMMISSION_DIRECTION_SELL |
La commissione si applica solo alle operazioni di vendita. |
ENUM_SYMBOL_COMMISSION_PROFIT_MODE
L’enumerazione ENUM_SYMBOL_COMMISSION_PROFIT_MODE definisce se la commissione viene applicata in base al risultato finanziario dell’operazione.
Identificatore |
Descrizione |
|---|---|
SYMBOL_COMMISSION_PROFIT_ALL |
La commissione si applica a tutte le operazioni. |
SYMBOL_COMMISSION_PROFIT_PROFIT |
La commissione si applica solo alle operazioni in profitto. |
SYMBOL_COMMISSION_PROFIT_LOSS |
La commissione si applica solo alle operazioni in perdita. |
La struttura MqlCommissionTier descrive un livello di commissione.
struct MqlCommissionTier
|
Descrizione dei campi
Campo |
Tipo |
Descrizione |
|---|---|---|
mode |
ENUM_SYMBOL_COMMISSION_MODE |
Metodo di calcolo della commissione per questo livello. |
volume_type |
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE |
Metodo di applicazione del valore della commissione: per operazione, per volume o per turnover. |
value |
double |
Valore della commissione. L’interpretazione del valore dipende dal campo mode: importo monetario, numero di punti, percentuale o percentuale del profitto. |
min_value |
double |
Valore minimo della commissione per questo livello. |
max_value |
double |
Valore massimo della commissione per questo livello. |
range_from |
double |
Limite inferiore dell’intervallo a cui si applica questo livello di commissione. |
range_to |
double |
Limite superiore dell’intervallo a cui si applica questo livello di commissione. |
currency |
string |
Valuta della commissione. Usata per le modalità in cui la commissione è specificata in una valuta impostata esplicitamente, ad esempio SYMBOL_COMMISSION_MONEY_SPECIFIED. |
Nota
L’intervallo del livello di commissione è determinato da range_from e range_to. L’indicatore usato per selezionare l’intervallo è specificato nel campo mode_range della struttura MqlCommission.
Se la commissione è disabilitata tramite SYMBOL_COMMISSION_DISABLED, gli altri parametri del livello non vengono usati per l’addebito della commissione.
La struttura MqlCommission descrive una regola di addebito della commissione per uno strumento finanziario.
struct MqlCommission
|
Descrizione dei campi
Campo |
Tipo |
Descrizione |
|---|---|---|
currency |
string |
Valuta specificata per la regola di commissione. Usata nel calcolo della commissione nelle modalità che richiedono una valuta impostata esplicitamente. |
mode_range |
ENUM_SYMBOL_COMMISSION_RANGE_MODE |
Indicatore usato per selezionare l’intervallo di commissione: volume, turnover monetario, turnover di volume, valore dell’operazione o profitto. |
mode_charge |
ENUM_SYMBOL_COMMISSION_CHARGE_MODE |
Momento di addebito della commissione: alla fine della giornata, alla fine del mese o immediatamente quando l’operazione viene eseguita. |
mode_entry |
ENUM_SYMBOL_COMMISSION_ENTRY_MODE |
Fase dell’operazione di trading in cui viene addebitata la commissione: ingresso, uscita oppure ingresso e uscita. |
mode_direction |
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE |
Direzione delle operazioni a cui si applica la commissione: acquisto, vendita o entrambe. |
mode_profit |
ENUM_SYMBOL_COMMISSION_PROFIT_MODE |
Condizione per l’applicazione della commissione in base al risultato finanziario dell’operazione. |
tiers |
MqlCommissionTier[] |
Array dinamico di livelli di commissione. Ogni elemento dell’array descrive un intervallo separato e i parametri di calcolo della commissione per tale intervallo. |
Nota
La struttura MqlCommission imposta le condizioni generali di applicazione della commissione, mentre l’array tiers contiene livelli di commissione con valori e intervalli specifici.
Durante il calcolo della commissione vengono prima verificate le condizioni generali della regola: direzione dell’operazione, fase di ingresso o uscita, risultato finanziario, momento e motivo dell’addebito. Quindi, in base al valore mode_range, viene selezionato il livello appropriato dall’array tiers.
Se l’array tiers è vuoto, per questa regola non sono specificati livelli di commissione.
Vedi anche
SymbolsTotal, SymbolSelect, SymbolInfoMarginRate