老Q魔改MACD:拒绝大幅回撤,威力比原版强太多了!

news2024/11/25 22:56:31

看过老Q历史文章的股友都知道,MACD是一个非常经典且依旧奋战在第一线的顶流指标。我们之前也目前主流通用的参数版本在沪深300上做了回测,17年来获得了累计365%的收益。

然而,整个沪深300大盘在这17年里也涨了超过300%,也就是说,我们的策略也仅仅比拿着不动好上一丢丢而已。这怎么能行!必须魔改一下!

文末附策略逻辑获取方式。

一、MACD的魔改思路

观察上边的收益曲线,我们很容易发现,在有些年份,经典MACD金叉策略的回撤控制得不太好,以至于前边积累的收益回吐了相当大的一部分。甚至在18年股灾的时候,还跌破了15年股灾的低点。

一般来说,回撤控制得不好有一些常见的原因。比如买卖过于敏感,以至于频繁交易,在震荡行情中被反复收割;又比如卖出比较迟钝,以至于在暴跌或漫长阴跌出现时无法及时卖出。很明显,从上图来看,这两个问题应该都存在。

那么一般解决这种问题的思路就是让买入更迟钝、让卖出更灵敏。这样做,有可能会牺牲某些区间的收益,但是假如我们从别的区间“省出来”的回撤能够抵消这些丢掉的“潜在收益”,从而获得全局上的收益提升,那我们的改造就是成功的。

我们在MACD那篇文章里说过,在不考虑结合其他指标进行组合策略时,单纯对于MACD改造的点无非是从均线算法、均线周期两个角度分别对DIFF、DEA的计算过程进行调整。大体上就是下图中画了红线的6个位置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/534345.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JDK8中的新特性(Lambda、函数式接口、方法引用、Stream)

文章目录 1. Java8新特性:Lambda表达式1.1 关于Java8新特性简介1.2 冗余的匿名内部类1.3 Lambda 及其使用举例1.4 语法1.5 关于类型推断 2. Java8新特性:函数式(Functional)接口2.1 什么是函数式接口2.2 如何理解函数式接口2.3 举例2.4 Java 内置函数式接…

高压功率放大器在换流阀冷却系统均压电极结垢超声导波中的应用

实验名称:换流阀冷却系统均压电极结垢超声导波检测方法研究 研究方向:无损检测 测试目的: 为了探究超声导波检测的灵敏度,本文构建了换流阀冷却系统均压电极结垢检测模型,详细分析了不同厚度水垢与声波信号的交互过…

【c++】哈希---unordered容器+闭散列+开散列

1.unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到 logN,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是,进…

FPGA开发基本流程详解

FPGA是一种可编程逻辑器件,与传统的硬连线电路不同,它具有高度的可编程性和灵活性。FPGA的设计方法包括硬件设计和软件设计两部分,硬件设计包括FPGA芯片电路、存储器、输入输出接口电路等等,软件设计则是HDL程序开发,以…

openCV 第四篇 角点检测、图像特征、图片拼接

本文原本打算直接简单介绍一下harris和sift,之后进行特征匹配,来一波图像拼接。 想来想去还是先介绍下原理吧,虽然没人看QAQ。可以直接点击右侧目录跳转到代码区。 本文可以完成: 角点检测 和 图像特征提取(就几行代码) 以及进…

Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程

本专栏上一篇文章中我们讲解了Win32程序入口识别,定位回调函数,具体事件处理的定位,这一章节中我们来讲解一下子窗口的创建,子窗口的回调函数,并且逆向分析子窗口消息处理过程。 文章目录 一.子窗口按钮的创建- 创建子…

charge pump的分析与应用

春节前最后一更,提前祝大家新春快乐,阖家安康,工作顺利! 定义: 电荷泵是利用电容的充放电来实现电压的转换的,输入回路和输出回路轮流导通。通过调节占空比来调节输出电压。 它们能使输入电压升高或降低&…

基于PyQt5连接本地SQLite实现简单人力资源管理系统

