最近研究R_Breaker策略,发现论坛里的策略源码有值得商榷的地方,发个帖子,大家一起探讨一下,先发截图:
description
其中

New Day

if last_bar.datetime.date() != bar.datetime.date():
应该是新的一根分钟bar的日期和上一根分钟bar的日期不一样,如新的一根是2021-11-18 9:30,last_bar是2021-11-17 14:59
那么self.day_open = bar.open_price
self.day_high = bar.high_price
self.day_close = bar.close_price
self.day_low = bar.low_price
也就是由于本交易日只有一根bar,则把这一分钟的open/high/close/low赋值给day_open/day_high/day_close/day_low
然后第二根bar合成之后,last_bar.datetime.date() == bar.datetime.date(),每根bar的日期相同,则把最新的最高价更新赋值给day_high,把新低赋值给day_low
按网上关于R_Breaker策略的定义,应由前一天的day_high和day_low来决定今日的buy_setup和sell_setup,而论坛里的策略代码中,用if day_open来定策略的六根线,应该是个错误。
以上是个人理解,请大家斧正。