在上一篇系列文章中,我们介绍了如何利用TradingView的策略测试器,使用内置交易策略来进行回测模拟交易。而本文将手把手教你如何在TradingView的Pine编辑器中创建交易策略进行回测,采用“参考现有脚本并进行修改”的方式,带你快速进入基于代码的交易策略世界。
⚡ 小贴士:还没体验过TradingView的朋友,可以从基础用法开始了解,逐步掌握回测工具。
Pine编辑器是TradingView的脚本开发工具,用来编写基于 Pine Script 的交易策略和技术指标。通过这个工具,你可以定制专属的交易策略脚本,并利用 策略测试器 将脚本应用到图表中,进行回测并评估交易策略的表现。
脚本(Script)是包含一段特定代码的文件,在Pine编辑器中编写交易策略后保存,这就是一个脚本。例如我们可以创建一种移动均线策略,保存后即可在TradingView策略测试器中用于回测。
👉 【点击查看】TradingView 30天 独享 Premium 高级会员账号(完整质保30天售后)
以下我们将介绍两种实用且易上手的方法:
从TradingView内置策略脚本进行修改
将技术指标脚本改写成策略脚本
采用这两种方式,不仅可以快速搭建脚本框架,还能帮助初学者更高效地学习和上手编程。
步骤1:选择商品
在TradingView中搜索S&P500指数(代码 SPX),并打开图表。
步骤2:打开Pine编辑器
点击图表底部的 Pine编辑器(或 Pine Editor),打开脚本编辑窗口。
步骤3:找到内置脚本
在编辑器中点击 未命名脚本 (Untitled script) 的下拉箭头。
选择 内置脚本 (Built-in)。
搜索 "移动平均双线交叉策略 (MovingAvg2Line Cross)" 并点击打开。
步骤4:理解并改写脚本
此脚本的默认逻辑是,快线突破慢线(黄金沙叉)时开多仓,快线下穿慢线(死亡交叉)时开空仓。我们可以改成只做多策略,即:
黄金沙叉:建仓多单。
死亡交叉:平仓多单。
改写后的完整代码:
pine
//@version=6
strategy("MovingAvg2Line Cross", overlay=true)
fastLength = input(9)
slowLength = input(18)
price = close
mafast = ta.sma(price, fastLength)
maslow = ta.sma(price, slowLength)
if (ta.crossover(mafast, maslow))
strategy.entry("MA2CrossLE", strategy.long, comment="MA2CrossLE")
if (ta.crossunder(mafast, maslow))
strategy.close("MA2CrossLE", comment="Close MA2CrossLE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
步骤5:保存并应用脚本
点击 未命名脚本 (Untitled script),输入脚本名称,如“移动平均双线单边做多”,并点击保存。随后切换到 策略测试器 (Strategy Tester) 并加载此脚本,进行回测。
我们之前创建过一个技术指标脚本,用来标示潜在的市场风险区域。这次我们将其改写为策略脚本,用于回测分析。
步骤1:选择商品并打开Pine编辑器
同上,选中S&P500指数,打开图表底部的 Pine编辑器。
步骤2:加载上次保存的指标脚本
找到之前保存的脚本,并加载名为 “MAs for Risk Management” 的技术指标脚本。
步骤3:改写为策略脚本
策略脚本需要定义多单进场和平仓的条件:
进场(执行多仓): 如果满足特定指标(比如避开风险区域),且当前仓位为空。
出场(平仓多单): 如果进入风险区域,则出场。
改写后的完整代码:
pine
//@version=5
strategy("MAs for risk management_strategy", overlay=true)
short = ta.sma(close, 5)
long = ta.sma(close, 250) * 0.975
risky_period = ta.sma(math.sign(short-long)*0.5 - 0.5, 22) * 22
risky_indicator = risky_period < 0 ? 1 : 0
plot(short, color=color.teal)
plot(long, color=color.green)
if (risky_indicator == 0 and strategy.opentrades == 0)
strategy.entry("Long", strategy.long)
if (risky_indicator == 1)
strategy.close("Long")
步骤4:保存并进行回测
保存脚本,命名为“MAs for Risk Management Strategy”,并加载到策略测试器进行回测。TradingView将显示回测结果,包括多单的进出场点位和相关绩效指标。
通过上述两种方法,你可以轻松改写TradingView的内置脚本或创建新的策略脚本,从而实现基于真实市场数据的交易策略回测。这不仅能帮助你优化策略,还能提升代码与技术分析能力。
TradingView 的 Pine Script 简单易学,非常适合新手逐步入门。有兴趣的话赶紧尝试吧!
👉 【点击查看】TradingView 30天 独享 Premium 高级会员账号(完整质保30天售后)