5-2、经纪商 API
经纪商 API
此页面上的所有内容仅与交易终端相关。
经纪商 API 是支持实时交易的关键组件。其主要目的是将图表库与您的交易逻辑联系起来。 对JS而言,它是一个预期暴露特定接口的对象。下面是经纪商 API 的方法列表。
必要的方法
constructor(host)
经纪商 API 的构造函数通常需要交易主机。
positions: Promise<Position[]>
Promise<Position[]>交易终端调用此方法来请求仓位。
orders: Promise<Order[]>
Promise<Order[]>交易终端调用此方法来请求订单。
executions(symbol): Promise<Execution[]>
Promise<Execution[]>交易终端调用此方法来请求执行。
trades: Promise<Trade[]>
Promise<Trade[]>交易终端调用此方法来请求交易(个别仓位)。
chartContextMenuActions(e)
e 是浏览器传递的上下文对象
图表可以在菜单中拥有交易子菜单。 此方法应返回一组 ActionMetaInfo 元素,每个元素代表一个上下文菜单项。
connectionStatus()
通常你不需要返回1以外的值,因为当你创建 widget 时经纪商已经连接。如果要在加载数据时在底部面板中显示一个微调控制器(spinner),则可以使用它。 可能的返回值是:
ConnectionStatus.Connected = 1;
ConnectionStatus.Connecting = 2;
ConnectionStatus.Disconnected = 3;
ConnectionStatus.Error = 4;isTradable(symbol): Promise<boolean | IsTradableResult>
该方法是浮动交易面板所必需的。通过面板进行交易的能力取决于这个方法的返回值是:true还是false。 如果所有商品都可以交易,则不需要实现这个方法。
如果要显示自定义消息显示无法交易商品的原因,则可以返回对象IsTradableResult。 它只有两个键:tradable(true或false)、solutions(TradableSolutions)、reason(string)和shortReason(string)。 Reason 显示在 Order 对话框中,而 shortReason 显示在图例中。
accountManagerInfo()
此方法用于返回账户管理器的信息。请参阅账户管理器了解更多信息。
placeOrder(order, confirmId): Promise<PlaceOrderResult>
当用户想要下订单时调用此方法。订单预先填写了部分或完整的信息。此方法返回一个带有订单 ID 的对象。
如果 supportPlaceOrderPreview 配置标志打开,则传递 confirmId。
previewOrder(order)
返回订单的估计佣金、费用、保证金和其他信息,而无需实际下订单。 如果 supportPlaceOrderPreview 配置标志打开,则调用该方法。 结果将是一个具有以下字段的对象:
OrderPreviewResult - 描述订单预览的结果。
sections:订单预览部分数组,OrderPreviewSection[]。confirmId: 应该传递给placeOrder方法的唯一标识符warnings: 可选的文本警告数组errors: 可选的文本错误数组
modifyOrder(order, confirmId)
order是要修改的订单对象
方法在用户想要修改现有订单时被调用。
如果 supportModifyOrderPreview 配置标志打开,则传递 confirmId。
cancelOrder(orderId, silently)
调用这个方法来取消id的订单。
如果silently是true,则不显示任何对话框。
cancelOrders(symbol, side, ordersIds, silently)
symbol- symbol stringside: Side 或undefinedordersIds-symbol和side收集的 ids。如果silently是true,则不显示任何对话框。
这个方法被调用来取消symbol和side的多个订单。
如果silently是true,则不显示任何对话框。
editPositionBrackets(positionId, brackets)
positionId要修改的现有仓位 IDbrackets- 新的包围单 (可选).
如果启用了supportPositionBrackets配置标志,则请求此方法,可显示一个用于编辑止盈和止损的对话框。
closePosition(positionId)
如果启用了supportClosePosition配置标志,则请求此方法,可通过仓位 id 平仓。
reversePosition(positionId)
如果启用了supportReversePosition配置标志,则请求此方法,可通过仓位 id 反转仓位。
editTradeBrackets(tradeId, brackets)
tradeId是要修改的交易 idbrackets- 新的包围单 (可选).
如果启用了supportTradeBrackets配置标志,则请求此方法,应显示一个用于编辑止盈和止损的对话框。
closeTrade(tradeId)
如果启用了supportCloseTrade配置标志,则请求此方法,可通过交易 id 关闭交易。
symbolInfo(symbol): Deferred (或 Promise)
symbol- symbol string
此方法通过内部订单对话框调用。DOM 面板和浮动交易面板请求此方法,以获取商品信息。
返回值是具有以下属性的对象:
qty- QuantityMetainfo 对象。pipSize- 点的大小(例如,EURUSD 为0.0001)pipValue- 对于合约账户币种的每1pip的值minTick- 最小价格变动(例如,EURUSD 为0.00001)。用于价格字段。description- 要在对话框中显示的描述type- 合约类型, 只有forex比较特殊 - 它允许在订单对话框中实现负的点数。domVolumePrecision- DOM卖出/买入数量的小数位数(可选,默认为 0)marginRate- 合约的保证金要求。3%的保证金率应表示为0.03stopPriceStep- 止损和止损限价订单的止损价格字段的最小价格变化。如果设置,它将覆盖 minTick 值。limitPriceStep- 限价和止损限价订单的限价字段的最小价格变化。如果设置,它将覆盖 minTick 值。allowedDurations- 具有有效持续时间值的字符串数组。 您可以在订单对话框中进行检查。currency- 在订单对话框中显示的工具货币baseCurrency- 货币对中报价的第一种货币。 仅用于加密货币。quoteCurrency- 货币对中报价的第二种货币。 仅用于加密货币。bigPointValue- 以合约货币的完整价格变动点表示的价值。该值用于计算订单的总价值(商品货币)。units- 数量或金额的单位。在数量/金额字段中显示而不是单位标签。
accountInfo(): Deferred (或 Promise)
此方法通过内部订单对话框调用,以获取账户信息。
只返回一个字段:
currencySign:字符串 - 这是账户货币的标志
一旦调用此方法,经纪商应停止提供盈利/亏损。
subscribeEquity()
如果您使用标准订单对话框并支持止损,则应实现这个方法。Equity 用于计算风险百分比。
一旦调用此方法,经纪商应通过equityUpdate方法,提供 equity(余额+P/L) 的更新订阅。
unsubscribeEquity()
如果您使用标准订单对话框并支持止损,则应实现这个方法。
一旦调用此方法,经纪商应停止提供 Equity 的更新。
subscribeMarginAvailable()
如果您使用标准订单对话框并想要显示可用保证金,则应实现这个方法。
一旦调用此方法,经纪商应通过marginAvailableUpdate方法,提供可用保证金的更新。
unsubscribeMarginAvailable()
如果您使用标准订单对话框并想要显示可用保证金,则应实现这个方法。
一旦调用此方法,经纪商应停止提供可用保证金的更新。
subscribePipValue()
如果您使用标准订单对话框,则应实现这个方法。pipValues显示在订单信息中,用于计算交易价值和风险。 如果没有实现这个方法,则在订单面板/对话框中使用symbolInfo中的pipValue。
一旦调用此方法,经纪商应通过pipValueUpdate方法,提供pipValue的更新。
unsubscribePipValue()
如果使用标准订单对话框并实现subscribePipValue,则应实现该方法。
调用此方法后,经纪商应停止提供pipValue的更新。
可选方法
getOrderDialogOptions(symbol): Promise<OrderDialogOptions |未定义>
symbol- 商品字符串。
如果您使用标准订单对话框并希望对其进行自定义,则可以实现该方法。
使用 symbol 参数返回特定商品的自定义选项。
结果是一个带有 Order 对话框选项的对象:
showTotal:布尔值使用此标志,您可以在“订单”对话框的“订单信息”部分将“交易价值”更改为“总计”。
customFields: (TextWithCheckboxFieldMetaInfo | CustomComboBoxMetaInfo)[];使用customFields`,您可以向“订单”对话框添加其他输入字段。
例子:
customFields: [
{
inputType: 'TextWithCheckBox',
id: '2410',
title: 'Digital Signature',
placeHolder: 'Enter your personal digital signature',
value: {
text: '',
checked: false,
},
customInfo: {
asterix: true,
checkboxTitle: 'Save',
},
}
]getPositionDialogOptions(): PositionDialogOptions
如果要自定义位置对话框,可以实现该方法。
结果是一个带有位置对话框选项的对象。
customFields: (TextWithCheckboxFieldMetaInfo | CustomComboBoxMetaInfo)[];使用
customFields,您可以向位置对话框添加额外的输入字段。
也可以看看
如何连接你的交易控制器到图表
最后更新于
这有帮助吗?