类 workbooks 的 open 方法无效_backtrader代码第十一步 —— 策略类初览

本文深入探讨backtrader库中的Strategy类,涵盖了类的构造、属性和方法,包括_Itype、lines、qbuffer、_periodset等关键属性,以及next_open、_oncepost_open、_start、_stop等核心方法。此外,还介绍了添加指标、分析器、观察对象的操作,以及订单管理、头寸查询等功能。
摘要由CSDN通过智能技术生成

一、简介:

本节主要介绍backtrader中的Strategy类,分为两部分:

  1. 介绍backtrader类的构造结构
  2. 介绍backtrader类的属性与方法

内容介绍目的:让读者对Strategy类有一个整体感知


二、backtrader类图

053739351d666e4d023aac7bbcf22ee1.png

三、strategy属性方法

  1. 加载相关对象类
  2. 产生信号
  3. 通知信号处理
  4. 相关查询工作

1、属性

  • _Itype: 线迭代器属性 默认StratType
  • lines:线属性 默认(‘datetime'), 数据线中第一条线为datetime

二、方法

  • qbuffer
    值=-2,缓冲保存指标,该指标的plotinfo.plot为False
    值=-1,缓冲保存指标
    值=1,保存数据和所有线迭代器对象
  • _periodset:
    取所有指标对象以及_clock属性以及数据线及策略本身的_minperiod的最大值
  • _addwriter/_addindicator/_addanalyzer_slave/_addanalyzer/_addobserver
    添加writer对象/添加指标对象
    添加附属分析器(基于分析器的输出结果)/添加分析器,会处理anname
    添加观察对象
  • _getminperstatus
    获取datas数据中距离_minperiods最远的距离
  • prenext_open:pass
  • nextstart_open/next_open: pass
  • _oncepost_open
    如果minperstatus<0, 运行next_open方法
    如果minperstatus==0,运行nextstart_open方法
    如果minperstatus>0, 运行prenext_open方法
  • _oncepost
    更新指标对象往前一步
    如果minperstatus<0, 运行next方法
    如果minperstatus==0,运行nextstart方法
    如果minperstatus>0, 运行prenext方法
    分析对象按minperstatus运行分析器得_next, _nextstart, _prenext方法
    观察者对象的_analyzers对象按minperstatus运行分析器_next, _nextstart, _prenext方法
    观察者对象按照minperstatus和once参数运行相关方法
  • _start
    确定_minperiod参数
    分析器初始化
    观察器初始化
    切花状态至2
    设置_minperstatus到无线大
    运行start方法
  • _getwriterheaders
    获取指标器和观察器中的字段名,前两个字段是name和len
  • _getwritervalues
    获取指标器和观察器中的数据值
  • _getwriterinfo
    获取策略参数 获取指标器中得lines和param 获取观察器中得lines和param 获取分析器中得参数和分析指标
  • _stop
    运行stop方法
    运行分析器的_stop函数
    设置状态为1
  • clear
    清空_orderspending, _tradespending
  • _addnotification
    订单未被执行,如果quicknotify在线,则调用_notify方法处理,否则返回
  • _notify
    quicknotify在,处理qorders和qtrades,否则处理_orderspending,_tradingspending
    调用notify_order方法处理非历史order
    调用ontify_trade方法处理成交单
    分析器处理order单和trade单
    调用notify_cashvalue处理cash和value
    调用notify_fund处理cash,value, fundvalue, fundshares
    分析器调用notify_cashvalue和notify_fund
  • add_timer
    添加时间器,用于控制交易时间
  • notify_**: timer, cashvalue, fund, order, trade, store, data
  • getdatanames/getdatabyname
  • cancel: 取消订单
  • buy/sell/close
    传递给broker执行开平动作
  • buy_bracket/sell_bracket
    一揽子下单,包括 下单/止损单/止盈单
  • order_target_size/order_target_value/order_traget_percent
    由系统自动生成订单,使得最终持仓量等于目标持仓量/目标持仓价值/目标增加比例
  • getposition/getpositionbyname/getpositions/getpositionsbyname
    通过data和broker获取头寸相关信息
  • _addsizer/setsizer/getsizer/getsizing
    操作头寸类相关
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值