Develop a Strategy From Scratch With Pure Backtesting or Live Trading Template?
NewestTrader last edited by NewestTrader
I would like to use backtrader for live trading.
My preferred broker would be OANDA and I will use the backtrader-oandav20 project to connect with OANDA.
The supplied sample test script
oandav20test.pyin backtrader-oandav20 is quite close to the
Presently, I wonder how I can develop my strategy code. I would like to run it first with synthetic
csvdata that reflects what I hope the real (live) price data will look like in reality.
My question is:
Should I take a simple pure backtesting example like one of the quickstart tutorial to start with, because I can rely on the
csvdata import easily?
Or is it better to use
oandav20test.py, because then I am closer to real live trading already? And if I go this way: how would I have to call
oandatest.pyto feed it with pure
Thanks in advance!
The logic for the strategy has nothing to do with brokers or data feeds and that means you can choose the path that best suits you.
NewestTrader last edited by
thanks for your reply.
But I just struggle with the way I have to call
samples/oandatest/oandatest.pyto do a pure
If you want to do backtesting with csv files, you mostly won't need to use oanda.
Set up your csv feeds, no need to use oanda broker or oanda store. You would use the oanda store for fetching data from oanda and do live trading with oanda with your strategies.
data = btfeed.GenericCSVData( dataname='OANDA_EUR_USD_M5_MID.csv', name="primary", nullvalue=0.0, headers=True, timeframe=bt.TimeFrame.Minutes, compression=5, dtformat=('%Y-%m-%dT%H:%M:%S.%fZ'), datetime=0, time=-1, open=1, high=2, low=3, close=4, volume=5, openinterest=-1 ) cerebro.adddata(data)
But I just struggle with the way I have to call samples/oandatest/oandatest.py to do a pure csv based backtesting.
Because that is a sample meant to test the functionalities in Oanda and not a one-script-fits-all-for-universal-backtesting-and-trading-machine-for-printing-free-money-with-no-effort*
There are tens of samples. Pick one to have your skeleton or create your own. As stated above: the logic in a Strategy class is independent of data feeds and brokers, be it for backtesting or trading.
You may find some starting information in the backtrader documentation:
Basically, backtrader is doing all the magic, the store / broker just executes the requests created in backtrader or feeds backtrader with data coming in.
If you do backtesting, you would use a different broker than in live trading.
When working on a strategy, you could set up a backtesting script, which is using csv files. this data is pushed to your strategy when backtrader is running.
When your strategy creates a buy / sell / close request, this will be processed in the broker. If you do not do live trading, then you will use a different broker (if you use the oanda broker on backtesting, it would send the orders to oanda with prices from backtesting, not the live prices).
That is one of the great things about backtrader, being so flexible.
NewestTrader last edited by
thanks for your comments and input!