LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > Pine快速入门(二)学习Pine语言的几个关键//如何编写九神的比特币拟合估值曲

Pine快速入门(二)学习Pine语言的几个关键//如何编写九神的比特币拟合估值曲

2020-11-02 金金 来源:区块链网络

上篇文章只介绍了Pine语言的最基本逻辑,今天我们直接从例子下手,而且这实例是我自己编写出来的。

有伙伴可能觉得太快,其实这是最高效的方法,拿实例练习,即使某个语法看不懂,没事,先记下来,记得那种结果的表达方式就好,然后继续往下,快速过一遍是关键。先说下我认为学习Pine语言过程中的几个重要习惯。

学习Pine语言的重要习惯

1、勤搜索

搞定kexue上网是必须的,Pine语言用的人非常多,我们遇到的任何问题,几乎前人都遇到过,所以最快的解决办法就是去找之前的提问和回答。找到专门的讨论社区和帮助文档。

2、敢尝试

很多时候我们查到的答案和我们的具体问题并不完全一致,要敢于复制代码过来进行修改和尝试,大不了就报错,错了再找,再试。

3、做笔记

一定要做笔记和错误集合。

把每次出错的地方和最终的结决方案记下来。下次遇到就能查找,久而久之,你的常用指标和策略里的常用语法就都记住了。

4、把握整体框架和逻辑

一个指标,一定是希望特定条件下显示的特定结果。这是首先要在纸上按步骤写出结果的推理过程。

今天就拿大家比较熟悉的九神的比特币估值曲线做例子,看看它的编写过程以及最后的显示是怎样的。

九神BTC估值曲线的Pine语言编写

1、明确九神BTC估值曲线的表达式

拟合的表达式是:

币龄是比特币出生了多少天(比特币的生日是2019年1月3日),即任意一天和比特币生日之间的间隔天数。但经过反复演算之后确认九神的用的起始日期是2009年1月9日,这一天是比特币正常区块开始的时间。

其中的参数5.755和16.751,随着时间的拉长,数据的增多,九神也是一值在优化,如果使用这个曲线的伙伴,记得保持对九神微博的关注,保持数据的更新。

要注意计算机对于加减乘除的识别和我们理解的一样,能够直接表达,但之外其他大部分数学运算都和我们想的不太一样,碰到这些之后,都要单独列出来。

这个表达式中,我们要解决的几个问题:

1)“币龄”代表任意一天和2009年1月9日之间的间隔天数。

定义一个天数的变量“days”,因为Pine中同类型的变量或者常量是可以直接加减的,days的表达式:

days = (time- timestamp(2009, 01, 09, 00, 00)) / (24 * 60 * 60 * 1000)

其中time是指当前的时间点函数,timestamp是指特定时间的一个函数,但它们代表的是“自UTC时间1970年1月1日00:00:00以来所经过的毫秒数”,也就是说起点都是1970年1月1日00:00:00。不管起点如何,其差值是不会变的,不影响我们计算间隔天数。

要注意,直接相减得出的时间间隔单位是毫秒,后面要换算成天,即表达式最后的“/ (24 * 60 * 60 * 1000)”。

2)对数的表达

Pine中给了最常用的两种对数表达,自然对数log(),和以10为底的对数log10(),可以直接用。

3)指数的表达

Pine中给出了以e为底的指数函数e^x,就需要把其他数为底的指数函数换算成e^x的表达式。

定义比特币估值为“pvoluation”,e^x在Pine中的表达为“exp(x)”,则

就可写为

pvoluation=exp(log(10)(5.755log10(days)-16.751))

2、输出曲线

输出函数plot中设定曲线显示的颜色和现实的形状(圆点等),之后就可以“add to chart”进行检测了。

最后输出结果如下,脚本在底部,感兴趣的伙伴可以自行试一下。

感谢阅读。

注册Tradingview平台,点击Tradingview。

有想制定自己的指标和交易策略的伙伴,欢迎大家添加微信jinvlog交流。

金金的分区间定投这两天已经停止定投,等待更高位置,对分区间定投不了解的可以点击链接:

考虑周期的定投——才是最适合普通人的投资方法

—-

编译者/作者:金金

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...