--- persistence: redis: host: 127.0.0.1 port: 6379 db: 0 sessions: binance: exchange: binance #futures: true #margin: true #isolatedMargin: true #isolatedMarginSymbol: BTCUSDT 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: limitOrder: false canvasPath: "./output.png" symbol: BTCUSDT # kline interval for indicators interval: 4m window: 2 stoploss: 0.13% source: ohlc4 predictOffset: 2 noTrailingStopLoss: false trailingStopLossType: kline # stddev on high/low-source hlVarianceMultiplier: 0.22 hlRangeWindow: 4 smootherWindow: 1 fisherTransformWindow: 96 window1m: 8 smootherWindow1m: 4 fisherTransformWindow1m: 320 atrWindow: 14 # orders not been traded will be canceled after `pendingMinutes` minutes pendingMinutes: 10 noRebalance: true trendWindow: 576 rebalanceFilter: 1.2 #driftFilterPos: 0.5 #driftFilterNeg: -0.5 #ddriftFilterPos: 0.0008 #ddriftFilterNeg: -0.0008 # 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.01, 0.016, 0.05] #trailingActivationRatio: [0.001, 0.0081, 0.022] trailingActivationRatio: [0.0012, 0.0016, 0.01] #trailingActivationRatio: [] #trailingCallbackRate: [] #trailingCallbackRate: [0.002, 0.01, 0.1] #trailingCallbackRate: [0.0004, 0.0009, 0.018] trailingCallbackRate: [0.0003, 0.0006, 0.0019] generateGraph: true graphPNLDeductFee: false 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-09-01" endTime: "2022-09-30" symbols: - BTCUSDT sessions: [binance] accounts: binance: makerFeeRate: 0.000 takerFeeRate: 0.000 balances: BTC: 0 USDT: 1000