--- persistence: redis: host: 127.0.0.1 port: 6379 db: 0 sessions: binance: exchange: binance envVarPrefix: binance margin: true isolatedMargin: true isolatedMarginSymbol: BTCUSDT backtest: sessions: [binance] # for testing max draw down (MDD) at 03-12 # see here for more details # https://www.investopedia.com/terms/m/maximum-drawdown-mdd.asp startTime: "2022-05-01" endTime: "2022-10-31" symbols: - BTCUSDT accounts: binance: makerCommission: 10 # 0.15% takerCommission: 15 # 0.15% balances: BTC: 50.0 USDT: 10000.0 exchangeStrategies: - on: binance supertrend: symbol: BTCUSDT # interval is how long do you want to update your order price and quantity interval: 1m # ATR window used by Supertrend window: 220 # ATR Multiplier for calculating super trend prices, the higher, the stronger the trends are supertrendMultiplier: 10 # leverage uses the account net value to calculate the order qty leverage: 1.0 # quantity sets the fixed order qty, takes precedence over Leverage #quantity: 0.5 # fastDEMAWindow and slowDEMAWindow are for filtering super trend noise fastDEMAWindow: 28 slowDEMAWindow: 170 # Use linear regression as trend confirmation linearRegression: interval: 1m window: 18 # TP according to ATR multiple, 0 to disable this TakeProfitAtrMultiplier: 0 # Set SL price to the low of the triggering Kline stopLossByTriggeringK: false # TP/SL by reversed supertrend signal stopByReversedSupertrend: false # TP/SL by reversed DEMA signal stopByReversedDema: false # TP/SL by reversed linear regression signal stopByReversedLinGre: false # Draw pnl drawGraph: true graphPNLPath: "./pnl.png" graphCumPNLPath: "./cumpnl.png" exits: # roiStopLoss is the stop loss percentage of the position ROI (currently the price change) - roiStopLoss: percentage: 2% - trailingStop: callbackRate: 2% #activationRatio: 20% minProfit: 10% interval: 1m side: both closePosition: 100% - higherHighLowerLowStopLoss: # interval is the kline interval used by this exit interval: 15m # window is used as the range to determining higher highs and lower lows window: 5 # highLowWindow is the range to calculate the number of higher highs and lower lows highLowWindow: 12 # If the number of higher highs or lower lows with in HighLowWindow is less than MinHighLow, the exit is # triggered. 0 disables this parameter. Either one of MaxHighLow and MinHighLow must be larger than 0 minHighLow: 2 # If the number of higher highs or lower lows with in HighLowWindow is more than MaxHighLow, the exit is # triggered. 0 disables this parameter. Either one of MaxHighLow and MinHighLow must be larger than 0 maxHighLow: 0 # ActivationRatio is the trigger condition # When the price goes higher (lower for short position) than this ratio, the stop will be activated. # You can use this to combine several exits activationRatio: 0.5% # DeactivationRatio is the kill condition # When the price goes higher (lower for short position) than this ratio, the stop will be deactivated. # You can use this to combine several exits deactivationRatio: 10% # If true, looking for lower lows in long position and higher highs in short position. If false, looking for # higher highs in long position and lower lows in short position oppositeDirectionAsPosition: false profitTracker: interval: 1d window: 30 accumulatedProfitReport: profitMAWindow: 60 shortTermProfitWindow: 14 tsvReportPath: res.tsv