Position Adjustment Made Easy! Freqtrade Dynamic Position Management Guide

This article was produced by the Quantitative Trading Lab at https://www.itrade.icu. Visit for more benefits. In live trading, dynamically adjusting positionsβ€”adding or reducing trades in batchesβ€”is essential for maximizing profits and managing risk. Freqtrade supports dynamic position adjustment and multiple entries, enabling advanced operations like scaling in and out. This guide covers key parameters and practical examples.


⚑ ignore_roi_if_entry_signal β€” Ignore ROI to Prioritize Entry Signals

ignore_roi_if_entry_signal determines whether to ignore the minimal_roi take-profit rules when an existing position receives a new entry signal. When enabled, the strategy may extend its holding period even if the ROI is reached. Default is False.

  • When True:

    • If a new entry signal appears while holding a position, the ROI take-profit is ignored.

    • Even if ROI is achieved, the strategy waits for new signals before selling.

    • Useful for trend-following strategies or staged entries.

  • When False:

    • ROI take-profit is strictly enforced.

    • Even if new entry signals occur, a position is sold when ROI conditions are met.

ignore_roi_if_entry_signal = True

βš–οΈ Priority Logic Diagram

graph TD
  A[Currently Holding] --> B{ROI Achieved?}
  B -->|Yes| C{Exit Signal?}
  C -->|Yes| D{exit_profit_only?}
  D -->|Yes| E{Is Position Profitable?}
  E -->|Yes| F[βœ… Close Position]
  E -->|No| G[❌ Hold]
  D -->|No| F
  C -->|No| H{Use ROI Auto Exit?}
  H -->|Yes| F
  H -->|No| G

πŸ”„ position_adjustment_enable β€” Enable Position Adjustment

This parameter activates custom position adjustment functionality.

Code Example: Adding Positions

Code Example: Reducing Positions

⚠️ Notes:

  • Must be paired with adjust_trade_position() function.

  • Supports dynamic scaling during active positions.

  • Can react to new entry signals for adding/reducing positions.


πŸ“ˆ max_entry_position_adjustment β€” Maximum Additions per Trade

  • Limits the maximum number of allowed position adjustments per trade.

  • Prevents unlimited scaling and excessive risk.

  • Typical range: 1–5, depending on strategy and risk management.


πŸ› οΈ adjust_trade_position() Detailed Example

This function defines the actual logic for adjusting positions, based on current size, market signals, or profit/loss.

⚠️ Notes:

  • Called automatically by the strategy.

  • Can combine technical indicators, current profit, and market sentiment for adjustments.

  • Must return a value between 0 and 1 representing the target position proportion.


βœ… Summary Table

Parameter
Description
Recommended / Notes

ignore_roi_if_entry_signal

Ignore ROI rules to prioritize entry

True for multi-entry/adding positions

position_adjustment_enable

Enable dynamic position adjustment

True β€” requires implementing adjustment function

max_entry_position_adjustment

Max number of allowed adjustments

3 β€” adjust according to risk management

adjust_trade_position()

Custom position adjustment function

Must implement and return target proportion

Last updated