TradingView 是一款专注于金融市场分析的强大工具,它不仅可以方便地查看市场行情,还提供了图形化的交易策略回测功能。本文将通过 TradingView 平台进行交易策略的编写与回测,并展示详细的评测过程。
TradingView 的界面分为几个主要区域:
左上区域:K线图
支持自由调整时间周期以及添加各种指标。除了内置指标,还可以使用社区分享的指标和策略。
左下区域:编辑区
这里可以编写自定义的 Pine 脚本。相关文档可以参考 Pine脚本语言参考手册。
右上区域:自选列表
根据不同市场(如美股、港股、A股)添加自选标的。
右下区域:详情页面
显示选中标的的详细信息。
左侧边栏:画图工具
提供多种画图功能。
右侧边栏:功能列表
用于查看市场动态、新闻及与社区互动。
👉 【点击查看】TradingView 30天 独享 Premium 高级会员账号(完整质保30天售后)
本文选择的交易策略如下:
当 MACD 指标连续三天上涨且起涨点为近 20 天的最低值时买入。
当 MACD 指标连续三天下跌时卖出。
该策略简单易懂,同时可以兼容不同的市场环境。
以下是使用 Pine 脚本编写的完整代码:
pine
// 版本声明
//@version=5
strategy("MACD", overlay=true, initial_capital=10000, max_labels_count=500)
// 回测时间窗口设置
sYear = input.int(defval=2020, title="开始年份", minval=2012)
sMonth = input.int(defval=6, title="开始月份", minval=1, maxval=12)
sDay = input.int(defval=1, title="开始日期", minval=1, maxval=31)
eYear = input.int(defval=2025, title="结束年份", minval=2012)
eMonth = input.int(defval=6, title="结束月份", minval=1, maxval=12)
eDay = input.int(defval=1, title="结束日期", minval=1, maxval=31)
windowFlag = time >= timestamp(sYear, sMonth, sDay, 00, 00) and time <= timestamp(eYear, eMonth, eDay, 23, 59)
// 获取 MACD 指标
[_, _, histLine] = ta.macd(close, 12, 26, 9)
// 自定义实现连涨和连跌判断函数
upnday(a, n) =>
bool flag = true
for i = 1 to n
if a[i] >= a[i-1]
flag := false
break
flag
downnday(a, n) =>
bool flag = true
for i = 1 to n
if a[i] <= a[i-1]
flag := false
break
flag
// 自定义实现获取 n 天内最小值的函数
llv(a, n) =>
float minV = a[0]
for i = 1 to n
if a[i] < minV
minV := a[i]
minV
// 设置交易条件
longCondition = upnday(histLine, 3) and histLine[3] == llv(histLine, 20)
shortCondition = downnday(histLine, 3)
// 初始资金设置
total = 10000
if windowFlag
if longCondition
n = int(total / close / 100) * 100
strategy.entry("MACD", strategy.long, n)
if shortCondition
strategy.close("MACD")
脚本编辑完成后,点击“添加到图表”即可查看回测结果。
K线图展示买卖点:在指定范围内可观察策略的买卖点。
策略指标评估:右下方显示诸如净利润、胜率、最大回撤、净值等指标。
交易清单:点击交易清单可查看每次建仓和平仓的时间、仓位情况等,以便对策略进行细化和优化。
通过结合 K 线图及 MACD 指标的回测结果,可以进一步调整策略参数或逻辑,从而提升策略的效能。
希望通过本文内容能让读者在 TradingView 平台快速上手交易策略设计与回测,同时也能助力更有效的策略评估和优化!