- SymbolsTotal
- SymbolExist
- SymbolName
- SymbolSelect
- SymbolIsSynchronized
- SymbolInfoCommissions
- SymbolInfoDouble
- SymbolInfoInteger
- SymbolInfoString
- SymbolInfoMarginRate
- SymbolInfoTick
- SymbolInfoSessionQuote
- SymbolInfoSessionTrade
- MarketBookAdd
- MarketBookRelease
- MarketBookGet
SymbolInfoCommissions
指定された金融商品の手数料課金ルールを返します。
int SymbolInfoCommissions(
|
パラメータ
name
[in] 銘柄名。パラメータが NULL の場合、現在の銘柄が使用されます。
commissions
[out] MqlCommission 構造体の動的配列。指定された銘柄の手数料課金ルールが書き込まれます。
戻り値
成功した場合、関数は commissions に書き込まれた要素数を返します。
エラーの場合は -1 が返されます。エラー情報を取得するには GetLastError() を使用します。
注意
commissions 配列の各要素は個別の手数料課金ルールを表します。手数料適用の一般条件は MqlCommission 構造体のフィールドで設定され、具体的な手数料値と範囲は tiers 配列で定義されます。
銘柄に手数料ルールが指定されていない場合、関数は 0 を返します。
name が存在しない銘柄または利用できない銘柄の名前を指定している場合、関数は -1 を返します。
例:
//+------------------------------------------------------------------+
|
銘柄の手数料
このセクションでは、金融商品の手数料課金ルールを表すために使用される列挙型と構造体について説明します。
手数料は、金額、ポイント、パーセント、利益のパーセントとして指定できるほか、数量、売買代金、取引価値、利益の範囲に基づいて計算することもできます。1 つの手数料ルールには複数の階層 MqlCommissionTier を含めることができます。
ENUM_SYMBOL_COMMISSION_MODE 列挙は手数料の計算方法を定義します。
識別子 |
説明 |
|---|---|
SYMBOL_COMMISSION_DISABLED |
手数料は無効です。 |
SYMBOL_COMMISSION_MONEY_DEPOSIT |
手数料は取引グループ/口座の入金通貨で指定されます。 |
SYMBOL_COMMISSION_MONEY_SYMBOL_BASE |
手数料は金融商品の基軸通貨で指定されます。 |
SYMBOL_COMMISSION_MONEY_SYMBOL_PROFIT |
手数料は金融商品の損益通貨で指定されます。 |
SYMBOL_COMMISSION_MONEY_SYMBOL_MARGIN |
手数料は金融商品の証拠金通貨で指定されます。 |
SYMBOL_COMMISSION_PIPS |
手数料はポイントで指定されます。 |
SYMBOL_COMMISSION_PERCENT |
手数料はパーセントで指定されます。 |
SYMBOL_COMMISSION_MONEY_SPECIFIED |
手数料は指定された通貨で指定されます。通貨は手数料構造体または手数料階層の対応するフィールドで指定されます。 |
SYMBOL_COMMISSION_PERCENT_PROFIT |
手数料は利益のパーセントとして指定されます。 |
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE 列挙は、手数料値を取引操作にどのように適用するかを定義します。
識別子 |
説明 |
|---|---|
SYMBOL_COMMISSION_VOLUME_TYPE_TRADE |
手数料は取引ごとに課金されます。 |
SYMBOL_COMMISSION_VOLUME_TYPE_VOLUME |
手数料は取引数量に比例して計算されます。 |
SYMBOL_COMMISSION_VOLUME_TYPE_TURNOVER |
手数料は売買高に基づいて計算されます。 |
ENUM_SYMBOL_COMMISSION_RANGE_MODE
ENUM_SYMBOL_COMMISSION_RANGE_MODE 列挙は手数料範囲を選択するために使用される指標を定義します。
識別子 |
説明 |
|---|---|
SYMBOL_COMMISSION_RANGE_VOLUME |
範囲は取引数量によって決定されます。 |
SYMBOL_COMMISSION_RANGE_TURNOVER_MONEY |
範囲は金額ベースの売買代金によって決定されます。 |
SYMBOL_COMMISSION_RANGE_TURNOVER_VOLUME |
範囲は数量ベースの売買高によって決定されます。 |
SYMBOL_COMMISSION_RANGE_VALUE |
範囲は取引価値によって決定されます。 |
SYMBOL_COMMISSION_RANGE_PROFIT |
範囲は利益によって決定されます。 |
ENUM_SYMBOL_COMMISSION_CHARGE_MODE
ENUM_SYMBOL_COMMISSION_CHARGE_MODE 列挙は手数料が課金されるタイミングを定義します。
識別子 |
説明 |
|---|---|
SYMBOL_COMMISSION_CHARGE_DAILY |
手数料は一日の終わりに課金されます。 |
SYMBOL_COMMISSION_CHARGE_MONTHLY |
手数料は月末に課金されます。 |
SYMBOL_COMMISSION_CHARGE_INSTANT |
手数料は取引が実行されると直ちに課金されます。 |
ENUM_SYMBOL_COMMISSION_ENTRY_MODE
ENUM_SYMBOL_COMMISSION_ENTRY_MODE 列挙は、取引操作のどの段階で手数料が課金されるかを定義します。
識別子 |
説明 |
|---|---|
SYMBOL_COMMISSION_ENTRY_INOUT |
手数料はポジションに入るときと終了するときに課金されます。 |
SYMBOL_COMMISSION_ENTRY_IN |
手数料はポジションに入るときに課金されます。 |
SYMBOL_COMMISSION_ENTRY_OUT |
手数料はポジションを終了するときに課金されます。 |
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE 列挙は手数料が適用される取引方向を定義します。
識別子 |
説明 |
|---|---|
SYMBOL_COMMISSION_DIRECTION_BOTH |
手数料は買い取引と売り取引に適用されます。 |
SYMBOL_COMMISSION_DIRECTION_BUY |
手数料は買い取引にのみ適用されます。 |
SYMBOL_COMMISSION_DIRECTION_SELL |
手数料は売り取引にのみ適用されます。 |
ENUM_SYMBOL_COMMISSION_PROFIT_MODE
ENUM_SYMBOL_COMMISSION_PROFIT_MODE 列挙は、取引の損益結果に応じて手数料を適用するかどうかを定義します。
識別子 |
説明 |
|---|---|
SYMBOL_COMMISSION_PROFIT_ALL |
手数料はすべての取引に適用されます。 |
SYMBOL_COMMISSION_PROFIT_PROFIT |
手数料は利益のある取引にのみ適用されます。 |
SYMBOL_COMMISSION_PROFIT_LOSS |
手数料は損失のある取引にのみ適用されます。 |
MqlCommissionTier 構造体は 1 つの手数料階層を表します。
struct MqlCommissionTier
|
フィールドの説明
フィールド |
型 |
説明 |
|---|---|---|
mode |
ENUM_SYMBOL_COMMISSION_MODE |
この階層の手数料計算方法。 |
volume_type |
ENUM_SYMBOL_COMMISSION_VOLUME_TYPE |
手数料値の適用方法: 取引ごと、数量別、または売買高別。 |
value |
double |
手数料値。値の解釈は mode フィールドに依存します: 金額、ポイント数、パーセント、または利益のパーセント。 |
min_value |
double |
この階層の最小手数料値。 |
max_value |
double |
この階層の最大手数料値。 |
range_from |
double |
この手数料階層が適用される範囲の下限。 |
range_to |
double |
この手数料階層が適用される範囲の上限。 |
currency |
string |
手数料通貨。手数料が明示的に設定された通貨で指定されるモードで使用されます。例: SYMBOL_COMMISSION_MONEY_SPECIFIED。 |
注意
手数料階層の範囲は range_from と range_to によって決定されます。範囲を選択するために使用される指標は MqlCommission 構造体の mode_range フィールドで指定されます。
SYMBOL_COMMISSION_DISABLED で手数料が無効になっている場合、その他の階層パラメータは手数料課金に使用されません。
MqlCommission 構造体は金融商品の手数料課金ルールを表します。
struct MqlCommission
|
フィールドの説明
フィールド |
型 |
説明 |
|---|---|---|
currency |
string |
手数料ルールに指定された通貨。明示的に設定された通貨を必要とするモードで手数料を計算するときに使用されます。 |
mode_range |
ENUM_SYMBOL_COMMISSION_RANGE_MODE |
手数料範囲を選択するために使用される指標: 数量、金額ベースの売買代金、数量ベースの売買高、取引価値、利益。 |
mode_charge |
ENUM_SYMBOL_COMMISSION_CHARGE_MODE |
手数料の課金タイミング: 日末、月末、または取引実行時に直ちに課金。 |
mode_entry |
ENUM_SYMBOL_COMMISSION_ENTRY_MODE |
手数料が課金される取引操作の段階: エントリー、決済、またはエントリーと決済。 |
mode_direction |
ENUM_SYMBOL_COMMISSION_DIRECTION_MODE |
手数料が適用される取引方向: 買い、売り、または両方向。 |
mode_profit |
ENUM_SYMBOL_COMMISSION_PROFIT_MODE |
取引の損益結果に応じた手数料適用条件。 |
tiers |
MqlCommissionTier[] |
手数料階層の動的配列。各配列要素は個別の範囲と、その範囲の手数料計算パラメータを表します。 |
注意
MqlCommission 構造体は手数料適用の一般条件を設定し、tiers 配列には具体的な値と範囲を持つ手数料階層が含まれます。
手数料を計算するときは、まずルールの一般条件(取引方向、エントリーまたは決済の段階、損益結果、課金時刻、課金理由)が確認されます。次に mode_range の値に基づいて、tiers 配列から適切な階層が選択されます。
tiers 配列が空の場合、このルールには手数料階層が指定されていません。
参照
SymbolsTotal, SymbolSelect, SymbolInfoMarginRate