Strategy Docs

This is a full list of all strategies that WolfBot supports.

Configuration options which are present in many or all strategies:

  • order:The order to execute. Can be: buy|sell|closeLong|closeShort. The strategy will automatically update the order according to your open position. In other words, closeLong equals closeShort and buy equals sell for stop-loss and take profit strategies.
  • priceTolerancePercent:optional, default 0.0 (use last trade price) - The max percent higher/lower the limit price shall be compared to the last trade price. This gives you the advantage of a market order - getting your order filled immediately the best available price - with the safety of a maximum price in case the orderbook is very thin.
  • pair:Enter the currency pair you want to trade with this strategy. For example: USD_BTC, BTC_ETC,...
  • candleSize:The candle size in minutes this strategy will use for technical analysis and other indicators that depend on candles.
  • tradeStrategy:The name of the strategy to execute buy/sell orders. Useful to only buy/sell based on 2nd strategy data (for example forwarding the buy order from a strategy with 12h candles to a RSI strategy with 15min candles to execute the trade on RSI oversold...). This strategy must be added to your config too.
  • orderStrategy:More advanced alternative to the 'tradeStrategy' setting. If used, this strategy will pass a TriggerOrderCommand to the 'orderStrategy' (instead of just reacting to the buy/sell signal). See the docs of TriggerOrderCommand and the TriggerOrder strategy for details. This strategy must be added to your config too.
  • fallback:Enable this to use this strategy as a fallback strategy only. This means that it will only execute buy/sell orders if there is already an open position. Closing existing position will be completely disabled (i.e. done by the main strategy).
  • enableLog:Print all strategy actions to the log of the bot.
  • percentDecrease:Decrease the minimum interest rate of your loans by this percentage every hour if not all of your funds have been taken as loans.
  • currency:Enter the currency (USD, BTC, ETH,...) of which you want to place loans.
  • tradingFees:Set the maker/taker trading fees for the exchanges you want to do arbitrage on. This information is used by WolfBot before executing arbitrage trades to ensure that the arbitrage opportunity is profitable.
  • tradingFeeDefault:The default trading fee to use if the exchange is not listed in the 'tradingFees' setting.
  • N:optional, default 20 - The time period for MA of BollingerBands.
  • K:optional, default 2 - The factor for upper/lower band of BollingerBands.
  • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands.
    All MA types:
    0=SMA, 1=EMA, 2=WMA, 3=DEMA, 4=TEMA, 5=TRIMA, 6=KAMA, 7=MAMA, 8=T3
  • notifyBeforeStopSec:optional, default 0 - Send a notification (for example to the smartphone) x seconds before the stop executes. A value of 0 means disabled.
  • time:optional, default 0 seconds - After the stop price is reached start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above the stop price before the counter reaches 0 seconds.
  • limitClose:optional, default false - If enabled the trailing stop will be placed as a limit order at the last trade price (or above/below if makerMode is enabled). Otherwise the position will be closed with a market order.
  • makerMode:optional, default false. Whether to adjust all order rates below/above bid ask rates to ensure we only pay the lower (maker) fee.
  • forceMaker:optional, default false - Only place a maker order (not paying the higher taker fee). Order will get adjusted in case the price moves away from it.
  • flipPosition:Flip (reverse) a position on each trading signal. This means a buy signal will close an existing short position first (if any) and then open a long position with the amount specified in the signal (and vice versa for sell signals).
    When this setting is disabled (default) it will just buy the amount specified in the signal which might mean there is still a net short position after buying.
    This setting is mostly useful with TradingView signals. Most strategies will rather just do a close signal followed by a buy/sell.
  • thresholds:
    • up:The minimum difference in percent EMA/SMA crossover strategies must have between the long and short line to make a buy trade.
    • down:The minimum difference in percent EMA/SMA crossover strategies must have between the long and short line to make a sell trade.
    • persistence:The minimum number of candle ticks the up/down threshold must be crossed to open a trade. This value starts at 1 which means immediately.
    • sidewaysPercent:The bot assumes the market goes sideways if the percentage in price change between the current candle and 'long' number of candles back is less than this value. Some strategies will not trade in sideways markets, while others will only trade in sideways markets.

