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,則抑制該訂單的策略警報。 |