网易首页 > 网易号 > 正文 申请入驻

专享策略11 | 震荡MACD与沙夫趋势(STC)

0
分享至

专享策略10 | 魔改布林+布林极限+极限宽



专享策略09 | 基于成交量的阶梯均线过滤震荡行情



得益于行情好,上半年发布的专享09和10自发布日起已经创出新高,这两个策略逻辑性强,代码简单,参数少非常适合新手学习及使用。专享08盘口策略比较特殊,实盘1个多月后处于亏损状态,目前下架,回炉重做。需要加一些价格因子进去做择时,同时对订单流量能指标的使用有了新的认识,敬请期待它重新上线吧。俱乐部是以策略源码开发,教学及实战为主,我们会继续提高产品质量和社群品质,欢迎多提意见。

今天发布的专享策略11是基于MACD指标的魔改指标,借鉴沙夫公式修改为摆动指标,我们来说一下它的指标源码:



TV上有人写好了这个指标,语言是pine,它的地址是https://www.tradingview.com/script/yOxili7R-Adaptive-Schaff-Trend-Cycle-STC-AlgoAlpha/

首先需要重写MACD,如下公式。它和传统的MACD计算很不一样,主要是通过计算相关系数、波动幅度让MACD变成一个相对指标。

calculateMACD(source, fastLength, slowLength) =>
var macd = 0.
var lag = (9 - 1) / 2
var a1 = 2 / (fastLength + 1)
var a2 = 2 / (slowLength + 1)
r2 = .5 * math.pow(ta.correlation(close, bar_index, length), 2) + .5
K = r2 * ((1 - a1) * (1 - a2)) + (1 - r2) * ((1 - a1) / (1 - a2))
macd := (close - close[1]) * (a1 - a2) + (-a2 - a1 + 2) * nz(macd[1]) - K * nz(macd[2])
ema = ta.ema(macd, 9)
macd

接下来是STC(沙夫趋势指标)计算,其实就是对上面的MACD进一步的归一化和二次平滑处理。

calculateSTC(lengthInput, fastLength, slowLength) =>
var normalizedMACD = 0.0
var smoothedMACD = 0.0
var smoothedNormalizedMACD = 0.0
var STCValue = 0.0
MACDValue = calculateMACD(close, fastLength, slowLength)
lowestMACD = ta.lowest(MACDValue, lengthInput)
highestMACD = ta.highest(MACDValue, lengthInput) - lowestMACD
normalizedMACD := highestMACD > 0 ? (MACDValue - lowestMACD) / highestMACD * 100 : nz(normalizedMACD[1])
smoothedMACD := na(smoothedMACD[1]) ? normalizedMACD : smoothedMACD[1] + smoothingFactor * (normalizedMACD - smoothedMACD[1])
lowestSmoothedMACD = ta.lowest(smoothedMACD, lengthInput)
highestSmoothedMACD = ta.highest(smoothedMACD, lengthInput) - lowestSmoothedMACD
smoothedNormalizedMACD := highestSmoothedMACD > 0 ? (smoothedMACD - lowestSmoothedMACD) / highestSmoothedMACD * 100 : nz(smoothedNormalizedMACD[1])
STCValue := na(STCValue[1]) ? smoothedNormalizedMACD : STCValue[1] + smoothingFactor * (smoothedNormalizedMACD - STCValue[1])
[STCValue-50, MACDValue]

[STCValue, MACDValue] = calculateSTC(lengthInput, fastLength, slowLength)

MACDValue := (MACDValue) / (ta.ema(high - low, slowLength)) * 100

MACDValue := ((MACDValue) - ta.ema(MACDValue, 9))/2

得到如下图:



我用tbquantpython实现了一下这个指标,如下图:



调整smoothingFactor参数可以改变STC的平滑度,然后设置红点和绿点,这两个信号是波段底部和顶部的提示,如果你有开发震荡策略的需求,可以参考一下这个指标。



这个指标有几个用法,如下代码:

alertcondition(ta.crossover(STCValue, STCValue[1]), "STC Moving Up")
alertcondition(ta.crossunder(STCValue, STCValue[1]), "STC Moving Down")

