Strategy 中的常规下单函数主要有 3 个:买入 buy() 、卖出 sell()、平仓 close() ,它们的调用方式非常简单,大家也经常在案例中看到,交易函数会返回订单 Order 实例,通常会赋值给对象self.order : classTestStrategy(bt.Strategy):defnext(self):self.order=self.buy(...)# 买入、做多 longself.order=self.s...
backtrader.observers.Broker:记录了经纪商 broker 中各时间点的可用资金和总资产;可视化时,会同时展示 cash 和 values 曲线;如果想各自单独展示 cash 和 values,可以分别调用 backtrader.observers.Cash 和 backtrader.observers.Value; backtrader.observers.BuySell:记录了回测过程中的买入和卖出信号;可视化时,会在价格...
前面介绍的交易函数生成的都是单个订单,而且订单之间并没有什么联系,而此处介绍的交易函数 buy_bracket() 和 sell_bracket() 会一次性生成 3 个自定义类型的订单:主订单 main order、针对主订单的止损单 stop order、针对主订单的止盈单 limit order 。 buy_bracket() buy_bracket() 用于long side 的交易场景,...
self.order=None defnotify(self,order):iforder.statusin[order.Submitted,order.Accepted]:# Buy/Sell order submitted/accepted to/by broker-Nothing todoreturn# Checkifan order has been completed # Attention:broker could reject orderifnot enougth cashiforder.statusin[order.Completed,order.Canceled,order...
通过调用Strategy的buy()、sell()、close()方法来返回订单实例。 订单取消 通过调用Strategy的cancel(order)方法来取消订单 订单通知通过调用Strategy的notify_order(order)方法来通知order的状态。 订单类型: ExecTypes = ['Market', 'Close', 'Limit', 'Stop', 'StopLimit', 'StopTrail', ...
step2:在 Strategy 策略逻辑中下达交易指令 buy、sell、close,或取消交易 cancel; step3:Order 模块会解读交易订单,解读的信息将交由经纪商 Broker 模块处理; step4:经纪商 Broker 会根据订单信息检查订单并确定是否接收订单; step5:经纪商 Broker 接收订单后,会按订单要求撮合成交 trade,并进行成交结算; ...
backtrader.observers.BuySell:记录了回测过程中的买入和卖出信号;可视化时,会在价格曲线上标注买卖点; backtrader.observers.Trades:记录了回测过程中每次交易的盈亏(从买入建仓到卖出清仓算一次交易);可视化时,会绘制盈亏点; backtrader.observers.TimeReturn:记录了回测过程中的收益序列;可视化时,会绘制 TimeReturn 收益...
self.sell() elif self.buysell > 0: self.log('BUY CREATE, %.2f' % self.data.close[0]) self.buy() 定义首末时间段、行情数据、及策略, 运行回测: cerebro = bt.Cerebro() start_date = datetime.strptime(self.startDate, "%Y-%m-%d") # 回测开始时间 ...
buy/sell/close 使用隐含的broker和sizer提交买单或者卖单,close是平仓操作。 getposition(或者使用position属性)返回当前的持仓状态 setsizer/getsizer(或者使用sizer属性)用于设置默认的交易数据 像其他Line对象一样,Strategy支持参数设置功能,示例如下: AI检测代码解析 ...