Nerve Knife.ex4黄金交易策略

2023-10-14 11:59

本文主要是介绍Nerve Knife.ex4黄金交易策略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Nerve Knife.ex4

注:首先强调投资有风险,本文仅作技术算法交易,不能作为入市依据。若对你有任何帮助,请不忘为本文点赞

        在开始本文之前首先明确我的几个交易上的价值观,若你不认同,可跳过下面精采的5000字了(为什么是5000?多少字,这不重要,在此我只是向中华文明致敬,并希望以自己从事信息化解决方案多年的经验为中国金融献出一点思想)。我的核心价值观如下:

  1. 金融交易是一个复杂系统,轻微的差别导致结果大相径庭。复杂系统是一个科学研究的领域术语,意为不能通过部分还原整体的行为。比如:人就是一个复杂的系统,你不能通过计算细胞的行为来推测出人的情绪。金融交易作为复杂系统,导致的结果是:完全相同交易策略的机器,甚至跟着某个大牛的交易信号,最终赢利情况也有很大差别。
  2. 技术指标的用途是告诉你现在处于什么状态,并不能预测未来,你永远不知道下一刻会发生什么。几乎所有技术指标都能准确反映过去的行情。为什么呢?因为其只是用了些不同的数学(统计学)方法直观的告诉了你:过去发生了什么。而现状是由过去导致的,故指标是能够反映现状的。若你通过技术指标知道现在是上涨行情,做多是正确的。问题是,你无法预知能涨到什么时候。下文我将说明我怎么去解决这个问题。
  3. 顺势而为,借势而进,造势而起,乘势而上!哈哈,其实我只想说,逆势加仓不是我的风格。

以下是5000字!会重点说明我的交易策略是如何做到一年翻3倍,及为什么不会爆仓。你也可以依此策略来编写量化交易程序。当然,mt4上的我已经编写完成,近期会考虑开源出来。其他交易系统也可以依此策略来编写。(刚刚收到消息,上交所的交易系统完成了升级,可以在10ms来完成一笔量化交易)

一、整体策略

我会使用m30做大趋势判断,m1做小趋势判断,实时行情变动作为走势判断(这里回应上文,技术指标表达过去的情况,只有当前价格变动才是最直接的反映,过去是客观的,未来很主观)。以下是整个策略的核心逻辑:

 顺的时候开仓加仓,不顺的时候减仓,这是不会错的。

二、合适的开仓量及开仓位置保可以快速盈利平仓,及低仓位过渡风险期

默认的参数是1000美元(美分)前5单的开仓是分别是:0.01手(1手100盎司)、不多于0.02手、不多于0.04手、不多于0.08手、不多于0.16手,第6单以顺势1000点就盈利平仓计算购买量。

当大趋势的技术指标与小趋势的技术指标一致且强烈,这说明这走势已经成形,并且很可能可以持续一段时间,是个开仓的好时机。这时侯,我选择的方式是再追踪几百点,看行情价格是否如指标反映再开仓。若已经有同向操作的仓位,开单的矩离大于550点,再开始追踪开创,减小开仓位置太集中的风险。

至于为什么是550点,这是我的技术指标判断小趋势行情的落差中位值是1810点。也就说有一半的情况,小趋势走1810点之后会反过来,这种反过来有可能预示着大的行情将要反转,我希望低仓位过渡(实际上大多情况下不超过1张单,下文会说明我是怎么做到,除非1盎司黄金的落差有1000美元,不然不会爆仓)。另外前5单也是成倍递增的,这是希望可以快速盈利平仓。

第6单是一张可以1秒救地球的单,我们改了个名字“海豹特击队”。若前5单一直顺势加仓都无办法盈利平仓,就在极其严格的条件下启动海豹特击队了:当前行情突破前3条m5 k线的最高价或最低价3%。

特别注意了,这里所说的盈利平仓是指,这6张单加起来盈利,并不是某一张单盈利。

