# TradingView回测指南：如何使用Pine编辑器创建交易策略脚本（详细步骤解析）

By [idmhls](https://paragraph.com/@idmhls) · 2025-04-01

---

在TradingView平台上，回测是评估交易策略效果的重要工具。本文将深入讲解如何利用Pine编辑器创建自定义交易策略脚本，并通过策略测试器进行回测模拟。无论你是编程新手还是有一定经验的交易者，本文都将以“参考现有脚本并加以修改”的方式，带你快速掌握Pine Script策略编写技巧。

在之前的回测教学中，我们介绍了如何使用TradingView的内置策略进行测试。而今天，我们将聚焦于如何从零开始或基于现有脚本，编写属于自己的交易策略，并通过详细步骤和代码解析，让你轻松上手。

Pine编辑器简介
---------

Pine编辑器是TradingView平台内置的编程工具，用于编写Pine Script代码。Pine Script是一种专为TradingView设计的编程语言，可以用来创建自定义技术指标和交易策略。通过Pine编辑器，你可以编写交易策略脚本，并在策略测试器中运行回测，评估策略的实际表现。

简单来说，Pine编辑器是交易者实现程序化交易的核心工具。脚本（script）则是一段保存为文件的代码，包含你的交易逻辑。接下来，我们将介绍两种简单的方法，帮助你快速创建Pine Script策略脚本。

如何使用Pine编辑器创建策略脚本
-----------------

以下是两种适合初学者的方法，帮助你快速上手Pine Script策略编写：

*   **方法一**：修改TradingView内置策略脚本
    
*   **方法二**：将技术指标脚本转换为策略脚本
    

这两种方法的好处在于，你无需从零开始编写代码，而是基于现有框架进行调整。这种方式不仅降低了学习难度，还能让你在实践中逐步熟悉Pine Script的语法和逻辑。

### 方法一：修改TradingView内置脚本

我们以“移动平均双线交叉（MovingAvg2Line Cross）”策略为例，教你如何修改内置脚本并进行回测。

#### 步骤一：选择交易商品

在TradingView搜索栏输入“SPX”，选择S&P 500指数并打开图表。

#### 步骤二：打开Pine编辑器

点击图表下方的“Pine编辑器”（英文界面为“Pine Editor”），即可在下方看到代码编辑区域。

#### 步骤三：加载内置脚本

1.  点击编辑器中的“未命名脚本（Untitled script）”旁的下拉箭头。
    
2.  选择“创建新的（Create new）” > “内置（Built-in）”。
    
3.  在搜索栏输入“移动平均”，找到“移动平均双线交叉（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) if (ta.crossunder(mafast, maslow)) // 死亡交叉 strategy.entry("MA2CrossSE", strategy.short)

**改写目标**：删除空单逻辑，仅保留多单进出场。改写后的代码如下： 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) if (ta.crossunder(mafast, maslow)) // 死亡交叉，多单平仓 strategy.close("MA2CrossLE")

#### 步骤五：保存脚本

1.  点击“未命名脚本”，选择保存。
    
2.  输入名称，例如“移动平均双线单边做多”。
    
3.  点击“保存”。
    

#### 步骤六：运行回测

1.  切换到“策略测试器（Strategy Tester）”。
    
2.  点击“载入您的策略（Load your strategy）” > “个人的（Personal）”。
    
3.  选择“移动平均双线单边做多”并加载。
    

#### 步骤七：查看回测结果

回测完成后，图表将显示进出场点（蓝色箭头为多单进场，紫色箭头为多单出场），下方策略测试器会展示绩效概览和交易列表，确保策略仅包含多单交易。

### 方法二：将指标脚本转换为策略脚本

假设你已有一个指标脚本，例如“避开空头风险的移动平均指标”，我们将教你如何将其转换为可回测的策略脚本。

#### 步骤一：选择交易商品

在搜索栏输入“SPX”，打开S&P 500指数图表。

#### 步骤二：打开Pine编辑器

点击图表下方的“Pine编辑器”。

#### 步骤三：加载指标脚本

假设你之前保存了一个名为“MAs for risk management”的指标脚本：

1.  点击“未命名脚本”旁的下拉箭头。
    
2.  选择“打开脚本（Open script）” > “MAs for risk management”。
    

默认指标脚本如下： pine //@version=5 indicator("MAs for risk management", 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)

#### 步骤四：转换为策略脚本

1.  将`indicator`改为`strategy`： pine strategy("MAs for risk management", overlay=true)
    
2.  添加进出场逻辑： pine if (risky\_indicator == 0 and strategy.opentrades == 0) // 无风险时进场 strategy.entry("Long", strategy.long) if (risky\_indicator == 1) // 有风险时出场 strategy.close("Long")
    

完整改写后的策略脚本： pine //@version=5 strategy("MAs for risk management", 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")

#### 步骤五：保存脚本

1.  点击脚本名称旁的下拉箭头，选择“重新命名”。
    
2.  输入新名称“MAs for risk management\_strategy”。
    
3.  点击“保存”。
    

#### 步骤六：运行回测

在策略测试器中加载“MAs for risk management\_strategy”，即可查看回测结果。

#### 步骤七：分析结果

回测完成后，图表将显示进出场点，下方面板提供详细的绩效数据，如胜率和净利。

👉 [【点击查看】TradingView 30天独享Premium高级会员账号（完整质保30天售后）](https://bit.ly/TradingView-Pro)

总结：灵活运用Pine编辑器提升交易效率
--------------------

通过Pine编辑器，你可以轻松修改TradingView的内置策略，或将指标转换为可回测的交易策略。无论是“移动平均双线交叉”还是“避险策略”，自定义脚本都能帮助你更精准地测试交易想法。对于初学者来说，参考现有代码并逐步调整是快速上手的捷径。

Pine Script语法简单且功能强大，适合希望实现程序化交易的投资者。如果你对回测和策略编写感兴趣，不妨从现在开始尝试，探索更多交易可能性！

---

*Originally published on [idmhls](https://paragraph.com/@idmhls/tradingview-pine)*
