Skip to content

request

函数

currency_rate

navi
request.currency_rate(
    from: series string,
    to: series string,
    ignore_invalid_currency: series bool = false
  ): series float

返回当前 bar 将一单位 from 货币转换为 to 货币的汇率。该速率由引擎的 DataProvider 提供。

参数

名称类型默认值说明
fromseries string源货币代码,例如\"USD\"currency.USD
toseries string目标货币代码,例如\"EUR\"currency.EUR
ignore_invalid_currencyseries boolfalse如果是 true,则在无法确定转换率时返回 na,而不是引发运行时错误。

返回: series float


data

navi
request.data(
    function: simple string,
    args: series Map<string, any> = na,
    gaps: simple BarmergeGaps = BarmergeGaps.Off,
    lookahead: simple BarmergeLookahead = BarmergeLookahead.Off
  ): series float

调用引擎 DataProvider 上的自定义函数,并将返回的时间序列映射到当前图表 bar。args 映射仅接受 boolintfloatstring 类型的值;其他类型会导致运行时错误。映射中的 na 条目会被静默忽略。无数据时返回 na

参数

名称类型默认值说明
functionsimple string要调用的 DataProvider 函数名称。
argsseries Map<string, any>na传递给函数的可选 map&lt;string, any&gt; 类型参数。
gapssimple BarmergeGapsBarmergeGaps.Offbar 映射模式(参见 BarmergeGaps.Off / BarmergeGaps.On)。
lookaheadsimple BarmergeLookaheadBarmergeLookahead.Off控制前瞻语义以确保回测正确性。

返回: series float


dividends

navi
request.dividends(
    ticker: series string = syminfo.tickerid,
    field: series DividendsField = DividendsField.Gross,
    gaps: simple BarmergeGaps = BarmergeGaps.Off,
    lookahead: simple BarmergeLookahead = BarmergeLookahead.Off,
    ignore_invalid_symbol: input bool = false,
    currency: series string = syminfo.currency
  ): series float

查询引擎的 DataProvider 以获取当前 bar 处的股息值。支持前瞻控制。当没有可用数据时返回 na

参数

名称类型默认值说明
tickerseries stringsyminfo.tickerid查询股息的股票;默认为图表符号。
fieldseries DividendsFieldDividendsField.Gross要检索哪个股息数字:dividends.gross(预扣前)或 dividends.net(预扣后)。
gapssimple BarmergeGapsBarmergeGaps.Off条形映射模式(请参阅 BarmergeGaps.Off / BarmergeGaps.On)。
lookaheadsimple BarmergeLookaheadBarmergeLookahead.Off控制该值是出现在事件 bar 本身上 (lookahead_on) 还是仅在确认后出现 (lookahead_off)。
ignore_invalid_symbolinput boolfalsetrue 时,无法识别的代码会默默产生 na
currencyseries stringsyminfo.currency用于价值转换的货币代码。

返回: series float


earnings

navi
request.earnings(
    ticker: series string = syminfo.tickerid,
    field: series EarningsField = EarningsField.Actual,
    gaps: simple BarmergeGaps = BarmergeGaps.Off,
    lookahead: simple BarmergeLookahead = BarmergeLookahead.Off,
    ignore_invalid_symbol: input bool = false,
    currency: series string = syminfo.currency
  ): series float

查询引擎的 DataProvider 以获取当前 bar 的收益值。支持回溯测试正确性的前瞻控制。当没有可用数据时返回 na

参数

名称类型默认值说明
tickerseries stringsyminfo.tickerid查询收益的股票;默认为图表符号。
fieldseries EarningsFieldEarningsField.Actual要检索哪个收入数据:earnings.actualearnings.estimateearnings.standardized
gapssimple BarmergeGapsBarmergeGaps.Off条形映射模式(请参阅 BarmergeGaps.Off / BarmergeGaps.On)。
lookaheadsimple BarmergeLookaheadBarmergeLookahead.OffBarmergeLookahead.Off(默认)时,数据点仅在后续点确认后才变得可见,从而防止回溯测试中的未来泄漏。
ignore_invalid_symbolinput boolfalsetrue 时,无法识别的代码会默默产生 na
currencyseries stringsyminfo.currency用于价值转换的货币代码。

返回: series float


economic

navi
request.economic(
    country_code: series string,
    field: series string,
    gaps: simple BarmergeGaps = BarmergeGaps.Off,
    ignore_invalid_symbol: input bool = false
  ): series float

查询引擎的 DataProvider 以获取当前 bar 处的宏观经济指标值。当没有可用数据时返回 na

参数

名称类型默认值说明
country_codeseries stringISO 3166-1 alpha-2 国家/地区代码,例如__代码0__,代码1
fieldseries string要检索的经济指标的标识符。
gapssimple BarmergeGapsBarmergeGaps.Off条形映射模式(请参阅 BarmergeGaps.Off / BarmergeGaps.On)。
ignore_invalid_symbolinput boolfalsetrue 时,无法识别的标识符会默默地产生 na

返回: series float


financial