三、3个仓位池设计确保不息工作

      趋势单是当前依把第二点描述加仓开仓的单,是盈利的主力(一个聪明的设计肯定不止一种赢利方式,哈哈)。但当技术指标判断大趋势(M30)已经反过来了,就得先把与新趋势下做单方向相反的单先锁起来,在新方向下继续依据第二点描述做单。此时锁定起来的单,形成锁定单仓位池。

     锁定单意思就是说之前行情是做多的,现在该做空了,那就不要在做多的方向上补单了。也不是说锁定后就不管它了,而是降低其盈利要求,只要它任何一张单独的单达到盈利1000点(即1美元),就开始追踪止赢,直到回撤300点(0.3美元),就盈利平仓。这样做一方面可以有一定机率再次降低风险的仓位(简单逻辑,开仓最大的单总是先盈利,而且更有趣的是有一定机率转向的时候整体浮亏,最后的单是浮盈的),另一方面是不要错过任何一个盈利的机会

      最后要说的是保留单。做多做空再做多,那么原来因转换趋势而锁定的做多订单就得捡起来了。但此时有可能捡起来的订单,开单价与现时行情差矩太大,这样会导致快速补到4、5张单,也不能快速平仓,高仓位风险就来了,而且浪费行情。更糟糕的情况是,还未平仓,趋势又转了,这下一下子就会锁住非常高的仓位了。保留单仓位池就是解决这个问题的,锁定的单开仓价与行情价差太大,就先忽略它,做趋势单。直到价差小于3000点(假设第5张单与行情差3000点,此时浮亏大约是10%了),就按对应的开单方向转入锁定池或趋势池。

       另外,保留单有可能会保留很长时间,这不用担心。若理解了上面描述的,你应该知道,保留单基本都是低仓位的单,而且双向都有。首先,这在一定程度已经自带对冲功能了,其次行情总会向某一方向走,时间长了终会解除保留的。再者,按1盎司黄金落差100美元(100!)算,最多会形成双向的6张单(我预留10个坑位),最大浮亏也不超过30%。这是浮亏,不是真亏,就放着,让它跑回来就行了。还有,若你发现一张0.01手的单进入了锁单池或保留单并浮亏越来越大,请忽略它,总有机会让它盈利的。退一万步说,这张单能让你爆仓的条件是每盎司黄金上涨或下跌1000美元,但若真能有1000美元幅度,你会赚到笑。若双向都有单,那就真不用担心,自觉形成对冲了,哈哈。

四、三档移动止赢机制设计确保利润最大化

    这是一个标准的移动止赢机制,比如第1档:当前趋势的订单总浮盈达到1000点(3美元)开始追踪,如果一直上涨,上涨到10美元、30美元都不会平仓,直到从最高点减少500点(0.5美元)才平仓。

     这里特别的是,我设计三档移动止赢机制,这三档都只是对趋势单有效。(实质上非趋势单是不会触碰到)

