全球投资狂热背景下,大家都在寻找更好用更趁手的投资工具。
TradingView,一个几乎所有专业投资者都知道的投资者社区以及图表网站。这家创立于 2011 年的网站,在成立 5 年之后,月活跃用户数量达到了 100 万。
TradingView 拥有大量的数据,包括全球证券市场、商品、外汇等在内。同时,其产品还紧跟市场趋势。就在美国散户响应 Wall Street Bets 号召买入白银之时,TradingView 紧急上线了白银等商品超过百年的历史价格走势。
当然,最令加密货币行业用户眼熟的则是 Tradingview 内嵌于各大交易平台的小组件,用户可通过小组件直接查看行情。
Tradingview 并不仅仅局限于查看行情,其早前推出了自行设计的脚本语言「Pine Script」,并允许用户创建自定义指标并运行于 Tradingview 服务器。
本文,律动 BlockBeats 将教大家从 0 开始,5 分钟写出一些简单的指标。
此前律动 BlockBeats 曾经在《比特币下跌,宕机的 Coinbase 是否在操控比特币市场?》一文中详细介绍了近期几次比特币价格下跌时,Coinbase 平台的比特币价格都低于其他平台。并使用 TradingView 制作了 Coinbase 溢价图用于展示,但是该功能需购买 TradingView 会员,并且还不够直观。
微博用户「对冲机器」发布的代码可直观展示 Coinbase 溢价情况,律动 BlockBeats 将以此为例子,5 分钟简单理解并学会编写简单代码。
代码及图片来源微博用户「对冲机器」
代码:
study("CB-BN basis", overlay = false)
//Uses candle closes for difference so best accuracy on lower timeframs
premium = security("COINBASE:BTCUSD", timeframe.period, close) - security("BINANCE:BTCUSDT", timeframe.period, close)
premiumPercent = (premium/close)*100
plot(premiumPercent, color = iff(premium >= 0, color.blue, color.red))
plot(0, color = color.black)
如何编写指标
TradingView 主要界面可分为三个区域,最上面的行情显示区域、中间的指标区域以及编写代码区域(如不编写将不显示该区域)。
TradingView 界面
第一行、第二行等标注「//」表示注释,方便用户看懂,电脑并不会进行编译。
第五行:study("Coinbase-Binance", overlay = false)
Coinbase-Binance 此处表示为该指标在 TradingView 界面中的名称。overlay 则是确认需要将该指标添加至何处,false 表示添加至指标区域,true 表示添加至行情显示区域。
第八行:premium = security("COINBASE:BTCUSD", timeframe.period, close) - security("BINANCE:BTCUSDT", timeframe.period, close)
security("COINBASE:BTCUSD", timeframe.period, close) 表示为选择 Coinbase 交易平台 BTC/USD 交易对,并且以收盘价格作为数据源。
如选择 Bitstamp 的 BTC/USD 的开盘价作为数据源,那么可写为 security("BITSTAMP:BTCUSD", timeframe.period, open)
open:开盘价
high:最高价
low:最低价
close:收盘价
第十行:premiumPercent = (premium/close)*100
该代码显示为溢价率扩大一百倍后的数值,后者 close 代表当前行情显示区域代币的收盘价。
当然,如果此处更改为 premiumPercent = (premium/security("COINBASE:BTCUSD", timeframe.period, close)) 会更加符合用户使用。更改后,不管用户将行情切换至任何投资品种上,都表示为 Coinbase 的比特币价格与 Binance 比特币价格的溢价率,即「(Coinabse 比特币价格-Binance 比特币价格)/Coinbase 比特币价格」。
第十一行:plot(premiumPercent, color = iff(premium >= 0, color.blue, color.red))
溢价为大于或等于 0 时,显示为蓝色,否则显示为红色。颜色可随意更改,比如想显示为绿色,可将「color.red」更改为「color.green」。
第十二行:plot(0, color = color.black)
0 轴显示为黑色。
在了解完 TradingView 指标的编写逻辑之后,可以编写一些较为简单的指标,比如「交割合约溢价率」。
以计算 Binance 6 月交割合约溢价率为例,代码为:
study("Binance 6 月溢价率", overlay = false)
premium = security("BINANCE:BTCM2021", timeframe.period, close) - security("BINANCE:BTCUSDT", timeframe.period, close)
premiumPercent = (premium/security("BINANCE:BTCUSDT", timeframe.period, close))*100
plot(premiumPercent, color = iff(premium >= 0, color.blue, color.red))
通过指标,可以得知,目前 Binance 6 月交割合约相对现货的溢价率为 6.59%。
除了这些简单的指标之外,Tradingview 还支持更加复杂的脚本运算,详情可参阅 Pine Script v4 用户手册。
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia