For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See: http://commonmark.org/help/

preventing labels for all data feeds showing when plotting



  • I have a few hundred data feeds that Im running a portfolio strategy over. I would like to plot just the observer results and perhaps one of the data feeds as a reference but I haven't figured out how to turn off the data labels showing for the trades observer.

    I am setting plotinfo.plot = False for all the data feeds except the first one which seems to work when I use just 6 of the data feeds but when I add all the data feeds I get the plot show below.

    With all feeds
    0_1532551515241_Screen Shot 2018-07-25 at 10.41.48 PM.png

    With just 6 feeds
    0_1532552121784_Screen Shot 2018-07-25 at 10.54.32 PM.png

    #run
    cerebro = bt.Cerebro()
    cerebro.addstrategy(St)
    cerebro.broker.setcash(20000.0)
    cerebro.addobserver(bt.observers.TimeReturn, timeframe=bt.TimeFrame.NoTimeFrame)
    cerebro.addobserver(bt.observers.Benchmark, data=benchmark, timeframe=bt.TimeFrame.NoTimeFrame)
    cerebro.adddata(benchmark, name='SPY')
    for feed in feeds:
        cerebro.adddata(feed[1], name=feed[0])
    results = cerebro.run()
    cerebro.plot(iplot=False, style='candle')
    
    #strategy
    for d in self.datas:
        d.plotinfo.plot = False
    self.data1.plotinfo.plot = True
    

  • administrators

    @sfkiwi said in preventing labels for all data feeds showing when plotting:

    or all the data feeds except the first one

    @sfkiwi said in preventing labels for all data feeds showing when plotting:

    self.data1.plotinfo.plot = True
    

    That's not the first one, it is the second (arrays are 0 based)

    In any case, if it works for 6 data feeds it shall work for the rest. If a data feed has plotinfo.plot set to False, its name will not get added to the list of labels to be displayed. The code doesn't know if you added 6 or 1006 data feeds. The label will simply not be added (because the entire code that plots a data feed and its indicators will be skipped)

    In the plot above there are many labels for data feeds, which is an indication that the code was executed.


Log in to reply
 

});