五、大小趋势加管壁突破互相咬合的技术指标再次降低风险

    大小趋势(m30及m5)判断是结合hiken ashi smoothed 及macd技术指标,但大小趋势的判断准则上略有不同

   大趋势要稳定,否则短暂的反向可能会导致反向订单的产生,造成反向仓位风险。看上图尾段has绿色的位置,若这图是在m30上的,则会判断为弱趋势,不改变做单方向,当然也不会再继续加仓。直至macd柱(看前一条k线)走到零轴上方并且has是绿色(看前一条k线),这时候才会判断为上升。这样以has为主,通过macd的组合为大趋势滤波,可以稳定平均时间在9小时以上的一波大行情。如图上红框都会稳定做sell单

    小趋势要反应敏捷,在顺势时果段加仓,快速实现趋势单盈利平仓,在逆势时果段减仓降低风险。同样,看上图尾段has绿色的位置,若这图是在m5上的,则会判断为上升,只要macd柱在singnl线上方(看当前k线),并且has绿(看当前k线)即可。要敏捷为什么不用m1呢?因为我们还需要稳定一小段时间让ea有足够时间去赢利平仓

   也有小趋势上has与macd判断是相反的时候,这时候其实是个振荡期,已经一定机率预示小趋势会反转,真进一步说,有一定机率预示着大趋势也会反。也就是做单方向可能需要反过来了。所以做小趋势变弱开始,就会追踪盈利减仓了。和上面说的一样,盈利一单追踪止赢减一单。

    这里还有一问题,就是如我价值观2所说的,技术指标是过去的反映。假若当前金价突破大涨或者跳水,技术指标是来不及反映的。这里我通过5条1分钟k线反向突破管壁开仓不加仓的策略去识别。管道壁这个思路来源于这个ea的指导者,也是发起人(下文会提及),这是行家的20年经验。下图1引自我与他的联天记录。当前后来,我通过一些数学方法验证其实是有科学根据的,下图2是我用python输出最近一周的区间突破值的散点图。横坐标是向下突破值,纵坐标是向上突破值,红色是我的m5组合判断为下降,绿是上升,蓝是弱趋势。有趣吧,一周38万个行情数据,38万个点,形成了一线直线。得出的道理很简单,蓝点弱趋势是行情反转概率最高的地方,在这地方不加仓(趋势下第2单之后)就是了。但开仓,若不开仓这么会让ea非常安全,但也经常不做单。上文说过了:其实低仓位那怕行情反转也无关系

 

      还有一件有趣的事:has默认是用6条k线做移动平均线的,6条5分钟的k线刚好30分钟。然后我再用5条1分钟线来做行情的管壁突破。这会不会是一个非常严紧的趋势判断组合呢? 

六、印象深刻的一些失败的试验

  1. 选用更敏感的指标及更快的k线。
  2. 浮亏过大对冲控制风险。

不细说了,主要原因是现在是北京时间9月1日17点31分。

七、感谢及补充说明

       上文很多数据计算是按1000美元的本金算的,实际我的ea设计复利机制。进入了量化交易,你就得适应与浮亏共存,只要一开仓浮亏就存在,当盈利了就平仓,这是本策略的运作机制

   本ea的开发及测试是从7月22日开始(为什么我记得清楚,因为这是我的机器上MT4最早的复盘数据),到本文编写完成,相熟的个别朋友已经在实盘上盈利了。1个月可以完成开发,不是强调我的编码能力有多强(哈哈,自信还是有的),而是因为我们有很强的行业专家作经验指导。这里要感谢贾总把20年经验变成一页页的a4文档,实际上在我刚开始编码时,我连什么是浮亏都得问。也要感谢锋哥、kj等人的支持,凭信任直接上实盘测试,也给了很多有价值的反馈。

同时我也想向同事证明,我们公司定位:不挑行业“做最好的信息化解决方案”,是可行的。我们差了的经验,我们的合作伙伴有,我们只需要做好信息化的这一块即可!对了,还得感谢一本书《金字塔原理》。依靠文字描述是无法达到编码的严紧级别的,这它的mice法则,是它的金字塔结构思想,让我理顺及补充每一种可能的情况。故,我也要咱们的每一个同事必须认真读一遍。

八、nk的版本升级日志证明我是怎么走过来的。

写在最后:回应标题,挑战马上开始了,1年不爆仓翻3倍。本文第1张图就是记录我模拟盘的数据。我从1000开始,在开发测试过程中亏损到400。另外,若有想法你是可以在csdn通过我编写的其他解决方案找到的联系方式的,哈哈,请继续5000字

这篇关于Nerve Knife.ex4黄金交易策略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/210346

相关文章

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

缓存策略使用总结