人力资源管理系统 使用环境:Python3.86 PyQt5.15.4 sqlite3 记录一下最近学校举办的一个程序设计比赛,题目是实现一个简单的人力资源管理系统,文末有效果展示 我认为程序是面向人类而不是面向机器的,所以我使用了PyQt5封装了一…

SpringCloud源码分析 (Eureka-Server-处理客户端续约请求) (七)

文章目录 1.处理客户端续约请求1.1 InstanceResource.renewLease()1.2 InstanceRegistry.renew()1.3 PeerAwareInstanceRegistryImpl.renew()1.4 AbstractInstanceRegistry.renew()1.6 PeerAwareInstanceRegistryImpl.replicateToPeers()1.7 PeerEurekaNode.headbeat() 1.处理客…

大数据Doris(二十二):Rollup物化索引创建与操作

文章目录 Rollup物化索引创建与操作 一、创建测试表 二、创建Rollup物化索引表

岗位少,竞争激烈,这是今年软件测试就业的真实写照,也是所有岗位的真实写照。

前两天跟一个HR朋友聊天,她表示刚在boss上发布了一个普通测试岗位,不到一小时竟然收到了几百份简历。而且简历质量极高,这是往年不敢想象的。岗位少,竞争激烈,这是今年软件测试就业的真实写照,也是所有岗位…

若依框架快速开发项目(避坑超详细)

若依框架快速开发项目(避坑超详细) 初衷: 若依框架使用及其普遍,是一个非常优秀的开源框架,框架本身的权限系统,字典设置以及相关封装,安全拦截相当完善,本人受益匪浅,学…

Python进阶实际应用开发实战(一)

目录 原型设计和环境环境设置创建新项目 原型设计和环境 原书第一章内容 环境设置 对于一个项目我们需要安装库并管理依赖项,这意味着需要有一个虚拟环境。我们使用pipenv来指定依赖项。 python -m pip install --user pipenv在命令行中启动Python脚本的时候&am…

分布式锁概念

什么是分布式锁 方案一:SETNX EXPIRE 方案二:SETNX value值是(系统时间过期时间) 方案三:使用Lua脚本(包含SETNX EXPIRE两条指令) 方案四:SET的扩展命令(SET EX PX NX) 方案五…

chatgpt赋能Python-aidlearning安装pycharm

Aid Learning: 如何安装PyCharm PyCharm是一款由JetBrains开发的用于Python编程的集成开发环境(IDE)。它提供了丰富的编辑器和调试工具,可以帮助开发者更高效地编写Python代码。本文将介绍如何安装PyCharm。 安装前准备工作 在安装PyCharm…

vue diff算法与虚拟dom知识整理(8) 手写patch实现简易版的节点第一次上dom树

上一文 我们整理了一下 patch 函数的整体过程 我不知道大家有没有保留我们之前学手写H函数时的那个案例 我们要将index.jsi还原成这样 参考代码如下 import h from "./snabbdom/h";const dom1 h("div",{props: {class: "dom"} },"文本测试…

Qt QJson 使用

文章目录 1. 简介2. 简单实例3. 结果 1. 简介 QJson 是一个用于 Qt 应用程序的 JSON 解析和生成库。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有良好的可读性和可扩展性,常用于 Web 应用程序中。QJson 将 …

Python通过natcap.invest库调用InVEST模型批处理数据(Carbon Storage and Sequestration模块)

InVEST(Integrated Valuation of Ecosystem Servicesand Tradeoffs)生态系统服务和权衡的综合评估模型,旨在通过模拟不同土地覆被情景下生态系统物质量和价值量的变化。它提供了多种生态系统服务功能评估,包括了淡水生态系统评估、…

Liunx压缩命令 - gz

gz命令详解及使用 Linux中gz命令的全称是gzip,它是一种常用的压缩程序,可将文件或目录压缩为.gz格式,以节省存储空间,同时也可以通过解压缩操作重新获取原始文件掌握 gzip 命令,可以帮助我们更加高效地进行文件压缩与…