经典MACD交易策略

经典MACD交易策略

Author: Hukybo, Date: 2019-10-25 16:43:14

Tags: MACD Python

摘要

相信做过交易的人对MACD都不陌生,这是一个非常古老的技术指标,它是由查拉尔·阿佩尔(Geral Appel)在上个世纪70年代发明的,全称指数平滑异同移动平均线。本节我们将继续重温经典技术分析工具MACD,深度解析每一个计算步骤,以及如何用Python和talib库去实现它,并根据MACD比较常用的使用方法来构建策略。

'''backtest

start: 2019-01-01 00:00:00

end: 2021-01-01 00:00:00

period: 1d

basePeriod: 1d

exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]

'''

mp = 0 # 定义一个全局变量,用于控制虚拟持仓

# 程序主函数

def onTick():

_C(exchange.SetContractType, "rb000")# 订阅期货品种

bar = _C(exchange.GetRecords) # 获取K线数组

if len(bar) < 100:# 如果K线数组长度太小,就直接返回跳过

return

macd = TA.MACD(bar, 5, 50, 15) # 计算MACD值

dif = macd[0][-2] # 获取DIF的值

dea = macd[1][-2] # 获取DEA的值

last_close = bar[-1]['Close']# 获取最新价格(卖价)

global mp # 全局变量,用于控制虚拟持仓

if mp == 1 and dif < dea:

Log('多平')

exchange.SetDirection("closebuy")# 设置交易方向和类型

exchange.Sell(last_close - 1, 1) # 平多单

mp = 0 # 设置虚拟持仓的值,即空仓

if mp == -1 and dif > dea:

Log('空平')

exchange.SetDirection("closesell") # 设置交易方向和类型

exchange.Buy(last_close, 1) # 平空单

mp = 0 # 设置虚拟持仓的值,即空仓

if mp == 0 and dif > dea:

Log('多开')

exchange.SetDirection("buy") # 设置交易方向和类型

exchange.Buy(last_close, 1) # 开多单

mp = 1 # 设置虚拟持仓的值,即有多单

if mp == 0 and dif < dea:

Log('空开')

exchange.SetDirection("sell") # 设置交易方向和类型

exchange.Sell(last_close - 1, 1)# 开空单

mp = -1 # 设置虚拟持仓的值,即有空单

def main():

while True:

onTick()

Sleep(1000)

相关内容

更多内容