alertcondition(ta.crossover(STCValue, 0), "STC Crossover Zero")
alertcondition(ta.crossunder(STCValue, 0), "STC Crossunder Zero")

alertcondition(ta.crossover(MACDValue, 0), "Histogram Crossover Zero")
alertcondition(ta.crossunder(MACDValue, 0), "Histogram Crossunder Zero")

alertcondition(ta.crossover(MACDValue, MACDValue[1]), "Histogram Moving Up")
alertcondition(ta.crossunder(MACDValue, MACDValue[1]), "Histogram Moving Down")

用法1:当STC与前值交叉,形成图中的红点绿点。

用法2:STC大于小于0来判断趋势。

用法3:自适应MACD金叉死叉0.

用法4:MACD当前值大于小于前值。

OK,到这里我们介绍完了这个指标。现在该说说如何使用和修改这个指标,它的优点和缺点是什么。首先,优点是它能量化出短波段的波峰波谷,这个是我想利用它的最重要的地方。缺点也是这个,在趋势中不断的出现这种反手信号。



看上图的两个多头信号,我来解释这个策略的核心逻辑。副图里MACD频繁出现波峰波谷信号,这个时候我们需要用趋势模块过滤,同时用一个简单的区间模块过滤。最重要的是小区间模块和MACD波峰波谷“共振”,前一步需要把副图的红点绿点从一个点状态转化为一个序列状态。OK,当出现波谷,然后后面确实创出了小范围的新高,那么这个条件就成立了。如果出现了做空的信号,但是小范围内没有实质的下跌,那么条件就不成立。

核心:小区间模块和MACD波峰波谷产生共振。

这样做有两个好处:1.可以过滤部分震荡。2.启动点相对靠前。2-3个不相关的模块产生共振,而不是单独依赖一个模块。

核心条件:

  1. 所有品种的MACD计算参数都是默认的12,26,9。
  2. 增加趋势指引的模块,可以用均线,MACD,BOLL等趋势指标,无所谓效果都差不多。
  3. 增加小区间,主要这个“小”字,比如这个小区间仅仅是5-50周期内的高低点。
  4. 保存MACD的红点绿点信号,让它从交叉的“点”状态变成序列状态。
  5. 正反手+动态出场。











Tbquant组合绩效展示









参数优化留最近3个月样本外:



样本外3个月的绩效走势:



部分品种曲线图:

EC



LH



SA



BC



EB



AG



SN



AP



Vn.py版本(python)

默认螺纹钢888,无参数优化的绩效,拿到源码后可以自己调优。回测螺纹数据使用松鼠数据库后复权主连数据,数据格式如下:











声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
最新:落水失联两驴友被找到,人已死亡!“帮倒忙”抽烟男被骂惨

最新:落水失联两驴友被找到,人已死亡!“帮倒忙”抽烟男被骂惨

记录生活日常阿蜴
2024-06-04 17:28:40
这一次,存量房贷业主集体破防了!

这一次,存量房贷业主集体破防了!

魔都财观
2024-06-04 07:40:14
大陆已无法出席,ECFA协议再被削,不到24小时,赖清德憋出几句话

大陆已无法出席,ECFA协议再被削,不到24小时,赖清德憋出几句话

大白话瞰世界
2024-06-03 09:36:46
美大选最后关头,局势突然大变!特朗普点名中国,拜登始料未及

美大选最后关头,局势突然大变!特朗普点名中国,拜登始料未及

星辰故事屋
2024-06-03 18:41:43
《庆余年2》侯季常:范闲唯一身死的徒弟,为了做官可以不择手段

《庆余年2》侯季常:范闲唯一身死的徒弟,为了做官可以不择手段

娱乐八卦木木子
2024-06-04 13:07:33
将近40岁满脸褶,却尬演18岁少女,是谁给了她“强行装嫩”的勇气

将近40岁满脸褶,却尬演18岁少女,是谁给了她“强行装嫩”的勇气

娱乐圈十三太保
2024-05-28 13:56:53
北方人逛湖南菜市场,感觉自己来了外国:咋一个都不认识!

北方人逛湖南菜市场,感觉自己来了外国:咋一个都不认识!

