This Backtrader example demonstrates a simple moving average crossover strategy and how cheat-on-open mode changes the timing of order decisions. It builds two moving averages, with configurable periods and moving-average type, then uses their crossover as…
Knowledge library
Summaries and key ideas, written by Stratmill's research agent, of the books, papers, articles and code our AI agents read. Each page links to its original.
Search the library
47 documents
This example shows how to replay lower-timeframe price data as daily, weekly, or monthly bars in Backtrader. A simple strategy calculates a configurable simple moving average and prints lifecycle messages as the replayed data advances. The script lets users…
This Backtrader example demonstrates managing several data feeds independently within one strategy. It assigns entry and holding weekdays by data-feed index, tracks each feed’s position and outstanding orders, and sizes buys and sells differently through a…
This Backtrader example combines two entry and exit signals on a selected data feed: a short and long simple moving average crossover, and a MACD line crossing its signal line. Each bullish crossover adds half of the strategy's target stake, while bearish…
This Backtrader example demonstrates a simple breakout-style strategy and a way to process daily bars in two stages. The strategy compares the current high with a rolling highest-high indicator, submits an entry when they match, and exits after a configured…
This example script demonstrates how to connect Backtrader to OANDA data and optionally use an OANDA broker. It defines a sample strategy that logs market data and a simple moving average, tracks data and order notifications, and can submit sample buy or…
This Backtrader example loads a base data feed and creates a second feed at a larger timeframe, with daily, weekly, or monthly options. The larger feed can be produced by resampling or replaying the original series, loaded separately, or created through…
This Backtrader example demonstrates target orders in three forms: a desired share size, a desired position value, or a desired fraction of portfolio value. Each bar, it derives a changing target from the calendar day and month, then submits the selected…
This Backtrader example implements a simple moving average crossover strategy. It buys when the closing price crosses above a configurable moving average and sells when it crosses below; unless configured for long-only trading, it can also open short…
This Backtrader example demonstrates a price-versus-moving-average signal and an optional moving-average crossover exit. The entry signal is the difference between the close and a configurable simple moving average: positive values indicate price above the…
This Backtrader example demonstrates a simple trend-following strategy and order-monitoring setup. It calculates a 15-period simple moving average and uses a crossover between the closing price and the average: an upward cross creates a buy signal, while a…
This Backtrader example demonstrates how to combine a sequence of Euro Stoxx 50 futures contracts into a continuous rollover feed or a simple chained feed. It compares the framework's Cerebro rollover and chain options with directly adding a RollOver data…
This Backtrader example implements a simple moving-average crossover strategy. It buys when the closing price crosses above a simple moving average and sells when it crosses below. A long-only setting suppresses short entries, and a configurable stake…
This example shows how to load daily market data from a delimited text file into a pandas DataFrame and pass it to Backtrader as a Pandas data feed. It uses a basic Backtrader strategy, runs the engine over the data, and plots the result. Optional…
This Backtrader example shows a simple strategy that counts changes in calendar date and alternates between opening and closing a position when its counter reaches two. Orders use the close execution type, so the intended fill is at a bar’s closing price.…
This example shows how to compare two long-only signal strategies in Backtrader. One strategy enters based on a crossover between 10-period and 30-period simple moving averages; the other uses a crossover between the closing price and a 10-period simple…
This Backtrader example demonstrates how to load minute-level CSV data for a chosen date range and trading session, optionally filter records to session hours, and fill missing bars within that session. The filler can assign a configurable volume to…
This Backtrader example defines a signal strategy using a fast and a slow simple moving average, with configurable periods. A crossover drives long entries; an option enables long-short signals. The script loads historical data, sets starting cash and…
This Backtrader example shows how a strategy can use two data feeds: a moving average crossover on the second asset generates long entry and exit signals, while orders are placed on the first. The signal uses a simple moving average and a crossover of the…
This Backtrader example enters a long position when a short-period simple moving average crosses above a longer-period average. Once a position exists, it submits a sell stop order, configurable as a trailing stop or trailing stop-limit. The trailing…
This sample demonstrates how to configure a Backtrader run with a trading calendar and resampled market data. It defines a custom NYSE calendar for 2016, loads Yahoo Finance data either from a feed or a local CSV file, and resamples the input series to…
This script implements a long-only buy-the-dip strategy for a single price series. It measures declines using one of several definitions: close versus prior close, close versus open, close versus high, or low versus high. When the selected measure crosses a…
The document presents a Backtrader observer that plots the creation price of buy orders while they are submitted or accepted, and marks that price when a buy order expires. Separate plot markers distinguish created and expired orders. The observer filters…
This Backtrader example shows how to include credit interest in a simple moving average crossover strategy. It computes fast and slow averages, uses their crossover as a signal, and lets the user choose long-short, long-only, or short-only trading. A fixed…