热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > 软件教程 >TradingView Pine Script:自定义加密货币交易指标

TradingView Pine Script:自定义加密货币交易指标

来源:互联网 更新时间:2025-03-26 11:04

利用TradingView的Pine Script定制你的交易图表

没有合适的交易工具,有效的技术分析就无从谈起。一个强大的交易策略能帮助你避免常见错误,改进风险管理,并提升识别和利用机会的能力。

对许多人来说,TradingView是首选的图表平台。这个强大的HTML5网页应用提供了丰富的技术分析工具,数百万用户都用它来追踪外汇、加密货币和传统股票市场的走势。

TradingView有很多强大的功能:它允许我们跨多个交易平台追踪资产,并在其社交网络上发布交易理念。本文将重点介绍它的可定制性,我们将使用TradingView自己的编程语言Pine Script,它让我们能够对图表布局进行精细控制。

让我们开始吧!

什么是Pine Script?

Pine Script是一种脚本语言,可以用来修改你的TradingView图表。平台已经为你配备了许多功能,但Pine Script允许你更进一步。无论你想改变你的K线图的颜色,还是回测一个新的策略,Pine编辑器都能让你根据自己的需要定制实时图表。

代码本身有很好的文档,所以一定要查看用户手册了解更多信息。本教程的目标是讨论一些基础知识,并介绍一些对加密货币交易非常有用的指标。

设置

开始使用Pine Script非常简单。我们编写的任何代码都在TradingView的服务器上运行,因此我们可以从浏览器访问编辑器并开发我们的脚本——无需任何额外的下载或配置。

在本教程中,我们将绘制比特币/Binance美元(BTCBUSD)货币对的图表。如果你还没有,创建一个免费账户(也有专业订阅,但本指南不需要)。

你会看到一个类似于下面的图表(你的图表可能更新一些)。我们要获得

完整功能的图表

——点击按钮访问它。这给了我们更详细的视图、绘图工具以及绘制趋势线等选项。

完整功能的图表。你可以通过点击突出显示的标签上方的视图来调整时间范围。

我们不会讨论如何使用各种可用工具,但如果你认真对待技术分析,我们强烈建议你熟悉它们。在左下方(图像中已概述),你会看到几个不同的标签——点击

Pine编辑器

Pine编辑器

在这个编辑器中,一切魔法都会发生。我们会告诉它我们想做什么,然后点击

添加到图表

,就能看到我们的注释出现在上面。请注意,如果我们一次包含多个注释,事情可能会变得混乱,因此我们会在示例之间删除它们(

右键点击图表>删除指标

)。

你可以看到我们已经有几行代码了。让我们点击

添加到图表

看看会发生什么。

第二个图表添加到原始图表下方。新的图表恰好代表相同的数据。将鼠标悬停在我的脚本上,然后点击叉号将其删除。现在,让我们深入研究代码。

study("My Script")

第一行只是设置我们的注释。它只需要你想要调用的指标的名称(在本例中为“我的脚本”),但我们还可以添加一些可选参数。其中一个是overlay,它告诉TradingView将指标放在现有图表上(而不是在新段中)。正如我们从第一个例子中看到的,它默认为false。虽然我们现在看不到它的作用,但overlay=true会将指标添加到现有图表中。

plot(close)

这一行是绘制比特币收盘价的指令。plot只是给我们一个线形图,但我们也可以显示K线图和条形图,我们稍后会看到。

现在,让我们尝试以下内容:

//@version=4
study("My Script", overlay=true)
plot(open, color=color.purple)

添加之后,你应该会看到第二个图表(看起来像是原始图表向右移动)。我们所做的只是绘制了开盘价,由于当天的开盘价是前一天的收盘价,所以它们具有相同的形状也说得通。

好的!让我们删除当前的注释(记住,我们是通过右键单击并点击

删除指标

来实现的)。将鼠标悬停在

比特币/BUSD

上,然后点击

隐藏

按钮来清除当前图表。

许多交易者更喜欢K线图,因为它们比我们刚才做的简单绘图提供更多信息。我们接下来添加它们。

//@version=4
study("My Script", overlay=true)
plotcandle(open, high, low, close)

这是一个好的开始,但是缺乏颜色使得它有点单调。理想情况下,当给定时间范围内的开盘价大于收盘价时,我们应该有红色的K线,如果收盘价超过开盘价,则为绿色的K线。我们将在plotcandle()函数上方添加一行:

//@version=4
study("My Script", overlay=true)
colors = open >= close ? color.red : color.green
plotcandle(open, high, low, close)

这会查看每个K线,并检查开盘价是否大于或等于收盘价。如果是,则表示价格在此期间下跌,因此它会将K线涂成红色。否则,它会将其涂成绿色。修改plotcandle()函数以传入此颜色方案:

//@version=4
study("My Script", overlay=true)
colors = open >= close ? color.red : color.green
plotcandle(open, high, low, close, color=colors)

如果你还没有删除当前的指标,请删除它们,并将这个添加到图表中。现在我们应该得到一个类似于常规K线图的东西。

漂亮!

绘制移动平均线 (MA)

