--- persistence: redis: host: 127.0.0.1 port: 6379 db: 0 sessions: binance: exchange: binance futures: false envVarPrefix: binance heikinAshi: false # Drift strategy intends to place buy/sell orders as much value mas it could be. To exchanges that requires to # calculate fees before placing limit orders (e.g. FTX Pro), make sure the fee rate is configured correctly and # enable modifyOrderAmountForFee to prevent order rejection. makerFeeRate: 0.0002 takerFeeRate: 0.0007 modifyOrderAmountForFee: false exchangeStrategies: - on: binance drift: canvasPath: "./output.png" symbol: BTCUSDT # kline interval for indicators interval: 15m window: 2 stoploss: 0.2% source: close predictOffset: 2 noTrailingStopLoss: false trailingStopLossType: kline # stddev on high/low-source hlVarianceMultiplier: 0.23 hlRangeWindow: 5 smootherWindow: 1 fisherTransformWindow: 9 # the init value of takeProfitFactor Series, the coefficient of ATR as TP takeProfitFactor: 1.2 profitFactorWindow: 5 atrWindow: 12 # orders not been traded will be canceled after `pendingMinutes` minutes pendingMinutes: 3 noRebalance: true trendWindow: 12 rebalanceFilter: 3 # ActivationRatio should be increasing order # when farest price from entry goes over that ratio, start using the callback ratio accordingly to do trailingstop #trailingActivationRatio: [0.007, 0.015, 0.02, 0.05] trailingActivationRatio: [0.007, 0.011] #trailingCallbackRate: [0.005, 0.003, 0.002, 0.001] trailingCallbackRate: [0.002, 0.001] generateGraph: true graphPNLDeductFee: true graphPNLPath: "./pnl.png" graphCumPNLPath: "./cumpnl.png" #exits: #- roiStopLoss: # percentage: 0.35% #- roiTakeProfit: #percentage: 0.7% #- protectiveStopLoss: # activationRatio: 0.5% # stopLossRatio: 0.2% # placeStopOrder: false #- trailingStop: # callbackRate: 0.3% # activationRatio is relative to the average cost, # when side is buy, 1% means lower 1% than the average cost. # when side is sell, 1% means higher 1% than the average cost. # activationRatio: 0.7% # minProfit uses the position ROI to calculate the profit ratio # minProfit: 1.5% # interval: 1m # side: sell # closePosition: 100% #- trailingStop: # callbackRate: 0.3% # activationRatio is relative to the average cost, # when side is buy, 1% means lower 1% than the average cost. # when side is sell, 1% means higher 1% than the average cost. # activationRatio: 0.7% # minProfit uses the position ROI to calculate the profit ratio # minProfit: 1.5% # interval: 1m # side: buy # closePosition: 100% #- protectiveStopLoss: # activationRatio: 5% # stopLossRatio: 1% # placeStopOrder: false #- cumulatedVolumeTakeProfit: # interval: 5m # window: 2 # minQuoteVolume: 200_000_000 #- protectiveStopLoss: # activationRatio: 2% # stopLossRatio: 1% # placeStopOrder: false sync: userDataStream: trades: true filledOrders: true sessions: - binance symbols: - BTCUSDT backtest: startTime: "2022-01-01" endTime: "2022-07-26" symbols: - BTCUSDT sessions: [binance] accounts: binance: makerFeeRate: 0.000 takerFeeRate: 0.00075 balances: BTC: 1 USDT: 5000.0