阿龙美食记
2024-06-04 15:23:33
太奢侈!陆毅鲍蕾住上亿豪宅,一家四口吃个早餐碗碟竟接近30个!

太奢侈!陆毅鲍蕾住上亿豪宅,一家四口吃个早餐碗碟竟接近30个!

花花lo先森
2024-05-20 11:05:16
一女子被老公家暴,一丝不挂走在雨中:很多路人看到后掉头走了!

一女子被老公家暴,一丝不挂走在雨中:很多路人看到后掉头走了!

第7情感
2024-06-03 21:44:57
中国车企正在战术性撤退欧洲。

中国车企正在战术性撤退欧洲。

玉辞心
2024-06-02 20:17:13
退休人员好消息!养老金调整公布,企业退休能涨200元吗?

退休人员好消息!养老金调整公布,企业退休能涨200元吗?

社保小达人
2023-05-29 12:52:10
王一博身体状况惹担忧,被曝脱发还长疮,已经400多天没有戏拍!

王一博身体状况惹担忧,被曝脱发还长疮,已经400多天没有戏拍!

小咪侃娱圈
2024-06-03 16:36:13
85后落马副局长几次考公“上岸”失败,伪造学历走人才引进

85后落马副局长几次考公“上岸”失败,伪造学历走人才引进

澎湃新闻
2024-06-03 21:48:39
警号000001落马了,大快人心!

警号000001落马了,大快人心!

华人星光
2024-05-22 15:03:01
弃用朱婷闹大了!女排溃败2天官媒重拳出击 8字拷问蔡斌球迷叫好!

弃用朱婷闹大了!女排溃败2天官媒重拳出击 8字拷问蔡斌球迷叫好!

林子说事
2024-06-04 17:17:26
当之无愧!以下是中国女排主力球员的年薪情况!

当之无愧!以下是中国女排主力球员的年薪情况!

百里无心
2024-05-31 07:24:50
55岁邓文迪闪耀前夫婚礼,花枝招展的媒人,比其他三位前妻更友好

55岁邓文迪闪耀前夫婚礼,花枝招展的媒人,比其他三位前妻更友好

译言
2024-06-03 10:39:16
笑疯了!在自家公司上班是什么体验?网友:底薪200,全勤7800

笑疯了!在自家公司上班是什么体验?网友:底薪200,全勤7800

小陆搞笑日常
2024-05-30 20:01:59
蔚来最新周销量0.67万辆 连续3周位列新势力品牌第三

蔚来最新周销量0.67万辆 连续3周位列新势力品牌第三

手机中国
2024-06-04 17:10:12
恭喜张志磊!获沙特富豪赏识,出场费有望达到1亿,下场对手出炉

恭喜张志磊!获沙特富豪赏识,出场费有望达到1亿,下场对手出炉

十点街球体育
2024-06-04 15:23:23
2024-06-04 18:06:44
松鼠Quant
松鼠Quant
您身边的量化交易专家
182文章数 227关注度
往期回顾 全部

财经要闻

又一座城市,房价“鹤岗化”了!

头条要闻

两驴友被溪流冲走溺亡 律师:拉绳的蓝衣男子可能担责

头条要闻

两驴友被溪流冲走溺亡 律师:拉绳的蓝衣男子可能担责

体育要闻

一位糖尿病患者,和他的24年皇马梦

娱乐要闻

杨幂留言为热巴庆生,姐妹情深惹人羡

科技要闻

斯坦福团队抄袭国产大模型后道歉 承诺撤下

汽车要闻

2.0T+云辇-P+天神之眼 方程豹豹8还配软包内装

态度原创

家居
时尚
亲子
本地
军事航空

家居要闻

简而不冷 明朗的治愈能量

四十岁女人放弃扮嫩吧,尝试这样的贵气感搭配,美得高级大气

亲子要闻

海军的第一所幼儿园——海军青岛示范幼儿园

本地新闻

我和我的家乡|踏浪营口,心动不止一夏!

军事要闻

俄外交官:俄罗斯要在两三年内“搞定”乌克兰

无障碍浏览 进入关怀版