我们已经掌握了一些基础知识。让我们继续我们的第一个自定义指标——指数移动平均线 (EMA)。这是一个有价值的工具,因为它允许我们过滤掉任何市场噪音并平滑价格走势。

EMA与简单移动平均线 (SMA)略有不同,因为它更重视最近的数据。它往往对突然的变动更敏感,通常用于短期交易(例如,在日内交易中)。

简单移动平均线 (SMA)

我们不妨绘制SMA,以便我们稍后比较两者。将此行添加到你的脚本中:

plot(sma(close, 10))

这绘制了过去十天的平均值。调整括号中的数字,看看在考虑不同长度时曲线如何变化。

基于过去十天的SMA。

指数移动平均线 (EMA)

EMA会有点难以理解,但不用担心。让我们先分解公式:

EMA = (Close - 前一天的EMA) * Multiplier - 前一天的EMA

那么,这告诉我们什么呢?好吧,对于每一天,我们都会根据前一天的移动平均线计算一个新的移动平均线。乘数是“权衡”最近时期的因素,并用以下公式计算:

Multiplier = 2 / (EMA长度 + 1)

与简单移动平均线一样,我们需要指定EMA的长度。从句法上讲,绘制EMA的函数类似于SMA函数。将其与SMA一起绘制,以便你可以比较两者:

//@version=4
study("My Script", overlay=true)
plot(sma(close, 10))
plot(ema(close,10))

你可以看到两种MA之间略有差异。

内置脚本

到目前为止,我们已经手动编写了我们的代码,以便你可以了解它。但是让我们介绍一些可以节省我们时间的东西,特别是如果我们正在编写更复杂的脚本,并且我们不想从头开始编写它们。

在编辑器的右上方,点击

新建

。你会得到一个包含各种不同技术指标的下拉菜单。点击

指数移动平均线

查看EMA指标的源代码。

继续将其添加到图表中。

这个与我们的不同——你会注意到input()函数。从可用性的角度来看,这些函数很好,因为你可以点击这个框……

……并通过点击

设置

轮轻松更改弹出窗口中的一些值。

我们将在下一个脚本中添加几个input()函数来演示这一点。

绘制相对强弱指标 (RSI)

相对强弱指标 (RSI) 是技术分析中的另一个重要指标。它被称为动量指标,这意味着它衡量资产买卖的速度。RSI分数以0到100的比例表示,试图告知投资者资产是否被超买或超卖。通常情况下,如果资产的得分小于或等于30,则可能被认为是超卖的,如果得分大于或等于70,则可能被认为是超买的。

如果你前往

新建 > RSI策略

,你可以自己看到这一点。RSI通常在14个周期内测量(即14小时或14天),但你可以随意调整该设置以适应你自己的策略。

将其添加到图表中。你应该会看到现在显示了一些箭头(由代码中的strategy.entry()函数定义)。RsiLE表示可能存在做多资产的机会,因为它可能被超卖。RsiSE突出显示当资产被超买时可能做空的点。请注意,与所有指标一样,你不应该仅仅依靠这些指标作为价格将下降/上涨的可靠证据。

回测

我们有一种方法可以测试我们的自定义指标。虽然过去的表现不能保证未来的结果,但回测我们的脚本可以让我们了解它们在捕捉信号方面的有效性。

我们将在下面给出一个简单的脚本示例。我们将创建一个简单的策略,当价格跌破11000美元时做多,当价格超过11300美元时平仓。然后我们可以看看这个策略在历史上会有多赚钱。

//@version=4
strategy("ToDaMoon", overlay=true)
enter = input(11000)
exit = input(11300)
price = close

if (price <= enter)
    strategy.entry("BuyTheDip", strategy.long, comment="BuyTheDip")
if (price >= exit)
    strategy.close_all(comment="SellTheNews")

在这里,我们将enterexit定义为变量——两者都是输入,这意味着我们稍后可以在图表上更改它们。我们还设置了price变量,它获取每个周期的收盘价。然后,我们有一些以if语句形式的逻辑。如果括号中的部分为真,则其下方的缩进块将运行。否则,它将被跳过。

因此,如果价格小于或等于我们期望的进入点,则第一个表达式计算结果为真,我们将开仓做多。一旦价格等于或超过期望的退出点,第二个块将被触发,关闭所有未平仓头寸。

我们将用箭头注释图表,显示我们进入/退出的位置,因此我们已经指定了使用comment参数标记这些点的内容(在本例中为“BuyTheDip”和“SellTheNews”)。复制代码,并将其添加到图表中。

你现在可以在图表上看到指标了。你可能需要缩小。

TradingView会自动将你的规则应用于较旧的数据。你还会注意到它会从Pine编辑器切换到策略测试器选项卡。这允许你查看潜在利润的概述、交易列表以及每笔交易的个体表现。

我们已进入和退出的头寸。

总结

在本文中,我们已经介绍了使用TradingView的Pine编辑器可以做的一些基本示例。到目前为止,你应该有信心对价格图表进行简单的注释,以便从你自己的指标中获得额外的见解。

我们在这里只关注了几个指标,但是很容易创建更复杂的指标——要么从

新建

中选择内置脚本,要么自己编写。

缺乏灵感?以下文章可能会为你下一个项目提供一些想法:

希望以上内容对您有所帮助!

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc