Easy-to-use cryptocurrency trading strategy simulator and backtester
GPL-3.0 License
Easy-to-use cryptocurrency trading strategy simulator
pip3 install -r requirements.txt
.python3 main.py
.This will backtest an example strategy for trading Bitcoin.
To define the strategy, you can:
config.py
constants.indicators.py
._is_it_time_to_open_long_position
and _is_it_time_to_open_short_position
methods._check_conditions_to_close_long_position
and _check_conditions_to_close_short_position
methods.COINS_SYMBOL
: The trading pairSTART_DEPOSIT
: How much money do we have to start trading with?LEVERAGE
: Futures trading leverageOPEN_POSITION_FEE_PERCENT
and CLOSE_POSITION_FEE_PERCENT
: Exchange feesUSE_LONG_POSITIONS
and USE_SHORT_POSITIONS
: Are we trading in the futures market?TAKE_PROFIT_PERCENTS_LIST
and STOP_LOSS_PERCENTS_LIST
: Set multiple take profit and stop losses for your positionsMOVING_AVERAGE_SIZE
andINDICATORS_TIMEFRAME
: If use some indicators, you can set them up here.START_YEAR
, START_MONTH
, START_DAY
, START_HOUR
, START_MINUTE
, and START_SECOND
: Starting time for tradingEND_YEAR
, END_MONTH
, END_DAY
, END_HOUR
, END_MINUTE
, and END_SECOND
: Starting time for tradingTIMEFRAME
: The main time frame used for iterating candles and checking the take profits and stop lossesIMPORTANT_RECENT_CANDLES_TIMEFRAME
: Generated output dataset candles timeframeIMPORTANT_RECENT_CANDLES_COUNT
: Number of candles in the generated output datasetOPEN_POSITION_TIMEFRAME
: We want to open the position at some exact rounded timesREPORT_PERCENTILES_COUNT
: Number of percentiles used in the statistical analysis reportTEST_SET_SIZE_RATIO
: How big is the final generated test set of our dataset?MINIMUM_NUMBER_OF_CANDLES_TO_START_TRADING
: Do not start trading soon!plot.png
, for example:deposit_changes.csv
)positions.csv
)test.csv
and train.csv
)