保持敬畏之心
交易是一场持久战

Pine Script(65):currency参数设置,实现跨市场回测

#Pine Script入门教学

你的交易账户是欧元区的,但你主要交易纳斯达克指数和美国股票,那么你最终关心的,不是策略赚了多少美元,而是这些美元换算成欧元后,对你的账户净值到底有多大贡献。

Pine策略里的currency参数,就是帮你自动完成这个关键换算的财务总管,它能让你的回测报告,完全以你指定的账户货币来呈现,从而真实地模拟跨市场交易的最终损益。

我们通过strategy()函数来配置currency。比如,要让策略以一个欧元账户进行回测,代码就这么写:

//@version=6
strategy(title="我的策略", currency=currency.EUR)

currency是可选参数,如果你不设置它,策略将默认使用图表交易品种自身的计价货币,并且不进行任何汇率换算。

TradingView支持多种主流货币和加密货币进行回测。你需要使用下表中对应的常量值来设定。

货币变量 货币
currency.AUD 澳元
currency.BTC 比特币
currency.CAD 加元
currency.CHF 瑞郎
currency.ETH 以太坊
currency.EUR 欧元
currency.GBP 英镑
currency.HKD 港元
currency.JPY 日元
currency.KRW 韩元
currency.MYR 马来西亚
currency.NOK 挪威克朗
currency.NONE 不指定,使用品种计价货币
currency.NZD 纽元
currency.RUB 卢布
currency.SEK 瑞典克朗
currency.SGD 新加坡
currency.TRY 土耳其里拉
currency.USD 美元
currency.USDT 泰达币
currency.ZAR 南非兰特

避坑指南:这里的货币不是随便写的,必须是上表中官方支持的,如果你写了一个冷门货币代码,脚本会直接报错。

一旦你设定了账户货币,TradingView会自动以该货币来计算和呈现策略的方方面面,包括策略测试器中的所有绩效报告(净利润、回撤等)、初始资金 (initial_capital)、策略的总权益 (strategy.equity)、默认下单量(当使用固定现金价值或权益百分比模式时)、手续费等。

当账户货币和交易品种的计价货币不同时,TradingView会在后台自动进行汇率换算,确保结果的准确性。

我们来看一个EMA的简单策略,当连续三根K线收于均线上方时做多,反之做空。

策略代码:

//@version=6
strategy(title="货币示例", overlay=true, default_qty_value=100)

emaValue = ta.ema(ta.ema(close, 25), 3)
plot(emaValue, color=color.teal, linewidth=2, title="平滑的 EMA")

// 连续三根K线站上EMA,做多
if close > emaValue and close[1] > emaValue[1] and close[2] > emaValue[2]
    strategy.entry("Enter Long", strategy.long)

// 连续三根K线跌破EMA,做空
if close < emaValue and close[1] < emaValue[1] and close[2] < emaValue[2]
    strategy.entry("Enter Short", strategy.short)

我们将这个策略应用在以美元计价的图表上,由于没有设置currency,所有回测结果都以美元呈现:

现在,我们模拟一个欧洲交易元,他的账户是欧元区的,我们只需在strategy()函数中加入currency=currency.EUR

strategy(title="货币示例", overlay=true, default_qty_value=100,
    currency=currency.EUR)

保存代码后,策略的交易信号、开平仓位置完全没有改变,但策略测试器中的所有绩效报告,现在都自动换算成了欧元:

现在这份报告才真正反映了该策略对于一个欧元账户的真实影响。你也可以在策略设置窗口的“属性”标签页中,通过“基准货币”选项来手动更改策略的货币。手动设置会覆盖代码中的设定。学长建议无论你交易的品种是否与你的账户货币相同,都在strategy()函数里明确指定你的账户货币。这是一种专业的、有前瞻性的编码习惯,可以避免你日后将策略应用到其他市场的品种时,忘记调整而导致回测结果失真。

总结

  • currency参数是所有进行跨市场、跨币种交易的策略开发者必须掌握的工具。
  • 它能让你的回测报告“本地化”,真实反映策略对你本币账户的最终损益。
  • 养成在代码中明确指定currency的习惯,能让你的策略更严谨、更具通用性。
赞(0)
未经允许不得转载:图道交易 » Pine Script(65):currency参数设置,实现跨市场回测
分享到

评论 抢沙发

登录

找回密码

注册