strategy
属性
account_currency
类型: series string
返回用于策略账户的货币代码,如 strategy 声明中所设置。
avg_losing_trade
类型: series float
返回以账户货币计的每笔亏损交易的平均损失。计算方式为总亏损/亏损交易数量。表示为正数。
avg_losing_trade_percent
类型: series float
返回每笔亏损交易的平均损失占初始资本的百分比。计算方式为总亏损百分比/亏损交易数量。表示为正数。
avg_trade
类型: series float
返回以账户货币计的每笔已平仓交易的平均利润/损失。计算方式为净利润/已平仓交易数量。
avg_trade_percent
类型: series float
返回每笔已平仓交易的平均利润/亏损占初始资本的百分比。计算方式为净利润百分比/已平仓交易数量。
avg_winning_trade
类型: series float
返回以账户货币计的每笔获胜交易的平均利润。计算方式为毛利润/获胜交易数量。
avg_winning_trade_percent
类型: series float
返回每笔获胜交易的平均利润占初始资本的百分比。计算方式为毛利润百分比/获胜交易数量。
closedtrades
类型: series int
返回自策略启动以来已平仓交易的数量。当入场完全退出时,交易被视为平仓。使用 strategy.closedtrades.* 函数访问各个已平仓交易的详细信息。
default_entry_qty
类型: series float
返回用于市价订单的默认合约/股票/手数/单位数量。根据 strategy 声明的 default_qty_type 和 default_qty_value 参数计算。价值取决于当前价格和净值。
equity
类型: series float
返回经常账户净值:初始资本+净利润+未平仓利润。这是账户的实时价值,包括未平仓头寸的未实现收益/损失。
eventrades
类型: series int
返回盈亏平衡平仓交易的数量。即使交易的利润恰好为零,也会被考虑。
grossloss
类型: series float
返回总损失:所有亏损的平仓交易的损失总和。表示为正数。以账户货币计。
grossloss_percent
类型: series float
返回总损失占初始资本的百分比。计算公式为(总亏损/初始资本)* 100。
grossprofit
类型: series float
返回毛利润:所有获胜平仓交易的利润总和。不减去损失。以账户货币计。
grossprofit_percent
类型: series float
返回毛利润占初始资本的百分比。计算公式为(毛利润/初始资本)* 100。
initial_capital
类型: series float
返回 strategy 声明中设置的初始大写字母。这是回测的起始现金,由 initial_capital 参数指定。
losstrades
类型: series int
返回亏损的平仓交易数量。当利润小于零时,交易被视为亏损。
margin_liquidation_price
类型: series float
返回当前头寸触发追加保证金的价格。
max_contracts_held_all
类型: series float
返回策略期间任一时间持有的合约/股票/手数/单位的最大数量。考虑多头和空头方向(以较大者为准)。
max_contracts_held_long
类型: series float
返回策略期间任一时间持有多头头寸的合约/股票/手数/单位的最大数量。
max_contracts_held_short
类型: series float
返回策略期间任意时刻持有空头头寸的合约/股票/手数/单位的最大数量。
max_drawdown
类型: series float
返回最大回撤:该策略历史上净值从峰到谷的最大跌幅。以账户货币计。显示峰值后最严重损失的关键风险指标。
max_drawdown_percent
类型: series float
返回最大回撤占峰值时净值的百分比。回撤 20% 意味着股本较最高点下跌 20%。
max_runup
类型: series float
返回最大涨幅:该策略历史上净值从峰到谷的最大涨幅。以账户货币计。代表已实现的最佳未实现收益。
max_runup_percent
类型: series float
返回最大上涨值占谷底净值的百分比。
netprofit
类型: series float
返回以账户货币表示的净利润。这是已平仓交易的所有已实现利润和损失的总和。不包括未平仓利润。
netprofit_percent
类型: series float
返回净利润占初始资本的百分比。计算公式为(净利润/初始资本)* 100。
openprofit
类型: series float
返回以账户货币表示的未平仓头寸的当前未实现利润/损失。头寸盈利时为正值,亏损时为负值。该值随着价格变动而波动。
openprofit_percent
类型: series float
返回当前未实现损益占初始资本的百分比。计算公式为(未平仓利润/初始资本)* 100。
opentrades
类型: series int
返回当前未平仓交易的数量。已建仓但尚未完全平仓。使用 strategy.opentrades.* 函数访问各个未平仓交易的详细信息。
position_avg_price
类型: series float
返回当前未平仓头寸的数量加权平均入场价格。计算方式为所有未平仓交易的(入场价格 × 数量)总和除以总数量。平坦时返回 na。
position_entry_name
类型: series string
返回当前仓位第一笔未平仓交易的入场 ID。
position_size
类型: series float
返回当前头寸规模(以单位(合约、股票等)为单位)。正值表示多头头寸,负值表示空头头寸,零表示平仓(无头寸)。
wintrades
类型: series int
返回获胜平仓交易的数量。当利润大于零时,交易被视为盈利。
函数
cancel
strategy.cancel(id: series string)通过 ID 取消挂单。
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id | series string | 要取消的订单标识符。 |
cancel_all
strategy.cancel_all()取消策略创建的每个挂单。
close
strategy.close(
id: series string,
comment: series string = na,
qty: series float = na,
qty_percent: series float = na,
alert_message: series string = na,
immediately: series bool = false,
disable_alert: series bool = false
)通过条目 ID 平仓。使用 qty 或 qty_percent 请求部分关闭。
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id | series string | 要关闭的条目 ID。 | |
comment | series string | na | 生成的平仓订单的可选注释。 |
qty | series float | na | 绝对数量关闭。 |
qty_percent | series float | na | 平仓的百分比。 |
alert_message | series string | na | 可选的警报消息。 |
immediately | series bool | false | 如果 true,则立即平仓。 |
disable_alert | series bool | false | 如果 true,则抑制策略警报。 |
close_all
strategy.close_all(
comment: series string = na,
alert_message: series string = na,
immediately: series bool = false,
disable_alert: series bool = false
)关闭所有未平仓头寸。
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
comment | series string | na | 生成的平仓订单的可选注释。 |
alert_message | series string | na | 可选的警报消息。 |
immediately | series bool | false | 如果 true,则立即平仓所有仓位。 |
disable_alert | series bool | false | 如果 true,则抑制策略警报。 |
convert_to_account
strategy.convert_to_account(value: series float): series float将货币值从代码的货币转换为策略的账户货币。使用配置的货币转换器。当未提供转换器时,返回原值不变。
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
value | series float | 以符号货币表示的价值。 |
返回: series float
convert_to_symbol
strategy.convert_to_symbol(value: series float): series float将货币值从策略的账户货币转换为代码的货币。使用配置的货币转换器。当未提供转换器时,返回原值不变。
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
value | series float | 以账户货币表示的价值。 |
返回: series float
entry
strategy.entry(
id: series string,
direction: series Direction,
qty: series float = na,
limit: series float = na,
stop: series float = na,
oca_name: series string = na,
oca_type: series OcaType = OcaType.None,
comment: series string = na,
alert_message: series string = na,
disable_alert: series bool = false
)下达或更新挂单。重用现有待处理的 id 会更新该订单,而不是创建新订单。
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id | series string | 唯一的订单标识符。 | |
direction | series Direction | 订单方:strategy.long 或 strategy.short。 | |
qty | series float | na | 订单大小。当na时,使用策略默认值。 |
limit | series float | na | 限价。当na时,顺序不限。 |
stop | series float | na | 止损价。当 na 时,没有附加停止触发器。 |
oca_name | series string | na | 可选的“一取消全”组名称。 |
oca_type | series OcaType | OcaType.None | OCA 行为,例如 oca.cancel、oca.reduce 或 oca.none。 |
comment | series string | na | 可选订单评论。 |
alert_message | series string | na | 此订单的可选警报消息。 |
disable_alert | series bool | false | 如果 true,则抑制该订单的策略警报。 |
exit
strategy.exit(
id: series string,
from_entry: series string = na,
qty: series float = na,
qty_percent: series float = na,
profit: series float = na,
limit: series float = na,
loss: series float = na,
stop: series float = na,
trail_price: series float = na,
trail_points: series float = na,
trail_offset: series float = na,
oca_name: series string = na,
comment: series string = na,
comment_profit: series string = na,
comment_loss: series string = na,
comment_trailing: series string = na,
alert_message: series string = na,
alert_profit: series string = na,
alert_loss: series string = na,
alert_trailing: series string = na,
disable_alert: series bool = false
)下达或更新未平仓头寸的退出订单。该订单可以结合止盈、止损和追踪止损设置。如果同时提供止盈值和止损值,它们将充当括号。
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id | series string | 唯一的退出指令标识符。 | |
from_entry | series string | na | 退出的入口 ID。当 na 时,退出适用于整个匹配位置。 |
qty | series float | na | 绝对数量关闭。当 na 时,使用完全匹配的数量。 |
qty_percent | series float | na | 平仓的百分比。 |
profit | series float | na | 与入场价格的止盈距离(以跳动点为单位)。 |
limit | series float | na | 绝对止盈价。覆盖 profit。 |
loss | series float | na | 距入场价格的止损距离(以跳动点为单位)。 |
stop | series float | na | 绝对止损价。覆盖 loss。 |
trail_price | series float | na | 激活追踪止损的绝对价格。 |
trail_points | series float | na | 勾选距激活追踪止损入场点的距离。 |
trail_offset | series float | na | 激活后,报价偏移量保持在最佳价格后面。 |
oca_name | series string | na | 可选的 OCA 组名称。 |
comment | series string | na | 从此出口填充的默认注释。 |
comment_profit | series string | na | 用于止盈填充的注释。 |
comment_loss | series string | na | 用于止损填充的注释。 |
comment_trailing | series string | na | 用于追踪止损填充的注释。 |
alert_message | series string | na | 默认警报消息。 |
alert_profit | series string | na | 用于止盈填充的警报消息。 |
alert_loss | series string | na | 用于止损填充的警报消息。 |
alert_trailing | series string | na | 用于追踪止损填充的警报消息。 |
disable_alert | series bool | false | 如果 true,则抑制此退出的策略警报。 |
order
strategy.order(
id: series string,
direction: series Direction,
qty: series float = na,
limit: series float = na,
stop: series float = na,
oca_name: series string = na,
oca_type: series OcaType = OcaType.None,
comment: series string = na,
alert_message: series string = na,
disable_alert: series bool = false
)下达或更新一般策略订单。该 API 可以根据当前仓位和参数开仓、增加、减少或平仓。
参数
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
id | series string | 唯一的订单标识符。 | |
direction | series Direction | 订单方:strategy.long 或 strategy.short。 | |
qty | series float | na | 订单大小。当na时,使用策略默认值。 |
limit | series float | na | 限价。当na时,顺序不限。 |
stop | series float | na | 止损价。当 na 时,没有附加停止触发器。 |
oca_name | series string | na | 可选的“一取消全”组名称。 |
oca_type | series OcaType | OcaType.None | OCA 行为,例如 oca.cancel、oca.reduce 或 oca.none。 |
comment | series string | na | 可选订单评论。 |
alert_message | series string | na | 此订单的可选警报消息。 |
disable_alert | series bool | false | 如果 true,则抑制该订单的策略警报。 |