@ab_trader Sorry, I forgot to share my strategy code. What I've done is passing my signal into btfeeds.PandasData.datafields and then, initialize 'self.signal' of MyStrategy from the datafields.
Posts made by MarkWhatson
RE: How could I make force selling when using pre-defined signals?
How could I make force selling when using pre-defined signals?
Hi, I'm using pre-defined buy/sell signals for trading as below snippet, but sometimes I need to dynamically handle some situations to force selling. How can I make it? I'm thinking of adding some conditions on the function 'next' in my strategy which imports bt.strategy, but I'm worried about overriding the 'next' function will make my pre-defined signals ignored.
Here's the snippet how I implemented the signals.
import backtrader.feeds as btfeeds import backtrader as bt class MyDataLoader(btfeeds.PandasData): lines = ('signal','label',) params = ( ('signal', -1), ('label', -1), ) datafields = btfeeds.PandasData.datafields + (['signal','label']) class MyStrategy(bt.Strategy): def __init__(self): self.dataclose = self.datas.close self.label = self.datas.label self.signal = self.datas.signal . . . df['signal'] = pd.Series(predefined_signals, index=df.index) # Create a cerebro entity cerebro = bt.Cerebro() data = MyDataLoader(dataname=df) cerebro.adddata(data) cerebro.addstrategy(MyStrategy)