Pinescript Pine脚本案例解析系列【3】- MacD Custom Indicator-Multiple Time Frame+All Available Options! (CM_Ult_MacD_MTF)

Pinescript Indicators Study Strategy Analysis

简介

  • 在本案例中所使用的技术指标是来自于Tradingview平台中的一位用户”ChrisMoody"创造的.
  • 简称为"CM_Ult_MacD_MTF".
  • 能够在一个时间周期内观察其他时间周期的MACD指标属于只一个案例中独特之处.

第1段 : 第11行 - 第17行 【指标设置】

多数有牵扯到价格的技术指标的计算来源是收盘价,不例外的这一次也如出一辙.
当中包含了7个拥有input()函数的变数,当中有6组是布尔值 - Boolean的类型而剩余的是时间周期 - Resolution的类型.
全部布尔值类型的变数初始值为正值 true.


第2段 : 第19行 与 第31行 - 第33行                                                  【Resolution(时间维度/时间周期)关联段落】

res是创作者对于resolution的缩写,简易的含义就是周期,它可以是1分钟,5分钟,1小时,4小时等等的时间维度.
在以下先讲解两种变量,分别是periodtickerid

period      是当前图表中的时间周期

tickerid    是带有交易所见吗的商品简码
                         
证券类别                                                       tickerid          period
领展房产基金Link REIT 周K线图   HKEX:823      W
吉宝集团Keppel Corp         5分钟K线图    SGX:BN4 5
大众银行Public Bank         4小时K线图    MYX:1295 240
res = useCurrentRes ? preiod : resCustom
当useCurrentRes是正值的时候,在运算时候就运用回当前的时间周期,否则就使用在resCustom中自行选择的时间周期

outXXX = security(tickerid,res,XXX)  XXX是macd,signal与hist的代名词

这一个函数的意思是指K线图中的商品在res周期中XXX演算后的数值

第3段 : 第21行 - 第29行 【演算过程】

在此指标案例中,笔者默认各位读者都对于MACD这一个指标拥有一定的了解与运用,若有任何不解之处,请自行在搜索引擎上搜寻有关事项.

由于以下的参数组合在正常情形下的设置是12,26,9.但并不是所有人都适用于此设置组合,有的人希望Macd能够更迅速反应股价的变动,也有人偏向更加平稳的波动.

因此,使用input()函数在第三段开头的fastLength等等中是让使用者能够根据自己的喜好调整以上的参数组合.

在根据初始设置后,fastMA与slowMA将会分别演算"计算来源"-收盘价的12周期EMA与26周期EMA.

macd将会是fastMA减去slowMA后的数值,signal将会是macd的9周期平均线,而hist就是前两者的相减的数值.

第4段 : 第35行 - 第48行 【变数情形分类&颜色设置】

任何变数在后处拥有【】的情形下就是前__的数值,如【1】就是之前1个数值,而【5】就是回推5次前的数值.

当outHist的数值大于前值 并且 outHist在零轴之上的时候,outHist将会是正值 true.而其余的变数将会更具以下图表中的情形变动.

在outHist的颜色设置中,因为之前第一段中有hist_colorChange的变数初始设在于正值true,编机器将会根据对应以下4中情形变数的结果选择对应的颜色.

在hist_colorChange为负值false时,无论outHist是什么情形下他的绘制颜色将永远是灰色.








Pinescript Table of Analysis

第4段 : 第50行 - 第54行 【绘制设置】

只有当 smd 是正值 true 的时候,outMacd与outSignal将会根据当前的颜色设定被绘制成线条,否则两者都不会被显示在屏幕上.
同样的条件也运用在outHist上,只不过 smd 被换成 sh.
至于 circleYPosition,也同时是outSignal,只有当变数sd是正值true以及outMacd与outSignal出现交叉(无论是黄金交叉还是死亡交叉)的时候,系统才会根据变数macd_color的颜色设置绘制交叉点.
最后一个步骤就是绘制白色实体零轴线

总结

第1个小失误在于第一段的变数smd中,他在这一个变数的标题中注明了"负值时屏蔽交叉点",但在编码中并没有任何功有关事项.
如果是过是根据创作者的意图,改善版的编码应该如下
plot(sd and smd and cross(outMacd,outSignal) ? circleYPosition : na, ......)
其次,作者在第50行-第52行中加入了一段费解的编码,那就是在绘制outMacd与outSignal之前的绘制设置中添加 and outMacd 与 and outSignal
然并

其实创作者不需要特意在第48行中加入circleYPosition,因为可以在plot()函数中再次根据同样的绘制如条件,线条,宽度,颜色等等的设定再次绘制outSignal.
当然当中也不排除是为了让使用者一别的变数名称区分出有何差别.

这个视频将会介绍,如何使用一个免费的TradingView户口,不需要花费任何钱就能够享有Premium户口的其中一个功能,那就是在一个页面打开多个技术图表


ViValdi游览器:  https://bit.ly/3wuy4Zi

TradingView Ads Blocker : https://bit.ly/3pZKGoK

注册免费的TradingView户口: https://bit.ly/3xrrdQc






SOA考试高分通过后报销 UTAR精算学研究计划 SOA 考试 LTAM 的时间管理 自 2022 年以来 SOA 精算考试结构的变化 内部收益率计算指南

发表评论

后一页 前一页