Python 精简多品种 MACD 趋势策略

Python 精简多品种 MACD 趋势策略

Author: Zero, Date: 2017-06-18 11:35:13

Tags: 趋势 Python MACD 多品种

需要引用小小梦公开的商品期货交易类库

python版CTP商品期货交易类库(支持2/3 测试版)

'''

/*backtest

start: 2016-01-30

end: 2016-12-30

period: 1440

periodBase: 60

mode: 0

*/

'''

class Trader:

def __init__(self, q, symbol):

self.q = q

self.symbol = symbol

self.position = 0

self.isPending = False

def onOpen(self, task, ret):

if ret:

self.position = ret['position']['Amount'] * (1 if (ret['position']['Type'] == PD_LONG or ret['position']['Type'] == PD_LONG_YD) else -1)

Log(task["desc"], "Position:", self.position, ret)

self.isPending = False

def onCover(self, task, ret):

self.isPending = False

self.position = 0

Log(task["desc"], ret)

def onTick(self):

if self.isPending:

return

ct = exchange.SetContractType(self.symbol)

if not ct:

return

r = exchange.GetRecords()

if not r or len(r) < 35:

return

macd = TA.MACD(r)

diff = macd[0][-2] - macd[1][-2]

if abs(diff) > 0 and self.position == 0:

self.isPending = True

self.q.pushTask(exchange, self.symbol, ("buy" if diff > 0 else "sell"), 1, self.onOpen)

if abs(diff) > 0 and ((diff > 0 and self.position < 0) or (diff < 0 and self.position > 0)):

self.isPending = True

self.q.pushTask(exchange, self.symbol, ("closebuy" if self.position > 0 else "closesell"), 1, self.onCover)

def main():

q = ext.NewTaskQueue()

Log(_C(exchange.GetAccount))

tasks = []

for symbol in ContractList.split(','):

tasks.append(Trader(q, symbol.strip()))

while True:

if exchange.IO("status"):

for t in tasks:

t.onTick()

q.poll()

Sleep(1000)

相关内容

更多内容

JR13 能不能每行注释下,看不太懂哦

th666 想问下如果想加入自编的函数指标的话应该加在哪里比较好?加在Trader类里面还是外面?

python macd背离_Python 精简多品种 MACD 趋势策略相关推荐

  1. 商品期货策略 之 Python 精简多品种 MACD 趋势策略框架(注释版)

    Python 精简多品种 MACD 趋势策略框架(注释版) Python超级精简的多品种MACD趋势策略框架, 代码超级精简, 注释超级详细啰嗦. >_<! 需要引用 python版CTP ...

  2. python如何用macd选股_Python Finance:如何使用macd指标进行信号策略?

    我试图了解库存数据并在python中实现它.在开始我在Python 库中使用MACD指标stockstats. 我想知道,如果我有一个特定股票的100个OHLC条目,我怎样才能使用MACD输出来产生信 ...

  3. python量化自动交易_Python量化交易之MACD'顶底背离'形态的实现,自动

    点及财经,股票期货专业投机者. 前言 股票或期货的价格波动,总会有一些可以规律可以遵循的.其中,'背离'也算是其中的一种,并且可以作为判断趋势结束或阶段调整的预警信号. 通常情况下,我们所说的'背离' ...

  4. 用python写期货量化策略,期货单品种MACD择时加ATR止损

    import numpy as np import talib import time import jqdata import talib import smtplib from email.mim ...

  5. MACD背离指标公式

    DIFF:EMA(CLOSE,12)-EMA(CLOSE,27); DEA:EMA(DIFF,9); MACD:2*(DIFF-DEA), COLORSTICK,LINETHICK2; 低位金叉:=C ...

  6. 【转】python获取计算股票技术指标DIF/DEA/MACD

    学习 3-8 115阅读4点赞0评论 python有几个股票数据获取接口,如tushare,但其只能获取到一般指标,且是积分制,即如果要获取更多的指标和接口,则需要做任务提高积分:pytdx可以获取到 ...

  7. 国内股票MACD指标计算,Python实现MACD指标计算,Talib实现MACD指标计算

    0 引言 MACD指标是最为常见的指标之一,股票每日的K线数据通过Tushare.Baostock等平台能够获取到个股及指数的Open.High.Low.Close.Volume等数据,MACD等技术 ...

  8. 双线macd指标参数最佳设置_macd线参数如何设置最佳买点,MACD指标的参数设置,MACD参数设置多少最佳...

    Q1:MACD指标的参数设置,MACD参数设置多少最佳 DIF:=EMA(CLOSE,12)-EMA(CLOSE,26); DEA:=EMA(DIF,9); MACD:=(DIF-DEA)*2; 一般 ...

  9. 【手把手教你】获取股票数据并进行量化回测——基于ADX和MACD趋势策略

    01 引言 不少喜欢量化的读者向我反馈,虽然已经掌握了Python的编程基础,但仍不知道如何切入到股票量化分析上,一是对如何获取股票数据还不太熟悉:二是拿到股票数据后不知道怎么做量化回测.实际上公众号 ...

最新文章

  1. esp ghost引导_ghost做uefi+gpt 需要什么cmd命令修复引导
  2. linux系统的5种文件类型及其属性符号
  3. 海康大华RTSP格式
  4. gSoap的“error LNK2001: 无法解析的外部符号 _namespaces”解决方法
  5. java判断字符串的值是否为0或者为空
  6. python3.6 django部署_Apache2+Django+Python3.6部署-
  7. element 输入框点击事件_Element Input输入框的使用方法
  8. JavaEE Tutorials (10) - Java持久化查询语言
  9. 【总结】6种机器学习中的优化算法:SGD,牛顿法,SGD-M,AdaGrad,AdaDelta,Adam
  10. iOS 地址智能解析器(收货地址 或 寄件地址)
  11. 手持式频谱分析仪/路测仪推荐哪一款?TFN全新RMT系列不容错过
  12. 自主导航:赋予移动机器人智能感知与运动的能力
  13. 论文阅读: Disentangled lmage Colorization via Global Anchors
  14. 深度学习基础-经典模型总结
  15. 情感分析的新方法,使用word2vec对微博文本进行情感分析和分类
  16. 用java做列车牵引计算,[_列车牵引计算及操纵示意图计算机软件的开发] 颈椎牵引器图片...
  17. 你好, View Binding! 再次再见, findViewById!
  18. Lenovo 联想 E46 E47 SLIC Marker程序
  19. ROBOTSTUDIO中基础术语、在线功能
  20. LineChart、BarChart的纵坐标设置

热门文章

  1. AndroidDialog
  2. 【redis】redis实现API接口调用调用次数的限制
  3. 白盒测试实践作业任务分配
  4. 面试中让你头疼的问题都在这儿
  5. 爱立信为T-Mobile荷兰全新的OTT TV业务提供强大支持
  6. 持久层框架之MyBatis
  7. 菜鸟笔记(一) - Java常见的乱码问题
  8. Otter-入门篇4(单向同步实践)
  9. [20160311]ora-01732.txt
  10. Zabbix实现微信告警