navi
request.financial(
    symbol: series string,
    financial_id: series string,
    period: series string,
    gaps: simple BarmergeGaps = BarmergeGaps.Off,
    ignore_invalid_symbol: input bool = false,
    currency: series string = syminfo.currency
  ): series float

查询引擎的 DataProvider 以获取当前 bar 处的财务指标值。提供程序流式传输带有时间戳的数据点,VM 使用 gaps 模式将这些数据点映射到图表 bars 上。当没有可用数据时返回 na

参数

名称类型默认值说明
symbolseries string要查询其财务状况的符号。
financial_idseries string要检索的财务指标的标识符。
periodseries string报告期:\"FQ(季度)或FY\"(年度)。
gapssimple BarmergeGapsBarmergeGaps.Off当数据点与图表 bar 不对齐时控制 bar 映射。 BarmergeGaps.Off 前向填充; BarmergeGaps.On 留下间隙作为 na
ignore_invalid_symbolinput boolfalsetrue 时,无法识别的符号会默默地产生 na
currencyseries stringsyminfo.currency用于价值转换的货币代码;默认为图表符号的货币。

返回: series float


security

navi
request.security(
    symbol: series string,
    timeframe: series string,
    expression: instructions<T>,
    gaps: simple BarmergeGaps = BarmergeGaps.Off,
    lookahead: simple BarmergeLookahead = BarmergeLookahead.Off,
    ignore_invalid_symbol: input bool = false,
    currency: series string = na,
    calc_bars_count: simple int = na
  ): series T

评估另一个交易品种或时间范围上的 expression 并将结果映射到当前图表上。

参数

名称类型默认值说明
symbolseries string请求的符号。
timeframeseries string请求的时间范围字符串,例如 \"D60W\"
expressioninstructions<T>要在请求的上下文中执行的表达式。
gapssimple BarmergeGapsBarmergeGaps.Off如何将缺失的请求 bars 映射回当前图表。
lookaheadsimple BarmergeLookaheadBarmergeLookahead.Off请求的值是否可以展望历史 bars。
ignore_invalid_symbolinput boolfalse如果 true,则对于未知符号返回 na,而不是引发错误。
currencyseries stringna用于价格转换的可选货币。
calc_bars_countsimple intna为请求流加载的最近历史记录窗口的可选正限制。

返回: series T

示例

navi
// Get daily close of a different symbol on the current intraday chart let
dailyClose = request.security("AAPL", "D", close);
plot(dailyClose, title: "AAPL Daily Close");
navi
// Request daily high and low simultaneously using a tuple expression let
(dHigh, dLow) = request.security("AAPL", "D", (high, low));
plot(dHigh, title: "Daily High", color: color.GREEN);
plot(dLow,  title: "Daily Low",  color: color.RED);

security_lower_tf

navi
request.security_lower_tf(
    symbol: series string,
    timeframe: series string,
    expression: instructions<T>,
    ignore_invalid_symbol: input bool = false,
    currency: series string = na,
    ignore_invalid_timeframe: input bool = false,
    calc_bars_count: simple int = na
  ): series Array<T>

在较低时间范围内评估 expression 并为当前图表 bar 内的每个较低时间范围 bar 返回一个数组元素。

参数

名称类型默认值说明
symbolseries string请求的符号。
timeframeseries string较低或等于时间范围字符串,例如 \"15\"
expressioninstructions<T>针对每个较低时间范围 bar 计算的表达式。
ignore_invalid_symbolinput boolfalse如果 true,则对于未知符号返回 na,而不是引发错误。
currencyseries stringna用于价格转换的可选货币。
ignore_invalid_timeframeinput boolfalse如果为 true,则当请求的时间范围不低于图表时间范围时返回 na
calc_bars_countsimple intna为请求流加载的最近历史记录窗口的可选正限制。

返回: series Array<T>


splits

navi
request.splits(
    ticker: series string = syminfo.tickerid,
    field: series SplitsField = SplitsField.Denominator,
    gaps: simple BarmergeGaps = BarmergeGaps.Off,
    lookahead: simple BarmergeLookahead = BarmergeLookahead.Off,
    ignore_invalid_symbol: input bool = false
  ): series float

查询引擎的 DataProvider 以获取当前 bar 处的股票分割值。支持前瞻控制。当没有可用数据时返回 na

参数

名称类型默认值说明
tickerseries stringsyminfo.tickerid要查询其拆分的股票代码;默认为图表符号。
fieldseries SplitsFieldSplitsField.Denominator要检索分流比的哪个组成部分:splits.numeratorsplits.denominator
gapssimple BarmergeGapsBarmergeGaps.Off条形映射模式(请参阅 BarmergeGaps.Off / BarmergeGaps.On)。
lookaheadsimple BarmergeLookaheadBarmergeLookahead.Off控制该值是出现在事件 bar 本身上 (lookahead_on) 还是仅在确认后出现 (lookahead_off)。
ignore_invalid_symbolinput boolfalsetrue 时,无法识别的代码会默默产生 na

返回: series float

基于 MIT 许可证发布。