当前位置: 首页 > news >正文

wordpress网站模板/郑州网络推广哪家口碑好

wordpress网站模板,郑州网络推广哪家口碑好,功能网站模板,网站放视频代码量化交易学习笔记(1) 价格突破策略策略思想回测结果核心代码总结策略思想 指标 使用SMA和收盘价 买入信号 价格出现连续4根k线的收盘价下跌,并且收盘价突破sma50 订单 出现交易信号后,价格回调2%,添加买入订单&#x…

量化交易学习笔记(1) 价格突破策略

    • 策略思想
    • 回测结果
    • 核心代码
    • 总结

策略思想

指标

使用SMA和收盘价

买入信号

价格出现连续4根k线的收盘价下跌,并且收盘价突破sma50

订单

出现交易信号后,价格回调2%,添加买入订单,止损价格当前价格×(1-0.05),止盈价格当前价格×(1+0.1)

回测结果

回测Value
初始资金10000
期货品种ETH
时间级别1H
回测时间2017.7.15 - 2022.7.24
倍数1
手续费1%
总盈利-8624.11

在这里插入图片描述

核心代码

加载数据

def load_csv_data(data_path, size=None, start=None, end=None):return bt.feeds.GenericCSVData(dataname=data_path,nullvalue=0.0,fromdate=start,todate=end,dtformat="%Y-%m-%d %H:%M:%S",timeframe=bt.TimeFrame.Minutes,datetime=0,high=1,low=2,open=3,close=4,volume=5,openinterest=-1)def create_cerebro(cash=10000.0, commission=0.01, stake=1, strategy=None):""":param data: 数据:param cash: 初始资金:param commission: 佣金率:param stake: 交易单位大小:param strategy: 交易策略:return:"""cerebro = bt.Cerebro()# 设置启动资金cerebro.broker.setcash(cash)# 设置交易单位大小cerebro.addsizer(bt.sizers.FixedSize, stake=stake)# 设置佣金率为千分之一cerebro.broker.setcommission(commission)# 显示回测过程中的买入和卖出信号cerebro.addobserver(bt.observers.Value)# 显示了回测过程中的买入和卖出信号cerebro.addobserver(bt.observers.BuySell)return cerebro

策略

import datetime
import backtrader as bt
from utils import load_csv_dataclass BreakthroughStrategy(bt.Strategy):"""突破策略价格出现连续4根k线的收盘价下跌,并且收盘价突破sma50"""params = dict(break_through=0.03,callback=0.02,  # 价格回调比例period=50,  # sma周期down_day=4,  # 连续下跌天数stop_loss=0.05,  # 止损比例take_profit=0.1,  # 止盈比例validity_day=3,  # 订单有效期expired_day=1000,  # 订单失效期)def notify_order(self, order):if order.status == order.Completed:self.holdstart = len(self)if not order.alive() and order.ref in self.orefs:self.orefs.remove(order.ref)def __init__(self):self.holdstart = Noneself.dataclose = self.datas[0].close  # 收盘价self.sma = bt.ind.SMA(period=self.p.period, plot=True)  # SMAself.orefs = list()  # order列表,用于存储尚未执行完成的订单def next(self):# 有尚未执行的订单if self.orefs:return# 尚未进场if not self.position:# 获取近几日收盘价用于判断是否连续下跌last_closes = list()for i in range(1, self.p.down_day + 1):last_closes.append(self.dataclose[-i])# 连续N日下跌 在 sma上方if last_closes == sorted(last_closes, reverse=True) and self.dataclose[0] > self.sma[0]:p1 = self.dataclose[0] * (1.0 - self.p.callback)p2 = p1 - self.p.stop_loss * p1p3 = p1 + self.p.take_profit * p1# 计算订单有效期validity_day = datetime.timedelta(self.p.validity_day)expired_day = valid3 = datetime.timedelta(self.p.expired_day)size = self.broker.getcash() / self.data.high[0]# 使用bracket orders设置买入卖出if size is None:size = 1os = self.buy_bracket(size=size,price=p1, valid=validity_day,stopprice=p2, stopargs=dict(valid=expired_day),limitprice=p3, limitargs=dict(valid=valid3), )# 保存激活的的订单self.orefs = [o.ref for o in os]

主程序

if __name__ == '__main__':path = "D:\\work\\git\\Tools\\static\\data\\ETHUSDT_1h.csv"data = load_csv_data(path)cerebro = create_cerebro()cerebro.adddata(data)cerebro.addstrategy(BreakthroughStrategy)cerebro.run()cerebro.plot()

总结

目前从回测结果来看,该策略在破产的的边缘试探,表现结果十分糟糕。下一篇文章会对该策略进行优化,使策略可持续盈利,加油!!!!

http://www.lbrq.cn/news/1362565.html

相关文章:

  • 演示网站怎么做/什么是网站推广
  • 为什么网站建设要将access数据库文件变成asa/网站制作公司咨询
  • 网站建设站点无法发布/杨谦教授编的营销课程
  • 拉新app推广/河南seo推广
  • 北京网站建设培训/2345网址导航官网下载
  • 企业年报查询网站/免费访问国外网站的app
  • it培训机构包就业靠谱不/杭州网站seo推广
  • 专业网页制作费用/抖音seo怎么做的
  • 四川通信建设工程有限公司网站/做高端网站公司
  • 怎么提高网站的访客量/引擎搜索对人类记忆的影响
  • 如何在阿里云做网站/沈阳关键词推广
  • 设计网站behance/百度推广有效果吗
  • 一起做财经网站/长沙seo行者seo09
  • 网站优化怎样提高网站用户体验/找谁做百度关键词排名
  • 做个自己的网站需要多少钱/长春疫情最新消息
  • 企业网站建设的账务处理/安卓内核级优化神器
  • 重庆营销网站建设/最近三天的新闻大事摘抄
  • 安庆网站建设专业/竞价排名采用什么计费方式
  • 网站开发定制企业/怎么可以在百度发布信息
  • 银川网站建设培训哪家好/小说网站排名
  • 网站平台怎么建立/爱站网关键字挖掘
  • 做蓝牙音箱在什么网站上找客户/seddog站长之家
  • 化妆品公司网站源码/搜索引擎竞价排名
  • 中国企业网银怎么转账/seo关键词优化排名公司
  • 网站建设服务合同 律师/谷歌查询关键词的工具叫什么
  • 安州区建设局网站/爱站网 关键词挖掘
  • 淄博 网站seo优化/刷关键词指数
  • 如何给自己的公司网站做优化/线上营销渠道主要有哪些
  • 做网站电销/品牌策划公司哪家好
  • 说明书得制作需要哪些材料/南京关键词优化服务
  • ref和reactive的区别
  • 向量空间模型
  • Docker 国内可用镜像
  • STM32-ESP8266通过MQTT与阿里云通讯
  • C++中多线程和互斥锁的基本使用
  • LangGraph认知篇-Command函数