Strategy specific configuration options for all trading strategies:

  • NOOP:
    • This strategy does nothing. It is just a sample and placeholder.
    • sample:Change the 'sample' strategy property.
  • NotificationTest:
    • This strategy sends a notification every minute. Use this to test your (smartphone) notification setup.
      It does not perform any trades.
    • message:The text included in your notification.
  • PlanRunner:
    • Strategy that emits buy/sell signal based on your configured steps in config. Steps to take action are price points, support and resistance lines,... What makes this strategy powerful is the ability to combine it with any other strategy (including technical indicators). So you can for example configure it to: 'Buy if BitCoin price falls below 6.000 USD and the 1h RSI is below 30 (and the 2h MACD momentum is increasing and...)'
    • orders:
      • An array of orders that shall be executed if their conditions are met
      • action:The action to execute. Can be: buy|sell|closeLong|closeShort
      • comp:Execute the action if the price is above or below the configured rate? Use: <|>
      • rate:The rate when to execute the the defined action.
      • expirationPercent:optional, default 3% - Expire orders after they move away x% from the set rate.
      • position:optional, default 'none' - The position the strategy has to be in for the order to be executed.
      • volume:optional, default 0 - The min volume of the last candle for the trade to be executed.
      • volumeCandleSize:optional, default 60 min - The trade period in minutes for 'volume'.
      • ticks:optional, default 0 - The number of candle ticks to wait before executing the order. 0 = execute immediately
      • reason:optional - The reason for this trade. Used for logging and notifications only.
      • indicators:optional, default no indicators - Define a list of additional indicators that must be met for the order to be executed. Indicator config has to be added separately just like any other strategy (any strategy that emits buy/sell signals can be used). Only checked once if the signal from ALL specified indicators matches (on the last tick before execution).
    • waitRepeatingTradeMin:optional, default 600 min. Wait x minutes before executing the same order again (in case the market moves rapidly).
  • PositionReopener:
    • A strategy that re-open a previously closed position (closed by WolfBot or manually) after price moves again a certain percentage in the direction of your previous position (from the close price).
      This is helpful if you have a strong bias in one direction but also want to trade cautious at a support/resistance line and always place a stop.
      This strategy should run on a low candle size (1min) to react quickly.
      You can use this strategy with manual stops too. It will re-open positions that have not been closed by WolfBot.
    • reOpenRateFactorLong:optional, default 1.0 - The rate that must be reached (higher than previous closing rate) to re-open a previously closed long position. The current market rate will be multiplied by this. Values above 1.0 mean a higher rate, below 1.0 mean a lower rate.
    • reOpenRateFactorShort:optional, default 1.0 - The rate that must be reached (lower than previous closing rate) to re-open a previously closed short position. The current market rate will be multiplied by this. Values above 1.0 mean a higher rate, below 1.0 mean a lower rate.
    • reOpenAmountPerc:optional, default 100%. The amount in percentage of the previously closed position that shall be re-opened. You may use values above 100% to increase your position site.
    • expiryMin:optional, default 360 min - How many minutes a previously closed position shall be queued for re-opening. Use 0 to never let scheduled orders expire.
    • waitOpenMin:optional, default 0 = immediately - How many minutes to wait at least before re-opening a position.
    • expirationPercent:optional default 1.0% - Only re-open a previous position if price has changed less than this amount in percent since the position was closed.
    • reopenOncePerMinutes:optional, default 0 min = unlimited - How many times to re-open a position at most within this specified interval. Use this to prevent a position constantly flipping and costing fees.
    • makerMode:optional, default false. Whether to adjust all order rates below/above bid ask rates to ensure we only pay the lower (maker) fee.
  • BitmexSwagger:
    • Strategy looks at the BitMEX leaderboard and publicly posted positions (in shoutbox) and goes with the trend of the last 24 hours. It will wait for the chosen indicator high/low to join the direction of the majority of traders.
      This strategy works very well for daytrading with candle sizes from 30min to 2h.
      This strategy will only positions. You should combine it with a stop-loss and/or take profit strategy.
      You can run this strategy on any exchange with any currency pair (that you think behaves similar to XBTUSD on BitMEX).
    • goLongPercentage:optional, default 65% - The minimum percentage of leaders and shoutbox traders that must go long to open a long position with them.
      You can use values below 50% to trade with the minority of the last 24 hours.
    • goShortPercentage:optional, default 65% - The minimum percentage of leaders and shoutbox traders that must go short to open a short position with them.
      You can use values below 50% to trade with the minority of the last 24 hours.
    • confirmationIndicator:optional, default empty = none - The indicator to use to wait for confirmation to open a position. Available indicators: RSI|StochRSI|CCI|MFI
    • low:optional, default 50 - Only go short if the confirmation indicator is below this value.
    • high:optional, default 50 - Only go long if the confirmation indicator is above this value.
    • interval:optional, default 14 - The number of candles to use for the high/low calculation of the confirmationIndicator.
    • maxGoLongPrice:optional, default 0 = any price - The maximum price to open a long position.
    • minGoShortPrice:optional, default 0 = any price - The minimum price to open a short position.
  • BollingerBands:
    • Strategy that emits buy/sell based on the Bollinger Bands indicator. Our assumption is that the price will always jump between the upper and lower band (as in a sideways market). Consequently, at the upper we sell and at the lower band we buy. If the price stays at the upper/lower band for 'breakout' candles, we assume this breakout will continue.
    • breakout:optional, default 0 - The number of candles the price has to stay at the upper/lower band to assume a breakout.
    • percentBThreshold:optional, default 0.01 - A number indicating how close to %b the price has to be to consider it 'reached'.
  • BollingerBouncer:
    • Strategy that sells on the upper Bollinger Band and buys on the lower band. Our assumption is that the price will always jump between the upper and lower band (as in a sideways market). This strategy only trades within the value area of the volume profile, which is when price is within the range where 70% of trades take place using default settings. Additionally the current candle volume must be 'minVolumeSpike' above average (SMA) of the latest 'interval' candles. This strategy waits with the market entry until 'waitEntrySec' has passed and keeps track of the last buy/sell prices to ensure it doesn't trade a a loss in prolonged sideways markets.
      See PingPong strategy for a simpler version which doesn't keep track of the last buy/sell prices.
    • interval:optional, default 48. The number of candles to compute the volume profile and average volume from.
    • volumeRows:optional default 24. The number of equally-sized price zones the price range is divided into.
    • valueAreaPercent:optional, default 70%. The percentage of the total volume that shall make up the value area, meaning the price range where x% of the trades happen.
    • waitEntrySec:optional, default 300. How many seconds price has to stay at or outside the Bollinger Bands before opening a trade.
    • clearTradeTicks:optional, default 8. After how many candles a previous buy/sell trade shall be removed, allowing to trade at a possibly worse price again.
    • stopBand:optional, default middle. At which Bollinger Band this strategy starts placing a trailing stop.
    • minVolumeSpike:optional, default 1.1. The min volume compared to the average volume of the last 'interval' candles to open a position.
    • percentBThreshold:optional, default 0.01 - A number indicating how close to %b the price has to be to consider it 'reached'.
    • trailingStopPerc:optional, default 0.05% ( 0 = disabled) - The trailing stop percentage that will be placed after the opposite Bollinger Band has been reached.
    • pauseTicksOnLoss:optional, default 12. Pause trading for x candles after a position is closed with a loss.
  • BollingerBreakouts:
    • Strategy that emits buy/sell based on the Bollinger Bands indicator. Our assumption is that the price will always jump between the upper and lower band (as in a sideways market). Consequently, at the upper we sell and at the lower band we buy. If the price stays at the upper/lower band for 'breakout' candles, we assume this breakout will continue. Additionally we use the Aroon indicator to assume a breakout if up/down is at 100. In that case we wait (don't trade based on Bollinger) and trade based on Aroon if it stays at 100 for 'breakout' candles.
    • breakout:optional, default 0 - The number of candles the price has to stay at the upper/lower band to assume a breakout.
    • percentBThreshold:optional, default 0.01 - A number indicating how close to %b the price has to be to consider it 'reached'.
    • interval:optional, default 25 - The number of Aroon candles to compute the Aroon trend from.
    • aroonHigh:optional, default 96 - The value 'Aroon Up' must have to be considered high.
    • aroonLow:optional, default 50 - The value 'Aroon Down' must have to be considered low.
  • BollingerDayTrader:
    • Strategy that looks at MACD histogram (or EMA) to check if we are in an up or down trend. It will then open a position when we cross the Bollinger middle line and keep it open until we cross the middle line again (or the opposite line as a more risky stop). If we are in a sideways market: It uses Aroon and requires both <= 50 and trade between upper and lower band. Works well with 1 hour candles. Should still be used with StopLossTurn because we might never reach the closing band (unlikely). warm up time: >= 35 candles (default parameters), more Bollinger strategies: https://tradingsim.com/blog/bollinger-bands/
    • percentReached:optional, default 0.05 - A number indicating how close to %b the price has to be to consider it 'reached'.
    • trendingBbMax:optional, default 0.15 - The max above/below 0.5 (the middle of %b bands) to go long/short in trending markets.
    • tradeMarkets:optional, default both - In which markets this strategy shall open positions. The Aroon indicator is used to check if we are in a sideways market. Values: trending|sideways|both
    • stopBandTrending:optional, default middle - The band to close a position if we are in a trending market. Values: middle|opposite
    • delayTicks:optional, default 1 - Keep a position open for at least x candle ticks to avoid stopping immediately.
    • keepPriceOpen:optional, default true - Keep the position open if the last candle close-value price was higher/lower than the current rate. This means if we are outside of the Bollinger Bands stop, but the last candle was moving in the same direction as our open position.
    • short:optional, default 12 - The number of candles for the short EMA of the MACD indicator.
    • long:optional, default 26 - The number of candles for the long EMA of the MACD indicator.
    • signal:optional, default 9 - The number of candles for the signal line of the MACD line (short EMA - long EMA).
    • trendIndicator:optional, default MACD - The indicator to use in trending markets. Currently only MACD is supported.
    • interval:optional, default 25 - The number of Aroon candles to compute the Aroon trend from.
    • aroonSidewaysLevel:optional, default 50 - Consider the market sideways if both AroonUp and ArronDown values are <= x.
    • volumeAvgCandles:optional, default 3 - How many candles to look back to compute the average volume.
    • volumeSpikeFactor:optional, default 1.9 - How much higher the current candle volume must be (than average) to allow opening trend positions on the opposite Bollinger Band.
  • BollingerStop:
    • A stop strategy that closes a position if we reach the opposite (or middle) line of Bollinger for a specified amount of time. Works well with 1 hour candles.
    • percentReached:optional, default 0.05 - A number indicating how close to %b the price has to be to consider it 'reached'.
    • stopBand:optional, default middle - The band to close a position. Values: middle|opposite
    • delayTicks:optional, default 1 - Keep a position open for at least x candle ticks to avoid stopping immediately.
    • keepPriceOpen:optional, default true - Keep the position open if the last candle close-value price was higher/lower than the current rate. This means if we are outside of the Bollinger Bands stop, but the last candle was moving in the same direction as our open position.
  • CCI:
    • Strategy that emits buy/sell based on the CCI indicator. We go long on CCI high and short on CCI low. Optionally you can provide CCI values to where to close the long/short position (default 0). CCI measures the current price level relative to the average price level over a given time interval. It's an unbound indicator, meaning low and high have no limits (unlike RSI).
    • low:optional, default -100 - Open a short position after CCI goes below this value.
    • high:optional, default 100 - Open a long position after CCI goes above this value.
    • closePosition:optional, default false - Close a position when reaching closeShort or closeLong values.
    • closeShort:optional, default 0 - Close a short position after CCI goes above this value.
    • closeLong:optional, default 0 - Close a long position after CCI goes below this value.
    • interval:optional, default 20 - The number of candles of the SMA for the CCI average price calculation.
    • mode:default 'trend' - If set to 'trend' this strategy goes long on 'high' and short on 'low'. If set to 'reversal' it goes short on 'high' and long on 'low'.
      The reversal mode works better with larger candles (>1h). Values: trend|reversal
  • CandleRepeater:
    • Strategy that assumes the candle of the previous day will repeat itself on the next day (trends tend to continue). Works best with large candle sizes such as 24h (1440 min) or 12h (720 min). This strategy needs StopLoss and/or TakeProfit strategies to close positions. Similar to SimpleAndShort and DayTrendFollower strategy.
    • maxPrevUpCandlePercent:The maximum % the last candle can increase to assume the trend will continue and open a long position.
    • maxPrevDownCandlePercent:The maximum % the last candle can decrease to assume the trend will continue and open a short position.
    • tradeDirection:optional, default up - The direction in which this strategy shall open positions. Values: up|down|both
  • DayTrader:
    • A strategy that checks for crosses of the 7-day and 2-day EMA (values can be customized). Additionally it uses Aroon indicator to confirm trends (down trends are only assumed if Aroon matches the EMA trend). It's an unaggressive daytrader, meaning it will only issue maker fee orders.
    • interval:optional, default 30 - The number of candles for Aroon to look back.
    • minVolatility:optional, default 0.05 - Don't open positions below this value (value not relative to prices).
    • makerOnly:optional, default true - Place only maker orders (never pay the taker fee).
    • aroonMax:optional, default 96 - The min value Aroon Up/Down must reach to be considered an up/down breakout in price.
    • aroonLow:optional, default 50 - The max value the other Aroon value can have for the up/down trend to be confirmed (prevent trading in sideways markets).
    • CrossMAType:optional, default SMA - The indicator to use to look for line cross signals to identify an up/down trend. Values: EMA|DEMA|SMA
    • short:The number of candles for the short moving average.
    • long:The number of candles for the long moving average.
  • DayTrendFollower:
    • Strategy that looks at the daily trend of the market (trends tend to continue). It then trades on a small candle size (30 min) in that market. Opens multiple positions daily. Developed for fast moving markets (XRP and medium cap coins), but works extremely well in low volatility markets with 2% daily change (LTC). This strategy needs StopLoss and/or TakeProfit strategies to close positions (closeLossCandles can be StopLoss). Similar to CandleRepeater and SimpleAndShort strategy.
    • entryMode:Enter the market after setback % or by candlestick patterns.
    • entrySetbackPercent:The percentage the last candle has to go against the daily trend to find a good entry point. Can be 0 to use dynamic setback: >= historyCandles average movement
    • dynamicFactor:optional, default 1.0 - A factor to multiply the dynamic setback with.
    • maxDailyTrend:optional, default 0 (disabled) - The max percentage of the daily trend to assume it will continue.
    • historyCandles:optional, default 10 - The number of candles to use for dynamic setback.
    • closeLossCandles:optional, default 0 - Close an existing position if it's in loss for x candles.
    • trendLineDays:optional, default 0 (disabled) - Use a high + low trendline for x days to close a position immediately if the line gets crossed.
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. Values: up|down|both
  • DirectionFollower:
    • Strategy that tries to identify a trend/direction using ADX. Then it follows that trend using SAR as a trailing stop-loss. candle sizes 60 - 1440.
    • interval:Number of candles to use for ADX indicator.
    • adxTrend:ADX will be considered trending when above this value.
    • adxMaxTrend:optional, default 0 (disabled) - ADX must be below this value. prevents opening a position too late.
    • initialStop:optional, default false - Use the candle high/low of the current candle as initial stop on sell/buy actions.
    • accelerationFactor:optional, default 0.02 - SAR indicator Acceleration Factor used up to the Maximum value.
    • accelerationMax:optional, default 0.2 - SAR indicator Acceleration Factor Maximum value.
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. 'notify' means you will only receive notifications to do a trade. 'watch' only computes the indicators for manual inspection. Values: up|down|both|notify|watch
  • DirectionRunner:
    • Strategy that emits buy/sell signal based a some indicators it looks for. hose indicators are full (secondary) strategies. The direction of this strategy will change every time ALL strategies emit a trade signal in the same direction (buy or sell).
    • direction:optional, default long - The initial direction this strategy is set to open a position. This value is being updated by the strategies set in the 'longTrendIndicators' setting.
    • enterImmediately:optional, default false - Don't wait for the indicators to change their buy/sell signal. Enter the market on the first signal.
    • longTrendIndicators:Set the direction automatically based on long trend indicators such as EMA. Each indicator here must have it's own config added to your current config file.
    • volume:optional, default 0 - The min volume of the last candle for the trade to be executed.
    • volumeCandleSize:optional, default 60 - The trade period in minutes for 'volume'.
    • ticks:optional, default 0 (immediately) - The number of candle ticks to wait before executing the order.
    • indicators:optional, default RSIScalper - Some technical indicators or strategies to look for the right moment to open a position in our 'direction' value from config. Only checked once (the last tick). Each indicator here must have it's own config added to your current config file.
    • exitIndicators:optional, default RSI - Indicators/Strategies to exit the market.
    • waitRepeatingTradeMin:optional, default 300 - How many minutes to wait before we can trade again (before existing trades get cleared). 0 = never = on bot restart. Counter starts on close of a position.
  • EarlyStopLoss:
    • A stop loss strategy that looks at fast price movements (RSI with small candle size) and exits the market immediately. We could try to enter the market like this too, but this should be combined with more signals (such as RSI and Bollinger) in a different strategy to prevent false positives.
    • low:Below this value RSI will be considered oversold. The strategy will immediately close a long position.
    • high:Above this value RSI will be considered overbought. The strategy will immediately close a short position.
    • interval:optional, default 6 - The number of candles to use for RSI computation.
    • profitLow:optional, default 0 (disabled) - RSI value to close a long position sooner if it currently has profit.
    • profitHigh:optional, default 0 (disabled) - RSI value to close a short position sooner if it currently has profit.
    • spikeClose:optional, default 0 (disabled) - Close a position if the price (current vs last candle) moves x% into the opposite direction. Simply put: If there is a price spike against our position.
    • historyCandle:optional, default 36 - How many candles to look back to compare if price really is a spike. Set 0 to disable it.
  • IndicatorDivergence:
    • Strategy that trades on bullish and bearish divergence.
      A bullish divergence is when the price makes a lower low (LL) while the chosen indicator makes a higher low (HL). A bullish divergence is the moment to open a long position.
      A bearish divergence is when the price makes a higher high (HH) while the chosen indicator makes a lower high (LH). A bearish divergence is the moment to open a short position.
      This strategy only opens positions. You need a stop-loss and/or take profit strategy.
    • divergenceIndicator:optional, default RSI. The indicator to use to check for bullish/bearish divergence on new price highs/lows. values: RSI|CCI|MFI
    • low:not used, just set internally for indicator to work
    • high:not used, just set internally for indicator to work
    • interval:optional, default 14 - The number of candles the divergence indicator shall keep in history.
    • divergenceHistory:optional, default 16 - The number of candles we go back to compare price vs indicator highs/lows.
    • percentIndicatorTolerance:optional, default 0.5% - The percentage the new indicator value can be lower/higher as the previous high/low to still be considered an indicator divergence. You can use negative values to require the indicator to have a bigger difference to the previous value.
    • minVolumeSpike:optional, default 1.1. The min volume compared to the average volume of 'interval' candles to open a position at a divergence.
    • maxGoLongPrice:optional, default 0 = any price - The maximum price to open a long position.
    • minGoShortPrice:optional, default 0 = any price - The minimum price to open a short position.
  • IntervalExtremes:
    • A strategy that remembers the 24h, 3 day, etc.. high/low price points and opens a position once that price is reached. Additionally it keeps track of RSI and market buy vs market sell orders (called sentiment here) and can notify you at desired values. (Could also be achieved with Aroon strategy.) If tradeDirection is set accordingly, it will then trade either breakouts or reversals (depending on the 'mode' setting). It also counts bullish/bearish candlestick patterns and can notify you about them.
    • tradeDirection:optional, default both - In which direction shall this strategy trade. 'watch' means it only computes (indicator) values. Values: both|up|down|watch
    • mode:Do we assume prices bounce between 'tradeInterval' highs & lows or breakout to new extremes? This settings decides if we open a long position on a new price high or a short (resp. on a new price low). Values: bounce|breakout
    • tradeInterval:The time interval to look for extreme price points to trade on. Values: halfDay|daily|2Days|3days|weekly|2Weeks|monthly
    • minRuntime:optional, default 12 h - How long (in hours) the strategy must collect data before trading.
    • notifyPriceInterval:optional, default '' (disabled) - Send notifications if the price reaches a new high/low.
    • patternExpiryDays:optional, default 2 - Remove identified candlestick patterns again after x days.
    • notifyPatterns:optional, default 0 (disabled) - Send notifications for identified candlestick patterns after this amount has been found.
    • low:optional, default 0 (no notifications) - Below this value RSI will be considered oversold. You will receive notifications on every candle tick.
    • high:optional, default 0 (no notifications) - Above this value RSI will be considered overbought. You will receive notifications on every candle tick.
    • interval:optional, default 25 - The number of candles to use for RSI computation. A higher value means the RSI will lag more and be less responsive to new price movements.
    • sentimentLow:optional, default 0 (no notifications) - If the percentage of market buy orders is below this value the market is considered oversold.
    • sentimentHigh:optional, default 0 (no notifications) - If the percentage of market buy orders is above this value the market is considered oversold.
  • KAMA:
    • Strategy that emits buy/sell based on the KAMA indicator.
    • interval:optional, default 30 - The number of candles to use for the slow EMA for the slowest KAMA smoothing constant.
    • useTrueRange:Use 'true range' for KAMA computation instead of candle close values.
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. 'watch' only computes the indicators for manual inspection. Values: up|down|both|watch
  • MakerFeeOrder:
    • A strategy that makes a one order as maker (not paying taker fee). The rate will be as close as possible to the rate of the last public trade. Useful as a trade strategy (execution strategy) with other strategies or if you want to manually buy a large amount for the cheaper maker fee.
    • order:The order to submit. Values: buy|sell
  • MACD:
    • Strategy that emits buy/sell based on the MACD indicator. You can open a position on MACD signal line crossovers (most common, default setting) when the histogram is 0 or alternatively you can open positions on decreasing momentum against the current momentum (buy in downside momentum). Use 'openDecreasingHist' for this. This strategy can also close positions if the upside/downside momentum is decreasing for 'takeProfitTicks' candle ticks.
    • short:Number of candles for the short EMA line.
    • long:Number of candles for the long EMA line.
    • signal:Number of candles for the MACD signal line (candles for EMA(short) - EMA(long)).
    • takeProfitTicks:optional, default 0 (disabled) - Close a position with profit early if the MACD histogram decreases for x candles.
    • closeLossEarly:optional, default true - Close positions at a loss after takeProfitTicks too.
    • noiseFilterFactor:optional, default 2.5 - Increase the max histogram after a loss trade. Useful to protect further losses in sideways markets.
    • histogramIncreaseFactor:optional, default 1.05 - Only open a position if the histogram increases/decreases by this factor.
    • closeSidewaysMarkets:optional, default false - Close a position in sideways markets at the first tick with a profit.
    • openAgainPriceChange:optional, default 0.3% - How much the price has to change at least to open a long/short position again (in the same direction as the previous position).
    • openDecreasingHist:optional, default 0 = open on Histogram 0 (minimum). A value > 0 means we open on Histogram max after the histogram value decreases for x candles.
    • interval:optional, default 0 (disabled). Use the Aroon indicator to only trade if we are in a trending market (not sideways). This is the number of candles for the Aroon indicator.
    • trendCandleThreshold:optional, default 76 - The min value of the Aroon up/down to open a long/short position (to prevent opening positions in sideways markets).
  • DEMA:
    • Strategy that emits buy/sell based on DEMA, EMA or SMA indicator crosses of the short and long line. A buy signal is given when the sort line (faster) crosses above the long line (slower). A sell signal when the short line crosses below the long line.
    • CrossMAType:optional, default DEMA - The indicator to use. Values: DEMA|EMA|SMA
    • short:Number of candles for the short EMA line.
    • long:Number of candles for the long EMA line.
    • autoSensitivity:optional, default false - Automatically adjust how strong a line crossing must be based on the current market volatility.
    • minVolatility:optional, default 0.01 (0 = always open positions) - Min Bollinger Bandwidth value to open/close a position. Increasing this value prevents opening positions in sideways markets.
    • closeDecreasingDiff:optional, default 0 (disabled). Close a position if the line diff is decreasing for x candle ticks.
    • resetLastCloseCount:optional, default 10 (0 = disabled) - After how many candles shall the last close line diff be reset to 0.
    • dynamicPersistence:optional, default false. Decrease the persistence count on high volatility markets.
  • Ichimoku:
    • Strategy that buys and sells depending on signals from the Ichimoku Clouds indicator. This indicator is mostly used to show support and resistance as well as the trend direction.
      A bullish signal occurs when:
      Price moves above Cloud (trend)
      - Cloud turns from red to green (ebb-flow within trend)
      - Price Moves above the Base Line (momentum)
      - Conversion Line moves above Base Line (momentum)
      A bearish signal occurs when:
      - Price moves below Cloud (trend)
      - Cloud turns from green to red (ebb-flow within trend)
      - Price Moves below Base Line (momentum)
      - Conversion Line moves below Base Line (momentum)
      This strategy only opens positions. You need a stop-loss and/or take profit strategy.
    • conversionPeriod:
    • basePeriod:
    • spanPeriod:
    • displacement:
  • MFI:
    • Strategy that emits buy/sell based on the MFI indicator. MFI is an oscillator that contains both price and volume. You can think of it as RSI with volume.
    • low:Below this value MFI will be considered oversold. The strategy will queue a buy order to be executed after 'trendCandles' going up.
    • high:Above this value MFI will be considered overbought. The strategy will queue a sell order to be executed after 'trendCandles' going down.
    • interval:The number of candles to use for MFI computation.
    • trendCandles:optional, default 1. Wait for x candles in the same direction as MFI before opening a position. 0 = immediately, 1 immediately on current candle, 2 = after 1 full tick
    • mode:default 'trend' - If set to 'trend' this strategy goes long on 'high' and short on 'low'. If set to 'reversal' it goes short on 'high' and long on 'low'.
      The reversal mode works better with larger candles (>1h). Values: trend|reversal
  • OBV:
    • Strategy that emits buy/sell based on the OBV indicator. We look if OBV makes new highs/lows on price highs/lows. Then we assume the trend to continue (breakout). Otherwise we open a position in the opposite direction. This strategy only opens positions. You need a stop-loss and/or take profit strategy.
    • interval:optional, default 14 - Use 0 for unlimited (since bot is collecting candles).
    • openReversal:optional, default true - Open a position in the opposite direction if price fails to make a new high/low on OBV max.
  • OneTimeOrder:
    • Place a one-time order once the price reaches a certain level can not be done with a stop because a buy stop triggers at increasing price (and sell at decreasing). Also useful with a trade strategy such as RSIScalpOrderer to wait for the order to be put in at the right moment.
    • order:The type of the order. Values: buy|sell
    • stop:The trigger (and price) at which to place the order.
    • comp:optional, default buy <, sell > - Does the price have to be higher or lower than the stop? 'pass' means the price has to pass this threshold. Values <|>|pass
    • forceMaker:optional, default false - Only place a maker order (not paying the higher taker fee). Order will get adjusted in case the price moves away from it.
  • OrderBookPressure:
    • A strategy that watches the order book to see how much money is needed to rise/lower the price by x percent. Then it assumes the market will move in the 'cheaper' direction and trades accordingly. Works well on highly leveraged markets such as OKEX futures. Exchanges have to be fast (responsive), so Bitfinex is also a good candidate even though they allow hidden orders (hidden from order book).
    • ticks:For how many candle ticks the pressure has to persist to open a position.
    • percentChange:How many percent shall the price be changed by orders?
    • minDiffPercent:Open a position if the cost to rise/lower the price by 'percentChange' differs this much. 450 is a good number for strong USD_BTC pressure, otherwise 80 - depending on percentChange
    • increaseProfitPosition:optional, default 0% (disabled) - The percentage to increase an existing position (from another strategy) if that position has a profit if enabled this strategy will work as a 2nd strategy only (not open a new position).
    • orderRate:optional, default market - The type of order that shall be used to enter the market. Values: market|last|book
    • confirmLineCross:optional, default true - Use EMA to confirm direction of the order book pressure trend before opening a position.
    • CrossMAType:optional, default EMA - The moving average type to use. Values: EMA|SMA|DEMA
    • short:Number of candles for the short EMA line.
    • long:Number of candles for the long EMA line.
  • OrderPartitioner:
    • Strategy that partitions orders of the last candle tick into buckets of different sizes by volume. It then displays you the buy/sell ratios for these volume buckets. You can open trades once this ratio crosses a certain threshold. Signal is to weak to be used alone, should be used together with other strategies (such as MACD or RSI).
    • tradeCount:The number of trades sorted by amount we want to display.
    • percentChange:How many percent shall the price be changed by orders on the order book?
    • whalePercentage:optional, default 5.0% - % volume level for the high volume orders that shall be considered 'whales'
    • fishPercentage:optional, default 3.0% - % volume level for the low volume orders that shall be considered 'small fish'
    • maxTradesDisplay:optional, default 30 - How many single trades to display at most per bucket.
    • tradeDirection:optional, default watch - The direction in which this strategy shall open positions. 'notify' means you will only receive notifications to do a trade. 'watch' only computes the spike values for manual inspection. Values: up|down|both|notify|watch
    • CrossMAType:optional, default EMA - The moving average type to use for the 'requireMAMatch' option. Values: EMA|SMA|DEMA
    • short:Number of candles for the short EMA line.
    • long:Number of candles for the long EMA line.
    • requireMAMatch:optional, default false - Require the moving average to match the trades buy/sell ratio to open a position.
    • volumeBuySellLongThreshold:The min ratio for buy-sell orders to open a long position (recommended > 65).
    • volumeBuySellShortThreshold:The max ratio for buy-sell orders to open a short position (recommended < 35).
  • PatternRepeater:
    • A strategy that tries to identify patterns of x candles in size (patternSize) that repeat at least patternRepeat times. Then assumes this pattern will repeat x times, adjust price levels and trade accordingly. Backfinder is a good tool to find the good candle size of patterns. This strategy can not be done with a stop because a buy stop triggers at increasing price (and sell at decreasing). Works well with high volume coins (ETH, LTC,..) but can fail badly with small coins because they have irregular spikes quite often.
    • patternSize:The size in candles the pattern shall have.
    • patternRepeat:The number of times the % changes of the candles have to repeat before we consider it a pattern.
    • maxOffset:optional, default 1 - How many candles the highs/lows can be different in reptetitions to still be considered a pattern.
    • repeatProfit:optional, default true - Always open a position in the other direction after a profitable trade (we can assume our pattern will work again). Only long positions will be repeated.
    • takeProfitCandleSize:optional, default 10 - The candle size minutes to wait for the first candle opposite to our open position after a close order has been issued. The close order runs on 'candleSize' (the main candle size) and 'patternSize'.
    • interval:optional, default 14 - RSI interval for Falling Knife Protection: Don't buy/sell on overbought/oversold. The number of candles to use for RSI computation.
    • low:optional, default 20 - Below this value RSI will be considered oversold.
    • high:optional, default 80 - Above this value RSI will be considered overbought.
  • PercentDEMA:
    • Strategy that emits buy/sell based on the % change of a single (long) DEMA line (instead of line crosses of 2 DEMAs). This works best for daytrading with a short candle size such as 30min or 15min.
    • long:The number of candles for the indicator.
    • minPercent:How strong the current price has to change from the DEMA to open a position.
    • CrossMAType:optional, default DEMA - The moving average type to use for the 'requireMAMatch' option. Values: EMA|SMA|DEMA
    • takeProfitTicks:optional, default 0 (disabled). Close a position early if the MACD histogram decreases for x candles.
    • closeLossEarly:optional, default true - Close positions at a loss after takeProfitTicks too.
  • PingPong:
    • Strategy that sells on the upper Bollinger Band and buys on the lower band. Our assumption is that the price will always jump between the upper and lower band (as in a sideways market). This strategy only trades within the value area of the volume profile, which is when price is within the range where 70% of trades take place using default settings. Additionally the current candle volume must be 'minVolumeSpike' above average (SMA) of the latest 'interval' candles.
    • interval:optional, default 48. The number of candles to compute the volume profile and average volume from.
    • volumeRows:optional default 24. The number of equally-sized price zones the price range is divided into.
    • valueAreaPercent:optional, default 70%. The percentage of the total volume that shall make up the value area, meaning the price range where x% of the trades happen.
    • minVolumeSpike:optional, default 1.1. The min volume compared to the average volume of the last 'interval' candles to open a position.
    • percentBThreshold:optional, default 0.01 - A number indicating how close to %b the price has to be to consider it 'reached'.
    • trailingStopPerc:optional, default 0.05% ( 0 = disabled) - The trailing stop percentage that will be placed after the opposite Bollinger Band has been reached.
  • PivotSniper:
    • Strategy that checks support and resistance of Pivot Points. We wait for support or resistance to get hit and open a position in the opposite direction, assuming the market will bounce back.
      This strategy works very well for daytrading with candle sizes from 30min to 4h.
      This strategy will open and close existing positions, but you can still combine it with a stop-loss and/or take profit strategy.
    • type:optional, default 'standard' - The Pivot Points calculation method you want to use. Values: standard|fibonacci|demark
    • interval:optional, default 15 - The number of candles to use for the high/low calculation as the previous period to compute the Pivot Points values from. Also sets the number of candles to compute the confirmation indicator value from.
    • supportLevel:optional, default 2 - The support level at which you want to open a long position. Standard Pivot Points have 2 levels, Fibonacci 3 and Demark only 1. Values: 1|2|3
    • resistanceLevel:optional, default 2 - The resistance level at which you want to open a short position. Standard Pivot Points have 2 levels, Fibonacci 3 and Demark only 1. Values: 1|2|3
    • minVolumeSpike:optional, default 1.1 - The min volume compared to the average volume of 'interval' candles to open a position at a support or resistance.
    • confirmationIndicator:optional, default empty = none - The indicator to use to wait for confirmation to open a position.
    • low:optional, default 50 - Only go short if the confirmation indicator is below this value.
    • high:optional, default 50 - Only go long if the confirmation indicator is above this value.
    • maxGoLongPrice:optional, default 0 = any price - The maximum price to open a long position.
    • minGoShortPrice:optional, default 0 = any price - The minimum price to open a short position.
  • PivotPeaks:
    • Strategy that checks for Pivot Point high/lows and goes long if new highs are reached (and short if new lows are reached).
      Simply put: This strategy goes with the current trend of the market by looking a configurable amount of candles back and forth in time from price highs/lows.
      This strategy works very well for daytrading with candle sizes from 30min to 2h.
      This strategy will open position and trade against an open position (possible reverse the direction), but never close a position completely. You can combine it with a stop-loss and/or take profit strategy.
    • leftlen:optional, default 14. The number of candles a high/low must hold going back in time.
    • rightlen:optional, default 14. The number of candles a high/low must hold going forward in time.
  • PriceRangeTrader:
    • Detect if a price always jumps between a high a low and buy/sell accordingly. Works well in sideways markets (that usually have low volume). It is meant for fast trades, possibly many trades per hour if there are changes >= 'minChangePercent'. This strategy can be a faster alternative to using BollingerBands in a sideways market and sell at the upper band and buy at the lower band.
    • minChangePercent:The min percentage between the low and high price point to open a position.
    • intervalSec:The number of seconds after which a price point expires.
    • logTradeTicks:optional, default 300 - Log the current low and high price points after every x trade ticks. 'enableLog' must be set to true.
  • PriceSpikeDetector:
    • Detect if the price of spikes x % up/down (compared to the last candle). This strategy works great at detecting fast pumps in a coin. It should be used with a small candle size such as 3-15min and a 'spikePercent' according to your coin's price changes. You should look at the chart and set the 'spikePercent' value high enough so that this strategy only triggers about once a week for your coin. This is to avoid false positives and jump on late spikes too late.
    • spikePercent:As x% price difference (positive value higher, negative value lower) as the last candle.
    • endOfSpike:optional, default false - true = wait until the spike reverses, false = buy/sell immediately with the spike
    • historyCandle:optional, default 36 - How many candles to look back to compare if price really is a spike. Set to 0 to disable it.
    • stop:optional, default 0 (disabled) - Set a min/max price. This strategy will only trade on spikes if the price is above/below that value.
    • comp:optional, default buy <, sell > - Does the price have to be higher or lower than the stop?
    • spikeHistoryPercent:optional, default 0 (disabled) - Look at last x candles to check for a spike too. If their combined spike is above x% this strategy will trade.
    • historyCandleCount:optional, default 0 (disabled) - The number of candles to go back for 'spikeHistoryPercent'
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. 'notify' means you will only receive notifications to do a trade. 'watch' only computes the spike values for manual inspection. Values: up|down|both|notify|watch
    • tradeOppositeDirection:optional, default false - If set to 'false' we don't trade if we have an open position in the other direction. 'true' means this strategy will always open a position.
    • strongRate:optional, default true - 'true' means this strategy will use a rate well above/below the current rate to ensure the order gets filled immediately during the spike. This is similar to submitting a market order.
    • onlyDailyTrend:optional, default true - Only trade when the spike is in the same direction as the 24h % price change.
    • checkTradesEndPercent:optional, default 65 - How many % of trades of the spike candle shall we wait for when using endOfSpike == true
    • reverseSpikeTimeoutSec:optional, default 120 - After this time the reversal of a spike will be ignored (don't send a trade signal anymore). Only applies if endOfSpike is set to true.
  • ProtectProfit:
    • A different kind of stop loss strategy that protects our profits by selling/buying before our position turns into a loss.
    • profit:The threshold in percent at which we enable this stop after we have reached that amount of profit.
    • profitFactor:optional, default 2.1 - How much a position has to fall back from 'profit' to be closed. For example profitFactor 2.0 -> from 0.8% to 0.4%
    • time:optional, default 120 - The number of seconds the position has to be below the defined profit target to be closed. A value of 0 closes it immediately.
    • minOpenTime:optional, default 900 - The number of seconds a position has to be open before it can be closed. This is useful if you are doing scalping and want to wait at least x seconds for the price to reverse before taking a loss.
    • ensureProfitPercent:optional, default 0.25% (0 = disabled) - Only close if we really have this profit according to the exchange API. Useful if you do manual trading along with the bot. This setting might cause a position to be never closed.
    • useRealProfitLoss:optional, default false - Use the real profit/loss value from the exchange API (instead of this strategy's entry price) for all computations. Useful if increase the position by manual trading. Only updated about every 6min with margin position.
  • RSI:
    • Strategy that emits buy/sell signals based on the RSI indicator.
    • interval:The number of candles to use for RSI computation.
    • low:Below this value RSI will be considered oversold.
    • high:Above this value RSI will be considered overbought.
    • mode:optional, default trend - 'trend' means we buy on overbought and sell on oversold. This should be used with smaller candle sizes from 5-60min. 'reverse' means we buy on RSI low and sell on RSI high. In 'reverse' mode trades only happen if currentRSI > lastRSI to prevent buying into a falling knife (resp. currentRSI < lastRSI for sell orders). Values: trend|reverse|both
  • RSIOrderer:
    • Secondary Strategy that executes buy/sell based on the RSI indicator after overbought/oversold periods. Should be used with a smaller candleSize than the main strategy to execute an order defined by your main strategy.
    • interval:The number of candles to use for RSI computation.
    • low:Below this value RSI will be considered oversold. This strategy will start a buy trade after RSI oversold ends.
    • high:Above this value RSI will be considered overbought. This strategy will start a sell trade after RSI overbought ends.
    • immediateLow:Start a sell trade immediately when reaching this oversold value.
    • immediateHigh:Start a buy trade immediately when reaching this overbought value.
    • onlyImmediate:optional, default true. If true, this strategy only trades on immediate low/high values. On false it use low/high values to start trades in opposite direction.
    • waitBounceBack:optional, default true - If true, wait for the RSI to bounce back after reaching the low/high threshold. If false, open position immediately.
    • expiry:optional, default 5 (0 = disabled) - Execute the order after x candles if the threshold isn't reached.
    • deleteExpired:optional, default true - If true, delete expired orders instead of executing them after 'expiry' candles have passed.
    • deleteOppositeOrders:optional, default false - Delete opposite buy/sell orders if immediate thresholds are reached.
  • RSIScalper:
    • Strategy that uses the RSI indicator for scalping. By scaling this strategy means buying/selling on a pull back after spikes. This strategy is ideal to use together with a main strategy that does about 1 trade per day. If prices move quickly in the opposite direction and you assume recovery, you can use this strategy to increase the size of your existing position by 'percentage' from the strategy config.
    • percentage:The order amount percentage of the config's total trading volume. Use 100% to trade the same amount again and double your position size.
    • interval:The number of candles to use for RSI computation.
    • low:Below this value RSI will be considered oversold.
    • high:Above this value RSI will be considered overbought.
    • enterLow:optional, default 50 - The max RSI value to open a short position.
    • enterHigh:optional, default 50 - The min RSI value to open a long position.
    • openPosition:optional, default false - true means this strategy can also open new positions. false means it will only trade in the same direction if we already have an open position.
    • expiry:optional, default 14 (0 = disabled) - Stop waiting for a bounce back if it doesn't happen for 'expiry' candles.
    • scalpOnce:optional, default true - Scalp only once per position to increase its size. If disabled we scalp multiple times on every opportunity.
  • RSIScalpOrderer:
    • Strategy that uses the RSI indicator for scalping. By scaling this strategy means buying/selling on a pull back after spikes. This strategy is meant to be set as 'tradeStrategy' of your main strategy. It should then run on a smaller candle size (3-15min) and execute the trades of your main strategy at the right moment.
    • interval:The number of candles to use for RSI computation.
    • low:Below this value RSI will be considered oversold. After this value has been reached the strategy will wait for an RSI increase that is above 'enterHigh' and then issue a buy trade.
    • high:Above this value RSI will be considered overbought. After this value has been reached the strategy will wait for an RSI decrease that is below 'enterLow' and then issue a sell trade.
    • immediateLow:Below this value this strategy will immediately sell.
    • immediateHigh:Above this value this strategy will immediately buy.
    • enterLow:The max RSI value to open a short position after RSI reached its 'high' value.
    • enterHigh:The min RSI value to open a long position after RSI reached its 'low' value.
    • expiry:optional, default 5 (0 = disabled) - Stop waiting for a bounce back if it doesn't happen for 'expiry' candles.
    • deleteExpired:optional, default true - Delete expired orders instead of executing them after expiry.
  • RSIStarter:
    • A strategy that only opens positions based on RSI (should be used together with other strategies):
      1. after a sharp drop when the price goes up again (scalping, also see MomentumTurn strategy)
      2. when there is a sudden spike upwards
    • interval:The number of candles to use for RSI computation.
    • low:Below this value RSI will be considered oversold.
    • high:Above this value RSI will be considered overbought.
    • lowStartFactor:optional, default 0.75 (max 1.0 = always immediately) - The bot will enter a trend immediately if RSI <= lowStartFactor*low. Otherwise it will wait for the end of oversold and go long.
    • candlePercentReverse:optional, default 4.0% - How many percent the last candle has to go in the other direction to enter the market at the end of a spike/drop. It's common on a sharp drop that there will be a strong bounce back if the trend reverses (high volume and high price change).
    • pauseCandles:optional, default 25 - How many candles to pause after a loss trade.
    • historyCandleSize:optional, default 10 - Candle size in minutes to check for the long trend of the market.
    • historyCandleCount:optional, default 5 - The number of candles to use for historyCandleSize.
  • SARStop:
    • A stop loss strategy that uses the Parabolic SAR as a trailing stop. Works great with every other strategy. Increase the acceleration factor for tighter stops if you are doing many trades per day.
    • initialStop:optional, default false - Use the candle high/low of the current candle when opening a position as an initial stop.
    • accelerationFactor:optional, default 0.02 - SAR indicator Acceleration Factor used up to the Maximum value.
    • accelerationMax:optional, default 0.2 - SAR indicator Acceleration Factor Maximum value.
    • time:optional, default 0 seconds - After the stop price is reached start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above the stop price before the counter reaches 0 seconds.
    • keepTrendOpen:optional, default true - Don't close if the last candle moved in our direction (only applicable with 'time' and 'candleSize' set).
  • Sentiment:
    • Strategy that checks the market sentiment, meaning the volume of buy sv sell orders. It counts all trades and sum up the volume to see if the market majority is long or short. Should be run with a candle size >= 6h or otherwise it will start trading too soon.
    • low:If the ratio of market buy vs sell orders is below this threshold this strategy will go short.
    • high:If the ratio of market buy vs sell orders is above this threshold this strategy will go long.
    • interval:The interval in candles to count market buy vs sell orders.
  • SimpleAndShort:
    • A Strategy that doesn't look for any indicators. Instead it simply decides to buy/sell like this:
      - If the stock is going up, buy it if I don't have any.
      - If the stock is going down, short sell it if I don't have any.
      - place 3 stops above and below the initial price to sell/buy the coin again.
      Similar to CandleRepeater and DayTrendFollower strategy.
      Works well with larger candle sizes from 1-4 hours.
    • stopStart:At how many percent loss shall stop loss buy the first 1/3 back.
    • takeProfitStart:At how many percent shall the bot start taking profits.
    • historyCandles:optional, default 1- How many candles the strategy shall look back for the same trend before opening a position. It will only open a position if all candles go into the same direction.
    • initialOrder:optional, default empty - Just wait for the first candle trend and follow it.
  • STC:
    • Strategy that emits buy/sell based on the Schaff Trend Cycle. STC is a faster version of MACD that oscillates between 0 and 100. Sell signals are given when STC goes down from a high and buy signals when it comes up from a low. This strategy also closes positions if an opposite trade signal occurs.
    • low:optional, default 25 - Go long if STC goes up from this value.
    • high:optional, default 75 - Go short if STC goes down from this value.
    • closePositions:optional, default true - Close existing positions if an opposite signal occurs.
    • fast:optional, default 23 - The number of fast EMA candles.
    • slow:optional, default 50 - The number of slow EMA candles.
    • stcLength:optional, default 10 - How many candles STC will keep to compute MACD signal and STC candle data.
    • factor:optional, default 0.5 (should be <= 1.0) - A lower value means STC will forget historic data faster and be more responsive, thus doing more trades.
  • StochRSI:
    • Strategy that emits buy/sell based on the Stochastic RSI indicator. StochRSI is an oscillator measuring the RSI low/high values relative to relative to the min and max RSI values over the by 'interval' defined period of candles. This makes StochRSI and indicator of an indicator. The advantage is that StochRSI is guaranteed to reach either its low or high values, thus producing more signals.
    • interval:The number of candles to use for StochRSI computation.
    • low:Below this value StochRSI will be considered oversold.
    • high:Above this value StochRSI will be considered overbought.
    • optInFastK_Period:optional, default 5 - The number of candles for the real (not smoothened) StochRSI value.
    • optInFastD_Period:optional, default 3 - The number of candles for the smoothened StochRSI value. This strategy will use the smoothened StochRSI value for trading.
    • optInFastD_MAType:optional, default 0 (SMA) - The moving average type to use for smoothening the StochRSI value.
    • mode:optional, default trend - 'trend' means we buy on overbought and sell on oversold. This should be used with smaller candle sizes from 5-60min. 'reverse' means we buy on RSI low and sell on RSI high. In 'reverse' mode trades only happen if currentRSI > lastRSI to prevent buying into a falling knife (resp. currentRSI < lastRSI for sell orders). Values: trend|reverse|both
  • StopLossTime:
    • A simple stop loss strategy with an additional parameter 'time'. It will start a counter down to 0 seconds if the stop price is reached. The stop will only be triggered after the counter reaches 0. The counter gets reset every time the price moves above the stop.
    • stop:The price at which the stop shall be triggered. For long positions the price has to move below this value, for short positions above.
    • time:optional, default 0 - After the stop price is reached start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above the stop price before the counter reaches 0 seconds.
  • StopLossTurn:
    • An advanced stop loss strategy with additional parameters to decide if and when to close a positions. List of features:
      - time counter: It will start a counter down to 0 seconds if the stop price is reached. The stop will only be triggered after the counter reaches 0. The counter gets reset every time the price moves above the stop.
      - different trailing stop percentages for long and short positions
      - tighter stop after a position reaches a defined percentage of profit
      - keep the position open depending on current RSI and current candle trend
      - automatically adjust stop time counter based on market volatility
      - Smartphone notifications x minutes before the stop gets executed to allow manual intervention
    • stop:optional, default 0 (use 'setback' setting) - A fixed stop price when to sell (< for long position) or buy (> for short position). If present takes precedence over 'setback'. Only 'setbackProfit' has a higher priority (if set).
    • stopLong:optional, default 0 (use 'setback' setting or 'setbackLong' setting). Place a different fixed stop rate for long positions.
    • setback:The trailing stop percentage the price has to move against an open position for the stop to be triggered.
    • setbackLong:optional, default 0 (use 'setback') - The trailing stop percentage the price has to move against an open long position for the stop to be triggered. Use this to define a different (usually higher) stop for long positions.
    • updateTrailingStop:optional, default true - True means the setback and setbackLong values are used as trailing stop. False means they are only set once when opening a position.
    • time:optional, default 0 - After the stop price is reached start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above the stop price before the counter reaches 0 seconds.
    • closePosition:optional, default 'always' - Only close a position if its profit/loss is in that defined state. Values: always|profit|loss
    • increaseTimeByVolatility:optional, default false - Increase the stop time during volatile markets (by a factor between 1 and 2 computed from Bollinger Bandwidth). Takes precedence over reduceTimeByVolatility.
    • reduceTimeByVolatility:optional, default true - Reduce the stop time during high volatility market moments (by a divisor between 1 and 2 computed from Bollinger Bandwidth).
    • keepTrendOpen:optional, default true - Don't close if the last candle moved in our direction (only applicable with 'time' and 'candleSize' being set).
    • forceMaker:optional, default false - Only place a maker order (not paying the higher taker fee). Order will get adjusted in case the price moves away from it.
    • notifyBeforeStopSec:optional, default 0 (disabled) - Send a push notification x seconds before the stop executes.
    • stopPriceType:optional, default avg - Chose price that must be reached for the stop to get executed.
      'last' means last trade price, 'avg' means volume-weighted average price of the latest batch of received trades (1-5 sec time window depending on exchange).
    • setbackProfit:optional, default 0 (disabled) - Use a higher stop after a certain profit has been reached. How much loss we allow once 'triggerProfit' is reached (same value for long and short positions). This value always takes precedence over 'setback' and 'setbackLong'.
    • triggerProfit:optional, default 0 (disabled) - The minimum profit to be reached for setbackProfit to replace setback. Use this to either allow higher losses or set tighter trailing stops, depending on your trading strategy.
    • timeProfit:optional, default 0 (disabled) - A higher/lower time to close if position is in profit. Reduce/increase time by volatility doesn't apply to this value.
    • ensureProfit:optional, default true - Ensure there is really profit before closing at 'setbackProfit' (otherwise fallback to the normal stop). Keep in mind that open positions are only being synced every few minutes.
    • minOpenTime:optional, default 0 (can close immediately). A parameter to keep the position open at least n seconds before closing.
    • interval:optional, default 9 - The number of candles to use for RSI computation.
    • low:optional, default 0 (disabled) - Below this value RSI will be considered oversold. This strategy will never close short positions during RSI oversold.
    • high:optional, default 0 (disabled) - Above this value RSI will be considered overbought. This strategy will never close long positions during RSI overbought.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands. BollingerBands indicator is being used to determine the market volatility by looking at Bollinger Bandwidth.
  • StopLossTurnPartial:
    • An advanced stop loss strategy that can close a position partially. Keeping a part of it open allows you to recover existing losses at a later point when the market moves in our direction (without realizing the loss prior to this). Also useful with a tight stop as an alterantive to a TakeProfit strategy. See StopLossTurn for a more detailed description.
    • percentage:The percentage of the open position to close. Must be between 0 and 100%.
    • stop:optional, default 0 (use 'setback' setting) - A fixed stop price when to sell (< for long position) or buy (> for short position). If present takes precedence over 'setback'.
    • setback:The trailing stop percentage the price has to move against an open position for the stop to be triggered.
    • setbackLong:optional, default 0 (use 'setback') - The trailing stop percentage the price has to move against an open long position for the stop to be triggered. Use this to define a different (usually higher) stop for long positions.
    • time:optional, default 0 - After the stop price is reached start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above the stop price before the counter reaches 0 seconds.
    • increaseTimeByVolatility:optional, default false - Increase the stop time during volatile markets (by a factor between 1 and 2 computed from Bollinger Bandwidth). Takes precedence over reduceTimeByVolatility.
    • reduceTimeByVolatility:optional, default true - Reduce the stop time during high volatility market moments (by a divisor between 1 and 2 computed from Bollinger Bandwidth).
    • keepTrendOpen:optional, default true - Don't close if the last candle moved in our direction (only applicable with 'time' and 'candleSize' being set).
    • forceMaker:optional, default false - Only place a maker order (not paying the higher taker fee). Order will get adjusted in case the price moves away from it.
    • notifyBeforeStopSec:optional, default 0 (disabled) - Send a push notification x seconds before the stop executes.
    • stopPriceType:optional, default avg - Chose price that must be reached for the stop to get executed.
      'last' means last trade price, 'avg' means volume-weighted average price of the latest batch of received trades (1-5 sec time window depending on exchange).
    • setbackProfit:optional, default 0 (disabled) - Use a higher stop after a certain profit has been reached. How much loss we allow once 'triggerProfit' is reached (same value for long and short positions). This value always takes precedence over 'setback' and 'setbackLong'.
    • triggerProfit:optional, default 0 (disabled) - The minimum profit to be reached for setbackProfit to replace setback. Use this to either allow higher losses or set tighter trailing stops, depending on your trading strategy.
    • timeProfit:optional, default 0 (disabled) - A higher/lower time to close if position is in profit. Reduce/increase time by volatility doesn't apply to this value.
    • ensureProfit:optional, default true - Ensure there is really profit before closing at 'setbackProfit' (otherwise fallback to the normal stop). Keep in mind that open positions are only being synced every few minutes.
    • interval:optional, default 9 - The number of candles to use for RSI computation.
    • low:optional, default 0 (disabled) - Below this value RSI will be considered oversold. This strategy will never close short positions during RSI oversold.
    • high:optional, default 0 (disabled) - Above this value RSI will be considered overbought. This strategy will never close long positions during RSI overbought.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands. BollingerBands indicator is being used to determine the market volatility by looking at Bollinger Bandwidth.
  • TakeProfit:
    • An advanced take profit strategy with additional parameters to decide if and when to close a positions. List of features:
      - time counter: It will start a counter down to 0 seconds if the profit stop price is reached. The stop will only be triggered after the counter reaches 0. The counter gets reset every time the price moves above the stop.
      - automatically adjust stop time counter based on market volatility
    • stop:optional, default 0 (use 'profit' setting) - A fixed stop price when to sell (> for long position) or buy (< for short position). If present takes precedence over 'profit'.
    • profit:The target profit in percent. Once your open position reaches this profit it will be closed.
    • updateTrailingStop:optional, default true - True means the setback value is used as trailing stop. False means it is set to a fixed rate once when opening a position.
    • time:optional, default 0 - After the price falls below your profit target again start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above our profit target before the counter reaches 0 seconds.
    • reduceTimeByVolatility:optional, default true - Reduce the stop time during high volatility market moments (by a divisor between 1 and 2 computed from Bollinger Bandwidth).
    • trailingStopPerc:trailingStopPerc: number; // optional, default 0.0% (0 = trade immediately) - The trailing stop percentage that will be placed once the computed profit target of the strategy has been reached.
    • stopPriceType:optional, default avg - Chose price that must be reached for the take-profit order to get executed.
      'last' means last trade price, 'avg' means volume-weighted average price of the latest batch of received trades (1-5 sec time window depending on exchange).
    • keepTrendOpen:optional, default true - Don't close if the last candle moved in our direction (only applicable with 'time' and 'candleSize' being set).
    • forceMaker:optional, default false - Only place a maker order (not paying the higher taker fee). Order will get adjusted in case the price moves away from it.
    • minRate:optional, default 0 (disabled) - Only take profit once this market rate has been reached. Price must be above it for long positions and below it for short positions.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands. BollingerBands indicator is being used to determine the market volatility by looking at Bollinger Bandwidth.
  • TakeProfitPartial:
    • An advanced take profit strategy that can close a position partially. Keeping a part of your position open allows you to get further gains if the market moves in the direction of your position while locking in some of your existing profits. See TakeProfit for a more detailed description.
    • percentage:The percentage of the open position to close. Must be between 0 and 100%.
    • stop:optional, default 0 (use 'profit' setting) - A fixed stop price when to sell (> for long position) or buy (< for short position). If present takes precedence over 'profit'.
    • profit:The target profit in percent. Once your open position reaches this profit it will be closed.
    • time:optional, default 0 - After the price falls below your profit target again start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above our profit target before the counter reaches 0 seconds.
    • reduceTimeByVolatility:optional, default true - Reduce the stop time during high volatility market moments (by a divisor between 1 and 2 computed from Bollinger Bandwidth).
    • trailingStopPerc:trailingStopPerc: number; // optional, default 0.0% (0 = trade immediately) - The trailing stop percentage that will be placed once the computed profit target of the strategy has been reached.
    • stopPriceType:optional, default avg - Chose price that must be reached for the take-profit order to get executed.
      'last' means last trade price, 'avg' means volume-weighted average price of the latest batch of received trades (1-5 sec time window depending on exchange).
    • keepTrendOpen:optional, default true - Don't close if the last candle moved in our direction (only applicable with 'time' and 'candleSize' being set).
    • forceMaker:optional, default false - Only place a maker order (not paying the higher taker fee). Order will get adjusted in case the price moves away from it.
    • minRate:optional, default 0 (disabled) - Only take profit once this market rate has been reached. Price must be above it for long positions and below it for short positions.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands. BollingerBands indicator is being used to determine the market volatility by looking at Bollinger Bandwidth.
  • TakeProfitStochRSI:
    • A take profit strategy looking at the Stochastic RSI. It initiates to close a long position at RSI overbought and a short position at RSI oversold. Closing is done by forwarding the order as a stop to an order strategy. Works well with candle sizes of 1h or more and an order strategy running on 1min candles.
      good RSI values: TakeProfit at 1h candles on > 87 and < 11
    • percentage:optional, default 100% - Take profit by partially closing x% of the open position.
    • interval:The number of candles to use for StochRSI computation.
    • low:Below this value StochRSI will be considered oversold. This strategy will initiate to close short positions.
    • high:Above this value StochRSI will be considered overbought. This strategy will initiate to close long positions.
    • optInFastK_Period:optional, default 5 - The number of candles for the real (not smoothened) StochRSI value.
    • optInFastD_Period:optional, default 3 - The number of candles for the smoothened StochRSI value. This strategy will use the smoothened StochRSI value for trading.
    • optInFastD_MAType:optional, default 0 (SMA) - The moving average type to use for smoothening the StochRSI value.
    • closeRateFactor:optional, default 0.9992 - Move the stop for the closing rate a little bit away from the last price. This multiplies the close rate by this to set the stop below (for shorts 1-x is added).
    • time:optional, default 0 - After the price falls below your profit target again start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above our profit target before the counter reaches 0 seconds.
    • keepTrendOpen:optional, default true - Don't close if the last candle moved in our direction (only applicable with 'time' and 'candleSize' being set).
    • alwaysIncreaseStop:optional, default false - Move the stop closer to the market price after every candle tick of this strategy even if RSI is no more oversold/overbought.
    • ensureProfit:optional, default true - Check if we still have profit after 'time' has passed. Otherwise don't close the position. Keep in mind that open positions are only being synced every few minutes.
    • minOpenTicks:optional, default 12 - How many ticks a position shall be open at least before it can be closed. If this strategy uses the same candle size as the main strategy. it's implicitly open at least 1 tick with value 0.
    • stopPriceType:optional, default avg - Chose price that must be reached for the stop to get executed.
      'last' means last trade price, 'avg' means volume-weighted average price of the latest batch of received trades (1-5 sec time window depending on exchange).
  • TakeProfitAdvanced:
    • This is an advanced take profit strategy set which closes a position fully if it is x% in profit and its profit doesn't increase anymore for 5 minutes (configurable).
      Additionally it will close 50% of your position if the 1h StochRSI is at its low (for a short position) or at its high (for a long position) - all parameters configurable.
      You can optionally add your TradingView.com email address so that WolfBot receives TradingView alerts to trade on them. This allows you to open positions or place additional stops.
  • TimeOrder:
    • A simple strategy that buys or sells after a specified amount of time has passed. This is useful to place a manual order after the dip of a spike to buy more if you assume this is the start of a new trend. Also useful after a buy from spikes of VolumeSpikeDetector or PriceSpikeDetector.
    • executeMin:A countdown in minutes after which the buy/sell order will be executed.
    • keepTrendOpen:optional, default true - Don't execute the order yet if the last candle moved in our direction (only applicable with 'candleSize' being set).
  • TimeStop:
    • A different kind of close-strategy, similar to a stop-loss strategy. This strategy places a trailing stop after a position was open for a certain amount of candles. It can optionally look at RSI values before closing a position or only close if the position has a profit or loss.
      Ideal for daytraders who want to exit the market after a certain amount of time to minimize risks.
    • minCandles:The minimum number of candles a position has to be open before being closed.
    • trailingStopPerc:optional, default 0.05% - The trailing stop percentage that will be placed after minCandles have passed.
    • closePosition:optional, default 'always' - Only close a position if its profit/loss is in that defined state. Values: always|profit|loss
    • time:optional, default 0 - After the price falls below the trailing stop, start a countdown of x seconds before closing the position. The countdown gets reset if the price moves above the stop before the counter reaches 0 seconds.
    • keepTrendOpen:optional, default true - Don't close if the last candle moved in our direction (only applicable with 'time' and 'candleSize' being set).
    • notifyBeforeStopSec:optional, default 0 (disabled) - Send a push notification x seconds before the stop executes.
    • interval:optional, default 9 - The number of candles to use for RSI computation.
    • low:optional, default 0 (disabled) - Below this value RSI will be considered oversold. This strategy will never close short positions during RSI oversold.
    • high:optional, default 0 (disabled) - Above this value RSI will be considered overbought. This strategy will never close long positions during RSI overbought.
  • TradingViewSignal:
    • Strategy that buys or sells based on TradingView.com signals. Signals can be anything such as alerts from the CryptoScreener, alerts on a chart, indicator or buy/sell signals of a TradingView strategy - including your own Pine Script.
      You should ensure that your signal messages include the words 'buy', 'sell' and 'close' to instruct WolfBot (using default settings, can be configured).
      You can optionally specify a rate for a limit order in your TradingView alert message. To do this, you must include the text limit= - so a full alert could look like this: "some text, buy, limit=3500.5". To use market orders, write market=1 in your alert. Otherwise the rate of the last trade will be used. You can also specify a different trading amount by writing adding amount=123 to your message (in base currency, USD,...).
      Use pl=500 to enter a minimum profit condition in your close signal (in base currency such as USD).
      To use a custom limit, this strategy must trade directly, meaning 'tradeStrategy' must not be set. Otherwise the tradeStrategy decides the limit price once its indicator(s) match the desired trade direction.
      You can use [email protected] as email and an empty password for easier setup without your own email address. If you do this, you MUST include your Bot ID (for example WID1234) from the Status page.
    • webhookUrl:The Webhook URL you can enter in your TradingView alert to receive alerts with this bot. Webhooks are a faster alternative to Emails. Make sure you only enable of the two in your TradingView account.
      This URL can not be changed.
    • email:The email address to check for TradingView alerts. TradingView alert emails must arrive in the INBOX folder of this account and be marked as "unread" for WolfBot to read them.
      If you are using Gmail, please enable access for "less secure apps". See the TradingViewSignal strategy page on WolfBot.org for instructions.
    • password:The corresponding password of the email account.
    • host:optional, default automatic - The IMAP host of your email address.
    • port:optional, default automatic - The IMAP port of your email address.
    • tls:optional, default true - Whether to use TLS encryption to open your email inbox.
    • checkMailSec:optional, default 45 seconds - How often your inbox shall be checked for new TradingView alerts.
    • tradeDirection:optional, default 'both' - The direction in which this strategy shall act on signals from TradingView. Values: up|down|both
    • buyWords:optional, default 'buy' - A list of words (case insensitive, separated by |) on which the strategy buys. It is recommended to fine-tune your alert messages first and only use this as fallback.
    • sellWords:optional, default 'sell' - A list of words (case insensitive, separated by |) on which the strategy sells. It is recommended to fine-tune your alert messages first and only use this as fallback.
    • closeWords:optional, default 'close' - A list of words (case insensitive, separated by |) on which the strategy sells. If no close signals are used this strategy can still buy and (short) sell the same position without closing.
      A close signal will always close the whole position size (regardless of your trading amount configuration) using a market order.
    • alwaysAllowPosIncrease:optional, default false - Always allow increasing an existing position even if signal conditions such as "p/l" would prohibit it.
    • forceMaker:optional. default false - Only place a maker order (not paying the higher taker fee).
  • TrailingStop:
    • Strategy places a trailing stop (in percent) after a user-defined price level has been crossed.
      This can be used both to take profit or as a stop-loss.
    • rate:The rate at which this trailing stop is activated.
    • comp:Does the market rate have to cross above or below that rate for the stop to get activated? Values: <|>
    • trailingStopPerc:optional, default 0.5% - The trailing stop percentage that will be placed after the configured rate has been crossed.
    • closePosition:optional, default always - Only close a position if its profit/loss is in that defined state. Values: always|profit|loss
    • time:optional, default 0 = immediately - The time in seconds until the stop gets executed after the trailing stop has been reached.
  • Trendatron:
    • A strategy that follows waves of the chart by doing swing trading. It does this by combining 4 SMAs to Gann Swing indicator and adding VIX to check for volatility. Additionally it supports scalping, meaning it can buy more after sharp drops in price.
    • interval:The number of candles for SMAs to compute GannSwing.
    • stddevPriod:optional, default 20 - The number of candles for the VIX indicator to compute the standard derivation.
  • TrendlineScapler:
    • Strategy has pre-configured support/resistance lines. Whenever the price gets close to that line we open a trade in the other direction (expecting a bounce back). Alternatively it can wait for breakouts at those price levels.
      Works well with high leverage (10x - 20x) and RSI strategy for entry.
      Works well on 1min candle size together with a trade strategy such as RSIOrderer or RSIScalpOrderer.
      This strategy doesn't close positions. You must add a stop-loss and take profit strategy.
    • supportLines:The price levels where we want to open long a position.
    • resistanceLines:The price levels where we want to open short a position.
    • tradeBreakout:optional, default false - A value of false means we will assume the price will bounce back within the trading range. If set to true we wait for the support/resistance to get broken and trade the breakout direction.
    • expirationPercent:optional, default 3% - Only execute orders at price levels that are within x% of the set support/resistance lines.
  • TrendOscillator:
    • Strategy that first checks for the current market trend using EMA crossover strategy.
      It then emits buy/sell based on the Schaff Trend Cycle to only trade with the current trend. STC is a faster version of MACD that oscillates between 0 and 100. Sell signals are given when STC goes down from a high and buy signals when it comes up from a low.
      This strategy also closes positions if an opposite trade signal occurs.
    • CrossMAType:optional, default EMA - The moving average type to use for identifying trend directions. Values: EMA|SMA|DEMA|WMA
    • short:optional, default 7 - Number of candles for the short EMA line.
    • long:optional, default 30 - Number of candles for the long EMA line.
    • low:optional, default 10 - Go long if STC goes up from this value.
    • high:optional, default 90 - Go short if STC goes down from this value.
    • closePositions:optional, default true - Close existing positions if an opposite signal occurs. Otherwise the position will be kept open until it is closed by another strategy (stop-loss, take-profit,...).
    • fast:optional, default 23 - The number of fast EMA candles.
    • slow:optional, default 50 - The number of slow EMA candles.
    • stcLength:optional, default 10 - How many candles STC will keep to compute MACD signal and STC candle data.
    • factor:optional, default 0.5 (should be <= 1.0) - A lower value means STC will forget historic data faster and be more responsive, thus doing more trades.
  • TriggerOrder:
    • Strategy that receives a order from another strategy (such as StopLoss or TakeProfit) and executes it once the threshold triggers. This strategy works with a small candle size (1min) while the strategy giving the order can have a larger candle size. This strategy doesn't have its own config, but instead uses some parameters from the pending order to be executed by it.
  • TripleTrend:
    • A strategy that follows the current market trend by looking at 3 indicators: EMA crossover, ADX and MACD
      A buy signal occurs when short EMA > long EMA, ADX and MACD histogram are trending up.
      A sell signal occurs when short EMA < long EMA, ADX and MACD histogram are going down.
      This strategy closes a position when the 2 EMAs cross the opposite direction. It can be used with an additional stop-loss or take profit strategy.
      This strategy works well on 1h candles.
    • CrossMAType:optional, default EMA - The moving average type to use for identifying trend directions. Values: EMA|SMA|DEMA
    • shortEma:optional, default 13 - The number of candles to use for the short (fast) moving average.
    • longEma:optional, default 48 - The number of candles to use for the long (slow) moving average.
    • interval:optional, default 14 - Number of candles to use for ADX indicator.
    • adxTrend:optional, default 20 - ADX will be considered trending when above this value.
    • adxMaxTrend:optional, default 0 = disabled. ADX must be below this value. This prevents opening a position too late.
    • short:optional, default 12 - Number of candles for the short EMA line of MACD.
    • long:optional, default 26 - Number of candles for the long EMA line of MACD.
    • signal:optional, default 9 - Number of candles for the MACD signal line (candles for EMA(short) - EMA(long)).
    • closeOppositeCross:optional, default true - Close a position when the 2 EMAs cross the other direction.
    • initialStop:optional, default false - Use the candle high/low of the current candle as initial stop on sell/buy actions.
    • stopLongEma:optional, default true - Place a trailing stop at the rate of the long EMA.
  • VolumeProfiler:
    • Strategy that waits for price to hit a high volume spot on the volume profile. Depending on 'tradeMode' it will then either:
      - breakout: Wait until the price is at the end of this volume profile bar and then open a position with the current trend. This works well for opening positions for longer timeframes (multiple days to weeks).
      - resistance: Immediately forward an order against the trend. You should have a 'tradeStrategy' such as 'RSIScalpOrderer' set on a smaller candleSize to delay the order execution until the trend slows down.
      - both: Trade on breakout and resistance depending on where the current price is within the corresponding volume profile bar.
      This strategy only opens positions. You need a stop-loss and/or take profit strategy.
    • interval:optional, default 48. The number of candles to compute the volume profile and average volume from.
    • volumeRows:optional default 24. The number of equally-sized price zones the price range is divided into.
    • valueAreaPercent:optional, default 70%. The percentage of the total volume that shall make up the value area, meaning the price range where x% of the trades happen.
    • minVolumeSpike:optional, default 1.1. The min volume compared to the average volume of the last 'interval' candles to open a position at a divergence.
    • tradeMode:optional, default resistance. If we reach the volume profile bar with the highest volume, shall we wait for a bounce (trade the resistance) or trade a breakout? Values: breakout|resistance|both|watch|notify
    • minVolumeSpikeBreakout:optional, default 2.1. If 'tradeMode' is set to 'both' the volume of the current candle has to be x times higher than the average volume to be considered a breakout. Otherwise trade resistance (open a position in the opposite direction).
  • VolumeSpikeDetector:
    • Detect if there is a spike in the trade volume of a coin. This usually means a sharp spike/drop is happening (especially for smaller Altcoins). This strategy works great at detecting fast pumps in a coin. It should be used with a small candle size such as 3-15min and a 'spikeFactor' according to your coin's volume profile changes. You should look at the chart and set the 'spikeFactor' value high enough so that this strategy only triggers about once a week for your coin. Take a look at VolumeSpikeDetectorLong for volume spikes in longer candle intervals (>= 12h) to detect if attention in a coin is rising.
    • spikeFactor:The minimum spike to open a position. Defined as x times higher than the average volume.
    • minVolBtc:The minimum volume for the current candle and average volume to prevent spikes near 0 trading volume. Defined in the base currency of your trading pair, usually BTC or USD.
    • historyCandle:optional, default 36 - How many candles to look back to compare if price and volume really are a spike. Set 0 to disable it.
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. 'notify' means you will only receive notifications to do a trade. 'watch' only computes the spike values for manual inspection. Values: up|down|both|notify|watch
    • minPriceChangePercent:optional, default 3.0 - The minimum percent the price has to change to confirm the volume spike and trade on it. If you are trading on small candles (5min) then a value of 1.5 or lower can also be a good setting. See PriceSpikeDetector for a strategy looking only at price spikes.
    • tradeOppositeDirection:optional, default false - If set to 'false' we don't trade if we have an open position in the other direction. 'true' means this strategy will always open a position.
    • strongRate:optional, default true - 'true' means this strategy will use a rate well above/below the current rate to ensure the order gets filled immediately during the spike. This is similar to submitting a market order.
    • onlyDailyTrend:optional, default true - Only trade when the spike is in the same direction as the 24h % price change.
    • keepCandleCount:optional, default 3 - The number of candles to keep to compute the average volume. Should be increased for small candle sizes such as 5min.
  • VolumeSpikeDetectorLong:
    • VolumeSpikeDetector version for longer intervals (daily) to detect if interest/attention in a coin is rising. Half day is also a good interval (especially since the bot might not run 24h without restart to collect enough data). This class only sends notifications and doesn't trade.
    • spikeFactor:The minimum spike to send a trade notification. Defined as x times higher than the average volume.
    • keepCandleCount:optional, default 3 - The number of candles to keep to compute the average volume.
  • VolumeSpikeStopper:
    • VolumeSpikeDetector version that closes a position immediately if there is a huge spike in volume (somebody dropping/buying lots of money) against an open position. Works well on 30min candle size.
    • spikeFactor:The minimum volume spike to close an open position if the price moves against our position. Defined as x times higher than the average volume.
    • keepCandleCount:optional, default 3 - The number of candles to keep to compute the average volume. Should be increased for small candle sizes such as 5min.
  • WaveOpener:
    • A WaveSurfer strategy that only opens positions. It will open long positions at the lowest candle of a wave and short positions at the highest candle of a wave. Works well with large and smaller candle sizes (15min up to 4h). See WaveSurfer strategy for more details.
    • minSurfCandles:The minimum number of candles to keep a position open. Will usually be less than 'patternSize'.
    • patternSize:optional, default 2 - The number of candles to keep to search for a pattern. 2 will mean we keep 4 candles (2 recent lows, 2 recent highs). 2 is a good value for larger candles above 1h. For fast trading on lower candles you should increase this to 5 or more.
    • takeProfitCandleSize:optional, default 10 - The candle size in minutes of the candles this strategy uses to close a protitable position. At the end of the wave (consisting of bigger candles) it will schedule to close the position on the first candle of this small size moving against our position.
    • historyPriceCandles:optional, default 6 - The number of candles to look for price history to decide if the bot should open long or short.
    • lossPauseCandles:optional, default 0 - How many candles the bot shall pause trading after closing a position at a loss. The assumption is that the market is currently very irregular and no wave pattern can be detected.
    • maxVolatility:This strategy will not enter or exit the market above this volatility. Can only be enabled if this is the only main strategy for your currency pair. A value > 0 means Bollinger Bandwidth has to be below this value. Remember that this means your volatility values will change a lot if you change the candle size (as do all unbound technical indicators).
    • openBreakouts:optional default true - Open a new position even if the current candle isn't the min/max candle as long as it confirms with the current on EMA crossover trend.
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. Values: up|down|both
    • latestCandlePercent:optional, default 20% - How recent (in percent of 2*patternSize) the latest min/max candle has to be for the bot to open a position in the opposite direction (consider the wave to turn).
    • longTrend:optional, default candles - How this strategy detects the long trend. 'ticker' means long trend will be set from daily ticker instead of pattern candles. Use 'up' or 'down' to force the direction of new positions this strategy will open at the right moment of a wave. Values: candles|ticker|up|down
    • notifyBeforeExit:optional, default true - Send a notification 1 candle tick before exiting the market at a loss.
    • onlyFollowIndicatorTrend:optional, default true - Only trade if the EMA indicator matches our candle pattern and candle trend. The EMA indicator trend is usually longer (more time back) that the candle trend.
    • tradeIncreaseingTrendOnly:optional, default true - Only open a position if the EMA crossover line difference is increasing.
    • CrossMAType:optional, default EMA - The moving average type to use for identifying trend directions. Values: EMA|SMA|DEMA
    • short:optional, default 2 - Number of candles for the short EMA line.
    • long:optional, default 7 - Number of candles for the long EMA line.
    • interval:optional, default 14 - RSI interval for Falling Knife Protection: Don't buy/sell on overbought/oversold. The number of candles to use for RSI computation.
    • low:optional, default 20 - Below this value RSI will be considered oversold.
    • high:optional, default 80 - Above this value RSI will be considered overbought.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands. BollingerBands indicator is being used to determine the market volatility by looking at Bollinger Bandwidth.
  • WaveStopper:
    • A simpler version of WaveSurfer that only closes positions once the market moves x candles in the other direction. The value of x depends on 'minSurfCandles' and 'patternSize'. This strategy can be used as a stop loss strategy. The candle size should be larger than when opening positions (>1h). See WaveSurfer strategy for more details.
    • minSurfCandles:The minimum number of candles to keep a position open. Will usually be less than 'patternSize'.
    • patternSize:optional, default 2 - The number of candles to keep to search for a pattern. 2 will mean we keep 4 candles (2 recent lows, 2 recent highs). 2 is a good value for larger candles above 1h. For fast trading on lower candles you should increase this to 5 or more.
    • takeProfitCandleSize:optional, default 10 - The candle size in minutes of the candles this strategy uses to close a protitable position. At the end of the wave (consisting of bigger candles) it will schedule to close the position on the first candle of this small size moving against our position.
    • historyPriceCandles:optional, default 6 - The number of candles to look for price history to decide if the bot should open long or short.
    • lossPauseCandles:optional, default 0 - How many candles the bot shall pause trading after closing a position at a loss. The assumption is that the market is currently very irregular and no wave pattern can be detected.
    • maxVolatility:This strategy will not enter or exit the market above this volatility. Can only be enabled if this is the only main strategy for your currency pair. A value > 0 means Bollinger Bandwidth has to be below this value. Remember that this means your volatility values will change a lot if you change the candle size (as do all unbound technical indicators).
    • openBreakouts:optional default true - Open a new position even if the current candle isn't the min/max candle as long as it confirms with the current on EMA crossover trend.
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. Values: up|down|both
    • latestCandlePercent:optional, default 20% - How recent (in percent of 2*patternSize) the latest min/max candle has to be for the bot to open a position in the opposite direction (consider the wave to turn).
    • longTrend:optional, default candles - How this strategy detects the long trend. 'ticker' means long trend will be set from daily ticker instead of pattern candles. Use 'up' or 'down' to force the direction of new positions this strategy will open at the right moment of a wave. Values: candles|ticker|up|down
    • notifyBeforeExit:optional, default true - Send a notification 1 candle tick before exiting the market at a loss.
    • onlyFollowIndicatorTrend:optional, default true - Only trade if the EMA indicator matches our candle pattern and candle trend. The EMA indicator trend is usually longer (more time back) that the candle trend.
    • tradeIncreaseingTrendOnly:optional, default true - Only open a position if the EMA crossover line difference is increasing.
    • CrossMAType:optional, default EMA - The moving average type to use for identifying trend directions. Values: EMA|SMA|DEMA
    • short:optional, default 2 - Number of candles for the short EMA line.
    • long:optional, default 7 - Number of candles for the long EMA line.
    • interval:optional, default 14 - RSI interval for Falling Knife Protection: Don't buy/sell on overbought/oversold. The number of candles to use for RSI computation.
    • low:optional, default 20 - Below this value RSI will be considered oversold.
    • high:optional, default 80 - Above this value RSI will be considered overbought.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands. BollingerBands indicator is being used to determine the market volatility by looking at Bollinger Bandwidth.
  • WaveSurfer:
    • A strategy that tries to identify patterns in the trade history of x candles in size (2*patternSize). Then it assumes this pattern will repeat times, adjust price levels and trades accordingly. Backfinder is a good tool to find the good candle size of patterns. Works well with high volume coins (ETH, LTC,..) but can fail badly with small coins because they have irregular spikes quite often. This is a more advanced version of the PatternRepeater strategy.
    • minSurfCandles:The minimum number of candles to keep a position open. Will usually be less than 'patternSize'.
    • patternSize:optional, default 2 - The number of candles to keep to search for a pattern. 2 will mean we keep 4 candles (2 recent lows, 2 recent highs). 2 is a good value for larger candles above 1h. For fast trading on lower candles you should increase this to 5 or more.
    • takeProfitCandleSize:optional, default 10 - The candle size in minutes of the candles this strategy uses to close a protitable position. At the end of the wave (consisting of bigger candles) it will schedule to close the position on the first candle of this small size moving against our position.
    • historyPriceCandles:optional, default 6 - The number of candles to look for price history to decide if the bot should open long or short.
    • lossPauseCandles:optional, default 0 - How many candles the bot shall pause trading after closing a position at a loss. The assumption is that the market is currently very irregular and no wave pattern can be detected.
    • maxVolatility:This strategy will not enter or exit the market above this volatility. Can only be enabled if this is the only main strategy for your currency pair. A value > 0 means Bollinger Bandwidth has to be below this value. Remember that this means your volatility values will change a lot if you change the candle size (as do all unbound technical indicators).
    • openBreakouts:optional default true - Open a new position even if the current candle isn't the min/max candle as long as it confirms with the current on EMA crossover trend.
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. Values: up|down|both
    • latestCandlePercent:optional, default 20% - How recent (in percent of 2*patternSize) the latest min/max candle has to be for the bot to open a position in the opposite direction (consider the wave to turn).
    • longTrend:optional, default candles - How this strategy detects the long trend. 'ticker' means long trend will be set from daily ticker instead of pattern candles. Use 'up' or 'down' to force the direction of new positions this strategy will open at the right moment of a wave. Values: candles|ticker|up|down
    • notifyBeforeExit:optional, default true - Send a notification 1 candle tick before exiting the market at a loss.
    • onlyFollowIndicatorTrend:optional, default true - Only trade if the EMA indicator matches our candle pattern and candle trend. The EMA indicator trend is usually longer (more time back) that the candle trend.
    • tradeIncreaseingTrendOnly:optional, default true - Only open a position if the EMA crossover line difference is increasing.
    • CrossMAType:optional, default EMA - The moving average type to use for identifying trend directions. Values: EMA|SMA|DEMA
    • short:optional, default 2 - Number of candles for the short EMA line.
    • long:optional, default 7 - Number of candles for the long EMA line.
    • interval:optional, default 14 - RSI interval for Falling Knife Protection: Don't buy/sell on overbought/oversold. The number of candles to use for RSI computation.
    • low:optional, default 20 - Below this value RSI will be considered oversold.
    • high:optional, default 80 - Above this value RSI will be considered overbought.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands. BollingerBands indicator is being used to determine the market volatility by looking at Bollinger Bandwidth.
  • UnlimitedMargin:
    • Strategy that always closes positions at a profit. This is done by increasing the position size.
      To be able to always increase your position size as required you should set about 0.5 - 1.0 % of your total available trading capital for this strategy to begin its first trade. Hence the name "unlimited" margin. This strategy is intended to be used for margin trading.
      This strategy is optimized for the top 20 coins by market cap. It should not be used with other coins!
      The first trade of this strategy will be AGAINST the current trend of your chosen indicator and this position will be increased on successive indicator highs/lows.
      This strategy will open and close existing positions, so don't combine it with take-profit or stop-loss strategies to avoid unintended side effects (positions closing at a loss).
      Keep in mind that during Backtesting trading fees are deducted which might still decrease your total balance if 'profitTargetPercent' isn't high enough and during real-time trading exchanges will charge you interest rates for margin trading.
    • profitTargetPercent:optional, default 1.5%. The net profit of your total margin position (opened during multiple trades) when it shall be closed.
    • interval:optional, default 15. The number of candles to use for the high/low calculation to compute the entry indicator value from.
    • minVolumeSpike:optional, default 1.1. The min volume compared to the average volume of 'interval' candles to open a first position.
    • entryIndicator:default RSI. The indicator to use to open and increase a position.
    • low:optional, default 28. Only go long if the entry indicator is below this value.
    • high:optional, default 72. Only go short if the entry indicator is above this value.
    • maxGoLongPrice:optional, default 0 = any price. The maximum price to open a long position.
    • minGoShortPrice:optional, default 0 = any price. The minimum price to open a short position.
  • WeekPredictor:
    • Strategy that follows the weekly trend of the market. This strategy crawls various data feeds (including fundamentals) additionally to doing some Technical Analyisis. Therefore backtesting is not available for this strategy. You may still run it in paper trading mode if you are interested in its results without investing any money.
      It works well on 1h candles and closes positions only if they are in profit. Consider adding a stop-loss strategy.
      This strategy is optimized for the top 20 coins by market cap using USD as base currency and should not be used for smaller coins.
    • tradeMode:optional, default both - If this strategy shall open long and/or short position. In watch mode it will only display market information and send notifications (if enabled). Values: long|short|both|watch
    • trailingCloseMode:optional, default profit. Close an existing position by placing a trailing stop with trailingStopPerc if the global market orderbooks turn against it. Values: always|never|profit|loss
    • priceReachedPercent:optional, default 0.1% - How close the price must be to the reference rate to be considered reached.
    • interval:optional, default 48 - The number of candles to compute the volume profile and average volume from. Also the number of data points to keep in history.
    • volumeRows:The number of equally-sized price zones the price range is divided into.
    • valueAreaPercent:default 60% - The percentage of the total volume that shall make up the value area, meaning the price range where x% of the trades happen.
    • minVolumeSpike:optional, default 1.1 - The min volume compared to the average volume of the last 'interval' candles to open a position.
    • askBidRatioThreshold:optional, default 1.0 - The required ratio of asks/bids within 5% of the current price in the orderbook. Short positions will only be opened when the ratio is greater than this setting and longs only when it is lower.
    • closePosition:optional, default always - Only close a position if its profit/loss is in that defined state. Values: always|profit|loss
    • trailingStopPerc:optional, default 0.5% - The trailing stop percentage that will be placed once the computed profit target of the strategy has been reached.
    • time:optional, default 0 = immediately - The time in seconds until the stop gets executed after the trailing stop has been reached.
    • feed:optional, default BitmexMarketData - The exchange feed to use to get liquidations from. Values: BitmexMarketData
    • currencyPairs:optional, default ["USD_BTC"] - The currency pairs to subscribe to for liquidation data.
    • notifyVolumeChangeAssets:optional, default 0 (disabled) - Send a notification when the order of the top x assets by 24h volume changed.
    • notifyMarketCapChangeAssets:optional, default 0 (disabled) - Send a notification when the order of the top x assets by USD market cap changed.
  • VolumeProfileControl:
    • Strategy that waits until the current price is away a certain percentage from the highest Volume Profile bar and then opens a position under the assumption the price will diverge back to that price level again.
      This is a medium/fast trading strategy designed for 5min to 30min candles in consolidating (not trending) markets.
      This strategy only opens positions. You need a stop-loss and/or take profit strategy.
    • minPercentDivergence:default 1.8. The min percentage the current price has to diverge from the highest volume profile bar to open a position.
    • interval:default 24. The number of candles to compute the volume profile and average volume from.
    • volumeRows:default 24. The number of equally-sized price zones the price range is divided into.
    • valueAreaPercent:default 70%. The percentage of the total volume that shall make up the value area, meaning the price range where x% of the trades happen.
    • minVolumeSpike:default 1.1. The min volume compared to the average volume of the last 'interval' candles to open a position.
    • aroonReached:default 80. If AroonUp or AroonDown are above this value the market is assumed trending and this strategy will not open positions.
  • StopHunter:
    • Strategy that keeps track of price highs and lows and opens a position with the current market trend after a possible stop-loss hunt took place. A stop-loss hunt is detected by a high volume candle with a long tail making a new price high/low. The current market trend is detected by the crossing of 2 EMAs.
      This is a medium/ designed for 60min candles in trending markets.
      This strategy only opens positions. You need a stop-loss and/or take profit strategy.
    • candleTailPercent:optional, default 20% - The minimum percentage relative to the candle body ( abs(open - close) ) the candle high/low has to be long.
    • CrossMAType:optional, default EMA - The indicator to use to look for line cross signals to identify an up/down trend. Values: EMA|DEMA|SMA
    • short:optional, default 7 - The number of candles for the short moving average.
    • long:optional, default 30 - The number of candles for the long moving average.
    • interval:optional, default 24 - The number of candles to compute the average volume from and to check for price highs/lows.
    • minVolumeSpike:optional, default 1.5 - The min volume compared to the average volume of the last 'interval' candles to open a position.
  • FishingNet:
    • A Strategy that starts buying amounts on/after a peak as the price declines. It starts with small amounts and increases the size of the orders as the price goes down (thus dividing the total order size into chunks). As the prices falls into this "fishing net", our losses increase, but since we repeatedly bought the same amount, our average buy price is lower and it doesn't take long to get a profit at any point as soon as the market turns.
      This strategy opens and closes positions but you may still add additional TakeProfit/StopLoss strategies.
    • fishingMode:optional, default trend - In which direction shall this strategy open positions? 'trend' means the strategy will decide automatically based on the current MACD trend. Values: up|down|trend
    • percentage:optional, default 15% - How many percent of the total trading balance shall be used for the first trade and on each trade to increase the position size.
    • maxPosIncreases:optional, default 7 - How many times this strategy shall increase an existing position at most. Note that raising this value can cause your strategy to trade with more than your configured total trading balance.
    • scaleOutPerc:optional, default 0.0 (use the same amount for all orders) - This value allows you to increase each buy/sell order of numOrdersPerSide by a certain percentage. This helps to move the average rate of all your orders (and thus the break-even rate) in your favor.
    • tradingAmountIncreaseFactor:optional, default 1.1 - The factor with which your trading amount will be increased on each trade after opening a position. So the total capital of trade n to increase an existing position will be: tradeTotalBtc * percentage * tradingAmountIncreaseFactor * n
    • profitPercent:optional, default 2.1% - After the total position size reached this profit the position will no longer be increased. Instead a trailing stop with 'trailingStopPerc' will be placed.
    • interval:optional, default 24 - The number of candles to compute the volume profile and average volume from. Also the number of data points to keep in history.
    • volumeRows:default 24 - The number of equally-sized price zones the price range is divided into.
    • valueAreaPercent:default 60% - The percentage of the total volume that shall make up the value area, meaning the price range where x% of the trades happen.
    • minVolumeSpike:optional, default 1.7 - The min volume compared to the average volume of the last 'interval' candles to open a position.
    • minVolumeSpikePosInc:optional, default 1.1 - The min volume when increasing an existing position compared to the average volume of the last 'interval' candles to open a position.
    • closePosition:optional, default profit - Only close a position by placing the trailing stop if its profit/loss is in that defined state.
    • trailingStopPerc:optional, default 0.5% - The trailing stop percentage that will be placed once the computed profit target of the strategy has been reached.
    • time:optional, default 30 (0 = immediately) - The time in seconds until the stop gets executed after the trailing stop has been reached.
    • trendIndicator:optional, default EMA. The indicator to determine the current market trend. Only used in fishingMode 'trend'. Values: MACD|EMA|SMA|DEMA
    • short:optional, default 10 - The number of candles for the short EMA of the MACD indicator (or the moving average of trendIndicator).
    • long:optional, default 26 - The number of candles for the long EMA of the MACD indicator (or the moving average of trendIndicator).
    • signal:optional, default 9 - The number of candles for the signal line of the MACD line (short EMA - long EMA).
    • bollingerBandProtection:optional, default true - Only open new positions within Bollinger Bands to protect against volatile markets where it is more likely that our stop-loss will get hit.
    • feed:optional, default BitmexMarketData - The exchange feed to use to get liquidations from. This is not available during backtesting, so results might differ. Values: BitmexMarketData
    • currencyPairs:optional, default ["USD_BTC"] - The currency pairs to subscribe to for liquidation data.
    • supportLines:The price levels where we want to open long a position. Leave empty to open at any price level.
    • resistanceLines:The price levels where we want to open short a position. Leave empty to open at any price level.
    • expirationPercent:optional, default 3% - Only execute orders at price levels that are within x% of the set support/resistance lines.
  • FishingStraight:
    • A Strategy that repeatedly buys/sells amounts in the same direction. It starts with small amounts and increases the size of the orders as the price goes down (thus dividing the total order size into chunks). If the market keeps moving against an existing position, our losses increase, but since we repeatedly increased our position size, our average buy price is close to the current price and it doesn't take long to get a profit at any point as soon as the market turns.
      This strategy opens and closes positions but you may still add additional TakeProfit/StopLoss strategies.
    • fishingMode:optional, default trend - In which direction shall this strategy open positions? 'trend' means the strategy will decide automatically based on the current MACD trend. Values: up|down|trend
    • percentage:optional, default 10% - How many percent of the total trading balance shall be used for the first trade and on each trade to increase the position size.
    • maxPosIncreases:optional, default 45 - How many times this strategy shall increase an existing position at most. Note that raising this value can cause your strategy to trade with more than your configured total trading balance.
    • minPriceChangeIncrease:optional, default 1.0% - How much the price must move against an open position to increase its size.
    • tradingAmountIncreaseFactor:optional, default 1.05 - The factor with which your trading amount will be increased on each trade after opening a position. So the total capital of trade n to increase an existing position will be: tradeTotalBtc * percentage * tradingAmountIncreaseFactor * n
    • profitPercent:optional, default 1.1% - After the total position size reached this profit the position will no longer be increased. Instead a trailing stop with 'trailingStopPerc' will be placed.
    • closePosition:optional, default profit - Only close a position by placing the trailing stop if its profit/loss is in that defined state.
    • trailingStopPerc:optional, default 0.05% - The trailing stop percentage that will be placed once the computed profit target of the strategy has been reached.
    • time:optional, default 0 (0 = immediately) - The time in seconds until the stop gets executed after the trailing stop has been reached.
    • short:optional, default 10 - The number of candles for the short EMA of the MACD indicator.
    • long:optional, default 26 - The number of candles for the long EMA of the MACD indicator.
    • signal:optional, default 9 - The number of candles for the signal line of the MACD line (short EMA - long EMA).
  • HullSwinger:
    • Strategy that detects swings based on the Hull MA together with DEMA and Bollinger Bands percent B value.
      This swing trading strategy is meant for short term daytrading. It works well on candle sizes of 5min - 120min.
      It will open and close positions. You may still add a stop-loss or take-profit strategy.
    • tradeDirection:optional, default both - The direction in which this strategy shall open positions. Values: up|down|both
    • interval:optional, default 9 - The number of candles to use for the Hull MA computation.
    • swingBackTicks:optional, default 1 - How many candles have to at least pass to trade again in the opposite direction.
    • minProfitClose:optional, default 0 (disabled) - The minimum profit a position must have to close it (and open an opposite position) on a new swing.
      The amount is specified in base currency (USD for USD_XXX pair). Increasing this value can be useful in sideways markets to wait for the next swing and keep the position open until it is profitable.
    • N:optional, default 20 - The time period for MA of BollingerBands.
    • K:optional, default 2 - The factor for upper/lower band of BollingerBands.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands.
  • MarketMakerOffset:
    • Strategy that acts as a market maker by placing 2 corresponding buy/sell limit orders a certain percentage away from each other. You can configure a fixed percentage or place them as far away as possible within the orderbook (while staying closer to the last trade price than any other orders).
      This strategy can also pause market making during quick price movements.
      This strategy can also issue multiple open buy/sell order pairs - each one a configured percentage further apart.
      You must run this strategy alone, meaning without any StopLoss, take-profit or trade strategy.
    • makerMode:optional, default fixed - Fixed means we place orders at percent steps away from the last trade price. Book means orders get placed as far away as possible in the orderbook (going inwards towards the market price) to not ruin potential spread opportunities. Values: fixed|book
    • priceSpreadPerc:optional, default 0.35% - How far away from the last trade price buy/sell orders shall be placed in 'fixed' mode. In 'book' mode this is the minumum spread the orderbook must have to place orders.
    • numOrdersPerSide:optional, default 1 - The number of buy and sell orders with the same amount and same price distance that shall be placed. In 'book' mode there can only be 1 order on each side.
    • orderExpiryHours:optional, default 24 (0 = disabled) - After how many hours orders that only had 1 side filled (buy or sell) shall be cancelled.
    • exitOrderThreshold:optional, default 1 - If this is > 0 the WolfBot will cancel all opposite-direction orders orders once exitOrderThreshold buy/sell orders have been filled and place a single take-profit order to exit the market at priceSpreadPerc. If this is 0 WolfBot will keep all orders on both sides until they are filled or expired.
    • scaleOutPerc:optional, default 0.0 (use the same amount for all orders) - This value allows you to increase each buy/sell order of numOrdersPerSide by a certain percentage. This helps to move the average rate of all your orders (and thus the break-even rate) in your favor.
    • stopLossPerc:optional, default 0.0 (disabled). Place a stop-loss threshold in percent (from the 1st entry rate) at which this strategy will cancel all orders and exit an existing position at a loss.
    • bollingerBandProtection:optional, default true - Only place order pairs within Bollinger Bands to protect against volatile markets where it is more likely that only 1 order will get filled.
    • idleMinutesOnLiquidation:optional, default 2min - Don't place orders for this time after a liquidation occurred.
    • removeOrderPairsOnLiquidation:optional, default true - Remove open order pairs when a liquidation occurred.
    • feed:optional, default BitmexMarketData - The exchange feed to use to get liquidations from. This is not available during backtesting, so results might differ. Values: BitmexMarketData
    • currencyPairs:optional, default ["USD_BTC"] - The currency pairs to subscribe to for liquidation data.
    • forceMaker:optional. default false - Only place a maker order (not paying the higher taker fee).
  • TrailingStopReverseEntry:
    • Strategy that has pre-configured support/resistance lines. When the price crosses such a line we place a trailing stop to trade in the other direction (expecting a bounce back). This trade will only happen if the entry price (when the trailing stop gets executed) is still above resistance (resp. below support).
      Works well with high leverage (10x - 20x) and RSI strategy for entry.
      Works well on 1min candle size together with a trade strategy such as RSIOrderer or RSIScalpOrderer.
      This strategy doesn't close positions. You must add a stop-loss and take profit strategy.
    • supportLines:The price levels below we want to open long a position.
    • resistanceLines:The price levels above we want to open short a position.
    • trailingStopGoLong:optional, default 2% - Place a trailing stop to go long if price reverses up and is still below the support line.
    • trailingStopGoShort:optional, default 2% - Place a trailing stop to go short if price reverses down and is still above the resistance line.
    • expirationPercent:optional, default 4%. Only execute orders at price levels that are within x% of the set support/resistance lines.

Strategy specific configuration options for all arbitrage strategies:

  • Spread:
    • Arbitrage strategy that computes the average price across exchanges. If the price is x% higher/lower than avg on exchanges:
      1. buy at the cheaper exchange and (short) sell at the expensive exchange
      2. close positions after price difference moves x% closer
    • spreadEntry:How many % the market spread between the 2 exchanges has to be to open positions on both of them.
    • spreadTarget:Targeted profit in %. This takes trading fees into account. See the 'tradingFees' setting.
      Positions will be closed according to this equation: spreadExit = spreadEntry - 4*fees - spreadTarget -> will usually negative, meaning prices flipped
    • trailingSpreadStop:After reaching spreadTarget, place a trailing stop to exit the market. Set this to 0 to exit immediately.
    • statelessArbitrage:optional, default false. Use only 1 trade per exchange (buy on the lower, sell on the higher) and don't keep an open margin position until the spread decreases.
      Enabling this setting means configuration such as 'trailingSpreadStop' will be ignored since there are no trades to close the open arbitrage position.
  • Leg:
    • Arbitrage strategy using limit orders with 1 leg "standing" on the current price rate of the higher-volume exchange. Thereby offering liquidity to the lower-volume exchange by copying the orderbook.
      Also see MarketMakerOffset strategy for a similar way of market making while only being connected to 1 exchange.
    • copySide:default "bids" - Which side of the orderbook shall be mirrored. Values: bids|asks
    • priceAddPercent:default 0.05% - The percentage the prices on the market we make shall differ from the leg exchange we mirror the orderbook from. This is our profit. Therefore this value must be higher than your trading fees on both exchanges combined plus the maximum possible rounding up loss depending on each exchange's minimum trade tick size (see bookDepthPerSide).
    • bookDepthPerSide:default 20 - The price-depth of bids and asks that shall be mirrored. It is measured as the number of orderbook price-level entries, so depending on the minimum trade tick size of each exchange the actual number of orders might be different on both exchanges. Yet they both with go the same price-depth into the bids and asks.
      Keep in mind that increasing this value will increase the number of trade API requests to the smaller exchange, so be sure your request limit is sufficiently high.
    • maxAmountPerOrder:optional, default tradeTotalBtc - The max amount (in coin = quote currency) of a single order. The actual amount will be min(maxAmountPerOrder, amount on leg exchange). This value can't be higher than tradeTotalBtc.
    • fixedAmountPerOrder:optional, default 0.0 (copy from each order) - Use a fixed amount for each order instead. Takes precedence over maxAmountPerOrder.
    • maxTotalExposure:optional, default 500.000 - Max amount in base currency of all open orders combined (in coin = quote currency).
    • minDelayAdjustOrdersMs:default 300 ms - The minimum delay in milliseconds before updating orders.

Strategy specific configuration options for all lending strategies:

  • DEMA:
    • Strategy that updates of lending interest rates based on the value of the DEMA indicator.
    • CrossMAType:optional, default DEMA - The moving average type to compute the average interest rate from. The value of this will be the interest rate we start placing loans at. Values: EMA|SMA|DEMA
    • long:optional, default 7 - Number of candles for the DEMA line.
    • autoSensitivity:optional, default false - Automatically adjust how many % above the DEMA the interest rate should be on highly volatile markets.
    • deltaPercent:optional, default 0% - Increase the minimum lending rate by %x above DEMA. Use negative values to decrease it.
    • MAType:optional, default 0 (SMA) - The moving average type of BollingerBands. BollingerBands indicator is being used to determine the market volatility by looking at Bollinger Bandwidth.