缓存是提高系统性能的最简单方法之一。相对而言,数据库(or NoSQL数据库)的速度比较慢,而速度却又是致胜的关键。 如果使用得当,缓存可以减少相应时间、减少数据库负载以及节省成本。本文罗列了几种缓存策略,选择正确的一种会有很大的不同。缓存策略取决于数据和数据访问模式。换句话说,数据是如何写和读的。例如: 系统是写多读少的吗?(例如基于时间的日志)数据是否是只写入一次并被读取多次?(例如用户配

Flink任务重启策略

概述 Flink支持不同的重启策略,以在故障发生时控制作业如何重启集群在启动时会伴随一个默认的重启策略,在没有定义具体重启策略时会使用该默认策略。如果在工作提交时指定了一个重启策略,该策略会覆盖集群的默认策略默认的重启策略可以通过 Flink 的配置文件 flink-conf.yaml 指定。配置参数 restart-strategy 定义了哪个策略被使用。常用的重启策略: 固定间隔 (Fixe

Java后端微服务架构下的API限流策略:Guava RateLimiter

Java后端微服务架构下的API限流策略:Guava RateLimiter 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,API限流是保护服务不受过度使用和拒绝服务攻击的重要手段。Guava RateLimiter是Google开源的Java库中的一个组件,提供了简单易用的限流功能。 API限流概述 API限流通过控制请求的速率来防止

未雨绸缪:环保专包二级资质续期工程师招聘时间策略

对于环保企业而言,在二级资质续期前启动工程师招聘的时间规划至关重要。考虑到招聘流程的复杂性、企业内部需求的变化以及政策标准的更新,建议环保企业在二级资质续期前至少提前6至12个月启动工程师招聘工作。这个时间规划可以细化为以下几个阶段: 一、前期准备阶段(提前6-12个月) 政策与标准研究: 深入研究国家和地方关于环保二级资质续期的最新政策、法规和标准,了解对工程师的具体要求。评估政策变化可

面对Redis数据量庞大时的应对策略

面对Redis数据量庞大时的应对策略,我们可以从多个维度出发,包括数据分片、内存优化、持久化策略、使用集群、硬件升级、数据淘汰策略、以及数据结构选择等。以下是对这些策略的详细探讨: 一、数据分片(Sharding) 当Redis数据量持续增长,单个实例的处理能力可能达到瓶颈。此时,可以通过数据分片将数据分散存储到多个Redis实例中,以实现水平扩展。分片的主要策略包括: 一致性哈希:使用一

集群环境下为雪花算法生成全局唯一机器ID策略

雪花算法是生成数据id非常好的一种方式,机器id是雪花算法不可分割的一部分。但是对于集群应用,让不同的机器自动产生不同的机器id传统做法就是针对每一个机器进行单独配置,但这样做不利于集群水平扩展,且操作过程非常复杂,所以每一个机器在集群环境下是一个头疼的问题。现在借助spring+redis,给出一种策略,支持随意水平扩展,肥肠好用。 大致策略分为4步: 1.对机器ip进行hash,对某一个(大于

数据库归档策略

数据库迁移策略 为备战双11,需要将数据库中的相关表(历史订单)进行归档,以便腾出更多的空间迎接订单的暴增。作者经过尝试,得出自认为最优的解决方案。下面给出数据库归档策略及示例代码。 现有条件: 1.现有两个数据库:db-A 以及 db-B; 2.两个库中有字段相同的表:tba(表中只有字段订单id–rx_id(long型) 有索引); 3.归档库的tba中还有17年整年的归档数据。 4.由于单

2024 年高教社杯全国大学生数学建模竞赛 C 题 农作物的种植策略 参考论文 无水印

持续更新中,2024年数学建模比赛思路代码论文都会发布到专栏内,只需订阅一次!  完整论文+代码+数据结果链接在文末!  订阅后可查看参考论文文件 第一问 1.1 问题重述 这个问题围绕的是华北山区的某乡村,在有限的耕地条件下,如何制定最优的农作物种植策略。乡村有 34 块露天耕地和 20 个大棚,种植条件包括粮食作物、蔬菜、水稻和食用菌。除了要考虑地块的面积、种植季节等,还要确保

【redis】数据量庞大时的应对策略

文章目录 为什么数据量多了主机会崩分布式系统应用数据分离架构应用服务集群架构负载均衡器数据库读写分离 引入缓存冷热分离架构 分库分表微服务是什么代价优势 为什么数据量多了主机会崩 一台主机的硬件资源是有上限的,包括但不限于一下几种: CPU内存硬盘网络… 服务器每次收到一个请求,都是需要消耗上述的一些资源的~~ 如果同一时刻处理的请求多了,此时就可能会导致某个硬件资源不够用了