matlab实现macd策略,经典MACD交易策略相关推荐

  1. 海龟交易法则 matlab,【干货】经典的期货策略——海龟交易法则(二)

    原标题:[干货]经典的期货策略--海龟交易法则(二) 光阴似箭,日月如梭,唰一下一周又过去了~ 是的!众所期待的量化(程序化)策略全方位揭密时间又到啦! 上周小编给大家讲到了海龟交易法则,但是!只讲了 ...

  2. matlab中均线交易策略,高胜率交易策略,期货双向网格交易法

    内容导航: Q1:如何才能提高交易策略的胜率 高交易策略的胜率,也就是尽量确保买入后会上涨而不会下跌,其方法与交易系统本身密切相关.提高交易策略的胜率,包括两方面含义: (1)确保买入当天盈利:(2) ...

  3. 【量化策略系列】股票均值回归策略之一——配对交易策略(Pairs Trading)

    本文持续更新中.最后更新时间:11/11/2019 文章目录 1. 往期文章回顾 2. 均值回归策略简介 3. 配对交易策略简介 4. 配对交易策略构建流程 5. 代码实现与回测结果 Python 代 ...

  4. 海龟交易法则 matlab,【干货】经典的期货策略——海龟交易法则

    废话不多说,下面就让我们直接来看看海龟交易法则(后面简称"海龟")的原理~ 如何选择市场 由于"海龟"起源于美国,要求高流动性,因此小编选择了国内商品期货作为交 ...

  5. 【手把手教你】趋势跟踪交易策略的量化回测

    01 引言 趋势跟踪策略旨在根据市场趋势的方向来进行交易,即如果市场处于上升趋势,那么投资者应该买入,并且保持这种头寸直到趋势结束.同样地,如果市场处于下降趋势,投资者应该卖空,并且保持这种头寸直到趋 ...

  6. cta策略 有哪些_CTA 主流的交易策略都有哪些?

    CTA策略(Commodity Trading Advisor Strategy)称为商品交易顾问策略,也称作管理期货. 主要通过在基本和技术分析中导入数量模型,并借助计算机系统根据数量模型产生的买卖 ...

  7. 中低频量化交易策略研发01_引言

    这本书整体还是非常不错的,适合初学者,尤其是从米框,优矿聚宽等平台入手学习的,等于将idea和最终策略串联为一体了. 整体文笔较通俗,不像很多书中描述的非常高达上,整一堆没用概念来.简单,干货. 比较 ...

  8. 高频交易(二)浅谈高频交易中比较成熟的一些交易策略

    今天我们谈谈高频交易中比较成熟的一些交易策略,应用于数字货币市场. 引言: 高频交易是自动化交易的一种形式,以速度见长,利用计算机系统加入人工智能算法,以智能化方式,快速,稳健的短线持仓执行交易.其中 ...

  9. 动量将是策略-产生的原因、计算公式及交易策略和考虑因素

    动量交易策略 动量效应产生的原因 ● "反应不足",是指当上市公司出现利好信息时,其证券价格会随之上涨,但由于投资 者没有及时地接收.消化这一信息,价格对此信息的反应无法一步到位. ...

  10. BTC闪崩闪跳:什么「交易策略」能让交易员减少资金损失?

    从2018-19年的漫长熊市.到2020年的「黑色星期四」,加密货币行业经历过一次又一次的挫折和挑战,但每一次都能浴火重生,每一次都能达到新的高度.虽然比特币经常「闪跳闪崩」,但越来越多的人认识到,在 ...

最新文章

  1. junit 测试执行顺序_JUnit 5中的测试执行顺序
  2. 云评测 | OpenStack智能运维解决方案 @文末有福利!
  3. Bootstrap 分页导航的对齐方式
  4. css基础知识汇总8
  5. 秩和比算法matlab程序,Matlab学习系32. 秩和比综合评价法.docx
  6. steam怎么看邮箱绑定的账号_【一问一答】账号篇丨账号密码忘记了怎么办?不方,看这里!...
  7. ggtree/FigTree可视化系统发育树及bootstrap值
  8. ios版的chrome如何保存网页为PDF
  9. 6亿债务年底还完,老罗“真还传”即将完结
  10. mysql_帮助命令/通配搜索/help help用法(official doc)
  11. Blender物理效果教学:如何自制“牛顿摆”
  12. 修改游戏存档之植物大战僵尸
  13. 关于“TCP segment of a reassembled PDU”
  14. 【PTA】读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。c。
  15. 10100java压力测试_3DMark新增压力测试 你的电脑可靠?得先过这关
  16. 超详细:将iPhone中音乐导出到电脑里的简单方法(完美支持最新iOS15.2系统)
  17. WKwebview 白屏问题——(WebApp/HybirdApp)
  18. Android Studio 快捷键完整版
  19. 如何解决百度网盘的下载速度?
  20. JCJC错别字检测系统仅需6G内存

热门文章

  1. 土耳其央行行长当得不容易 | 经济学人早报精选
  2. node_注册页面+连接数据库+加密
  3. c语言解一元二次方程虚根oj,OJ 1040 Problem J 求一元二次方程的根
  4. android 程序控制开关飞行模式,android开关飞行模式的方法
  5. 网站建设教程:如何自己做网站,步骤有哪些?
  6. 单片机学习 8-LED点阵实验
  7. 小白快速入门| springcloud系列之-快速上手feign
  8. API 接口加密及请求参数加密
  9. 计算机美食网页毕业论文,毕业论文--美食网页计与制作.doc
  10. “绿萌”仿“大麦”演出购票APP