# Buy and Sell Strategies

### Strategies available

The logic of each buy or sell strategy does not differ between pairs and dca.

Click a strategy to view the strategy details.

### LOWBB

This buy strategy is true when current ask price goes below the LOWBB threshold you specify.

BB buy values are percentages of the BB width. Width = HIGHBB - LOWBB and a `buy_value`

of +/-10 represents 10% of this width.

For a coin to be bought using LOWBB, the ask price must be equal to or less than the value of the LOWBB price multiplied by (1 + `buy_value`

expressed as a percentage).

**The Numbers**

Valid Values: 100 to -100

100 = 100% of the BB width above LOWBB. i.e. on the HIGHBB line

50 = 50% of the BB width above LOWBB. i.e halfway between HIGHBB and LOWBB

0 = on the LOWBB line

-50 = 50% of the BB width below LOWBB

-100 = 100% of the BB width below LOWBB

The lower the value the more conservative it is.

**The Formula**

negative `buy_value`

Buy Price <= LOWBB - ((HIGHBB - LOWBB) * ABS(buy_value)/100)

positive `buy value`

Buy Price <= LOWBB + ((HIGHBB - LOWBB) * ABS(buy_value)/100)

**The Parameters**

`BB_std`

`BB_candle_period`

`BB_Length`

**Examples**

`DEFAULT_A_buy_value = 20`

→ buy zone begins 20% (of width) above LOWBB line. Ask price must be less than or equal to this value. `DEFAULT_A_buy_value_limit`

must be less than 20 including negative numbers if used.

`DEFAULT_A_buy_value = 0`

→ buy zone begins right on top of the LOWBB line. Ask price must be less than or equal to this value. `DEFAULT_A_buy_value_limit`

must be less than 0 if used.

`DEFAULT_A_buy_value = -10`

→ buy zone begins 10% (of width) below LOWBB line. Ask price must be less than or equal to this value. `DEFAULT_A_buy_value_limit`

must be less than -10.

→ Use **TradingView** to visualize **LOWBB/HIGHBB** with this indicator.

### HIGHBB

This buy/sell strategy is true when current ask/bid price goes above the HIGHBB threshold you specify.

BB values are percentages of the BB width. Width = HIGHBB - LOWBB and a `buy_value`

/`sell_value`

of +/-10 represents 10% of this width.

For a coin to be bought/sold using HIGHBB, the ask/bid price must be greater than or equal to the value of the HIGHBB price multiplied by (1 - `buy_value`

/`sell_value`

expressed as a percentage).

**The Numbers**

Valid Values: integers from 100 to -100

100 = 100% of the BB width below HIGHBB. i.e. on the LOWBB line

50 = 50% of the BB width below HIGHBB. i.e halfway between HIGHBB and LOWBB

0 = on the HIGHBB line

-50 = 50% of the BB width above HIGHBB

-100 = 100% of the BB width above HIGHBB

Lower values are more conservative for buying and higher values are more conservative for selling.

**The Parameters**

`BB_std`

`BB_candle_period`

`BB_Length`

**The Formula**

negative `buy/sell_value`

Buy/sell Price >= HIGHBB + ((HIGHBB - LOWBB) * ABS(buy/sell_value)/100)

positive `buy/sell_value`

Buy/sell Price >= HIGHBB - ((HIGHBB - LOWBB) * ABS(buy/sell_value)/100)

**Examples**

`DEFAULT_A_buy_value = 20`

→ buy zone begins 20% (of width) below the HIGHBB line. Ask price must be greater than or equal to this value. `DEFAULT_A_buy_value_limit`

must be greater than 20 if used.

`DEFAULT_A_buy_value = -10`

→ buy zone begins 10% (of width) above the HIGHBB line. Ask price must be greater than or equal to this value. `DEFAULT_A_buy_value_limit`

must be greater than -10 including positive numbers if used.

`DEFAULT_DCA_B_sell_value = 0`

→ sell zone begins right on top of the HIGHBB line. Bid price price must be greater than or equal to this value.

→ Use **TradingView** to visualize **LOWBB/HIGHBB** with this indicator.

### GAIN

This MANDATORY sell strategy is true when current profit is greater than or equal to `sell_value`

.

GAIN acts as the minimum profit level you are targeting and as such it is required that GAIN be used as one of the sell strategies you use. If you set a negative value coins can be sold for a loss.

The `sell_value`

is a percentage of profit that must be reached. When calculating the price required to make this amount of profit the bot also accounts for fees (on Binance the bot assumes the full fee, not the BNB discounted fee.)

The Profit % (P%) column in pairs and DCA Logs shows the fee corrected current profit using the highest bid price and also the highest bid price with enough volume if `DEFAULT_min_orderbook_profit_percentage`

is used.

**The Numbers**

Valid Values: Decimal values

0.5 = 0.5% profit after exchange maximum fees

1 = 1% profit after exchange maximum fees

2.85 = 2.85% profit after exchange maximum fees

**The Formula**

Sell Price >= (average bought price * (1 + sell_value/100) + fees

**Examples**

`DEFAULT_A_sell_value = 1`

→ sell zone begins 1% above the average bought price plus fees. Bid price must be greater than or equal to this value.

`DEFAULT_A_sell_value = -10`

→ sell zone begins 10% below the average bought price plus fees. Bid price must be greater than or equal to this value.

### LOSS

This buy strategy is true when the price of the coin has dropped by the set percentage in the last 24 hours. The percentage is the 24h change specified by your exchange.

**The Numbers**

Valid Values: positive or negative decimal values.

A positive `buy value`

is converted to negative however `buy_value_limit`

needs to be negative. For simplicity use negatives for both.

3 = 3% loss over 24 hours

-3 = 3% loss over 24 hours

-7.5 = 7.5% loss over 24 hours

**The Formula**

Buy Price <= (price 24 hours ago) * (1-ABS(buy_value)/100)

**Examples**

`DEFAULT_A_buy_value = -7`

→ buy zone begins 7% below the price from 24 hours ago. Ask price must be less than or equal to this value. `DEFAULT_A_buy_value_limit`

must be less than -7 if used.

`DEFAULT_A_buy_value = 7`

→ positive numbers are converted to negative. So result is the same as above.

### SMAGAIN

This buy/sell strategy is true when the current ask/bid price is above (positive `buy/sell_value`

) or below (negative `buy/sell_value`

) the lowest of the two SMA lines specified. It does not matter if the fast or slow SMA line is lower, the bot always looks at the value of the lower line.

If a positive value is used the ask/bid price must be greater than or equal to the value of the lower SMA band multiplied by (1 + `buy/sell_value`

expressed as a percentage).

If a negative value is used the ask/bid price must be less than or equal to the value of the lower SMA band multiplied by (1 + `buy/sell_value`

expressed as a percentage).

**The Numbers**

Valid Values: positive or negative decimal values.

1 = 1% of the price above the lowest of the two SMA lines

0 = Right on top of the lowest SMA line.

-0.5 = 0.5% of the price below the lowest of the two SMA lines

**The Parameters**

`SMA_candle_period`

`SMA_fast_length`

`SMA_slow_length`

**The Formula**

Positive `buy/sell_value`

buy/sell price >= lowest SMA * (1 + ABS(buy/sell_value/100))

Negative `buy/sell_value`

buy/sell price <= lowest SMA * (1 - ABS(buy/sell_value/100))

**Examples**

`DEFAULT_A_sell_value = 0.8`

→ sell zone begins 0.8% (of the price) above the lowest SMA line. Bid price must be equal to or greater than this value.

`DEFAULT_A_buy_value = 0`

→ buy zone begins on the lowest SMA line. Ask price must be greater than or equal to this value. `DEFAULT_A_buy_value_limit`

must be greater than 0 if used.

`DEFAULT_DCA_B_buy_value = -1`

→ buy zone begins 1% (of the price) below the lowest SMA line. Ask price must be less than or equal to this value.

→ Use **TradingView** to visualize **SMAGAIN** with this indicator.

→ Use **TradingView** to visualize **EMAGAIN** with this indicator.

### EMAGAIN

This buy/sell strategy is true when the current ask/bid price is above (positive buy/sell_value) or below (negative buy/sell_value) the lowest of the two EMA lines specified. It does not matter if the fast or slow EMA line is lower, the bot always looks at the value of the lower line.

If a positive value is used the ask/bid price must be greater than or equal to the value of the lower EMA band multiplied by (1 + `buy/sell_value`

expressed as a percentage).

If a negative value is used the ask/bid price must be less than or equal to the value of the lower EMA band multiplied by (1 + `buy/sell_value`

expressed as a percentage).

**The Numbers**

Valid Values: positive or negative decimal values.

1 = 1% of the price above the lowest of the two EMA lines

0 = Right on top of the lowest EMA line.

-0.5 = 0.5% of the price below the lowest of the two EMA lines

**The Parameters**

`EMA_candle_period`

`EMA_fast_length`

`EMA_slow_length`

**The Formula**

Positive `buy/sell_value`

buy/sell price >= lowest EMA * (1 + ABS(buy/sell_value/100))

Negative `buy/sell_value`

buy/sell price <= lowest EMA * (1 - ABS(buy/sell_value/100))

**Examples**

`DEFAULT_A_sell_value = 0.8`

→ sell zone begins 0.8% (of the price) above the lowest EMA line. Bid price must be equal to or greater than this value.

`DEFAULT_A_buy_value = 0`

→ buy zone begins on the lowest EMA line. Ask price must be greater than or equal to this value. `DEFAULT_A_buy_value_limit`

must be greater than 0 if used.

`DEFAULT_DCA_B_buy_value = -1`

→ buy zone begins 1% (of the price) below the lowest EMA line. Ask price must be less than or equal to this value.

→ Use **TradingView** to visualize **EMAGAIN** with this indicator.

### SMASPREAD

This buy/sell strategy is true when the spread between fast and slow SMA is larger (bigger spread) than or equal to the `buy/sell_value`

.

With SMASPREAD the current price does not matter, only the magnitude of the spread.

**The Numbers**

Valid Values: positive or negative decimal numbers.

**The Parameters**

`SMA_candle_period`

`SMA_fast_length`

`SMA_slow_length`

**The Formula**

Spread = (SMA2 / SMA1 - 1) * 100

**Examples**
`DEFAULT_A_buy_value = -0.5`

→ buy strategy is true when the calculated spread is -0.5% or larger. (Fast SMA is LOWER than Slow SMA). `DEFAULT_A_buy_value_limit`

must be less than -0.5 if used.

`DEFAULT_A_sell_value = 0.6`

→ sell strategy is true when the calculated spread is 0.6% or larger. (Fast SMA is HIGHER than Slow SMA)

→ Use **TradingView** to visualize **SMASPREAD** with this indicator.

### EMASPREAD

This buy/sell strategy is true when the spread between fast and slow EMA is larger (bigger spread) than or equal to the `buy/sell_value`

.

With EMASPREAD the current price does not matter, only the magnitude of the spread.

**The Numbers**

Valid Values: positive or negative decimal numbers.

**The Parameters**

`EMA_candle_period`

`EMA_fast_length`

`EMA_slow_length`

**The Formula**

Spread = (EMA2 / EMA1 - 1) * 100

**Examples**

`DEFAULT_A_buy_value = -0.5`

→ buy strategy is true when the calculated spread is -0.5% or larger. (Fast EMA is LOWER than Slow EMA). `DEFAULT_A_buy_value_limit`

must be less than -0.5 if used.

`DEFAULT_A_sell_value = 0.6`

→ sell strategy is true when the calculated spread is 0.6% or larger. (Fast EMA is HIGHER than Slow EMA)

→ Use **TradingView** to visualize **EMASPREAD** with this indicator.

### SMACROSS

This buy/sell strategy is true when the SMA lines have crossed and the spread is larger (bigger spread) than or equal to the `buy/sell_value`

.

The direction of the cross is important. If a positive `buy/sell_value`

is used the fast SMA line must have crossed above the slow SMA line. If a negative `buy/sell_value`

is used the fast SMA line must have crossed below the slow SMA line.

The cross must take place within the number of `cross_candles`

specified also.

**The Numbers**

Valid Values: Positive or negative decimal values.

**The Parameters**

`SMA_cross_candles`

`SMA_candle_period`

`SMA_fast_length`

`SMA_slow_length`

**The Formula**

A cross must have occurred within the number of `SMA_cross_candles`

specified and:

Spread = (SMA2 / SMA1 - 1) * 100

**Examples**

`DEFAULT_A_buy_value = -0.2`

→ buy strategy is true when the calculated spread is -0.2% or larger (Fast SMA is LOWER than Slow SMA) and the Fast SMA crossed below the slow SMA within the last 5 candles (excluding the current candle). `DEFAULT_A_buy_value_limit`

must be less than -0.2 if used.

`DEFAULT_A_buy_value = 0.05`

→ buy strategy is true when the calculated spread is 0.05% or larger (Fast SMA is ABOVE Slow SMA) and the Fast SMA crossed above the slow SMA within the last 5 candles (excluding the current candle). `DEFAULT_A_buy_value_limit`

must be more than 0.05 if used.

`DEFAULT_A_sell_value = 0.6`

→ sell strategy is true when the calculated spread is 0.6% or larger (Fast SMA is HIGHER than Slow SMA) and the Fast SMA crossed above the slow SMA within the last 5 candles (excluding the current candle).

→ Use **TradingView** to visualize **SMACROSS** with this indicator.

### EMACROSS

This buy/sell strategy is true when the EMA lines have crossed and the spread is larger (bigger spread) than or equal to the `buy/sell_value`

.

The direction of the cross is important. If a positive `buy/sell_value`

is used the fast EMA line must have crossed above the slow EMA line. If a negative `buy/sell_value`

is used the fast EMA line must have crossed below the slow EMA line.

The cross must take place within the number of `cross_candles`

specified also.

**The Numbers**

Valid Values: Positive or negative decimal values.

**The Parameters**

`EMA_cross_candles`

`EMA_candle_period`

`EMA_fast_length`

`EMA_slow_length`

**The Formula**

A cross must have occurred within the number of `EMA_cross_candles`

specified and:

Spread = (EMA2 / EMA1 - 1) * 100

**Examples**

`DEFAULT_A_buy_value = -0.5`

→ buy strategy is true when the calculated spread is -0.5% or larger (Fast EMA is LOWER than Slow EMA) and the Fast EMA crossed below the slow EMA within the last 5 candles (excluding the current candle). `DEFAULT_A_buy_value_limit`

must be less than -0.5 if used.

`DEFAULT_A_buy_value = 0.05`

→ buy strategy is true when the calculated spread is 0.05% or larger (Fast EMA is ABOVE Slow EMA) and the Fast EMA crossed above the slow EMA within the last 5 candles (excluding the current candle). `DEFAULT_A_buy_value_limit`

must be more than 0.05 if used.

`DEFAULT_A_sell_value = 0.6`

→ sell strategy is true when the calculated spread is 0.6% or larger (Fast EMA is HIGHER than Slow EMA) and the Fast EMA crossed above the slow EMA within the last 5 candles (excluding the current candle).

→ Use **TradingView** to visualize **EMACROSS** with this indicator.

### RSI

This buy/sell strategy is true when the RSI value is less than or equal to the `buy_value`

or is greater than or equal to the `sell_value`

.

RSI as a buy strategy is true if `buy_value`

> RSI > buy_value_limit.

RSI as a sell strategy is true if `sell_value`

< RSI.

The Relative Strength Index is a momentum oscillator that measures the speed and change of price movements. It is a commonly used and very popular indicator and works well when paired with Bollinger Bands.
The default and typically used `RSI_length`

for RSI is 14, lowering increases sensitivity, raising decreases it.
RSI is typically considered overbought when above 70 and oversold when below 30.

More can be learned about this indicator here: http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength_index_rsi

**The Numbers**

Valid Values: Integers between 0 and 100

**The Parameters**

**The Formula**

100 RSI = 100 - -------- 1 + RS RS = Average Gain / Average Loss

**Examples**

`DEFAULT_A_buy_value = 20`

→ buy zone begins when the RSI value is less than or equal to 20. `DEFAULT_A_buy_value_limit`

must be less than 20 if used.

`DEFAULT_A_sell_value = 80`

→ sell zone begins when the RSI value is greater than or equal to 80.

`DEFAULT_DCA_B_buy_value = 30`

→ DCA buy zone begins when the RSI value is less than or equal to 30. `DEFAULT_DCA_B_buy_value_limit`

must be less than 30 if used.

→ Use **TradingView** to visualize **RSI** with this indicator.

### STOCH

This buy/sell strategy is true when: buy_value < calculated STOCH < buy_value_limit

A summary definition from this at StockCharts.com (there is a great deal of in depth information in this article):

The Stochastic Oscillator is a momentum indicator that shows the location of the close relative to the high-low range over a set number of periods. STOCH follows the speed or the momentum of price. As a rule, the momentum changes direction before price. STOCH is also used to identify bull and bear set-ups to anticipate a future reversal. Because the Stochastic Oscillator is range bound, is also useful for identifying overbought and oversold levels.

**The Numbers**

Valid Values: STOCH ranges from 0 to 100, since it is calculated as a percentage.

**The Parameters**

`STOCH_length`

`STOCH_candle_period`

**The Formula**

Stochastics is measured with the %K line and the %D line.

It is the %D line that we use in PT, for it will indicate any major signals in the chart. The formula for the more important %D line looks like this:

%D=100*((%K1+%K2+%K3)/3)

Mathematically, the %K line looks like this:

%K = 100[(C – L)/(H – L)] C = the most recent closing price L = the low of the STOCH_length previous trading sessions H = the highest price traded during the same STOCH_length period.

**Examples**

`DEFAULT_A_buy_value = 20`

→ buy zone begins when the STOCH value is less than or equal to 20. `DEFAULT_A_buy_value_limit`

must be less than 20 if used.

`DEFAULT_A_sell_value = 80`

→ sell zone begins when the STOCH value is greater than or equal to 80.

`DEFAULT_DCA_B_buy_value = 30`

→ DCA buy zone begins when the STOCH value is less than or equal to 30. `DEFAULT_DCA_B_buy_value_limit`

must be less than 30 if used.

### STOCHRSI

This buy/sell strategy is true when

From this article on StockCharts.com (much more info here, please read):

StochRSI is an oscillator that measures the level of RSI relative to its high-low range over a set time period. StochRSI applies the Stochastics formula to RSI values, instead of price values. This makes it an indicator of an indicator. The result is an oscillator that fluctuates between 0 and 1.

Traders looking to enter a stock based on an overbought or oversold reading in RSI might find themselves continuously on the sidelines. Chande and Kroll developed StochRSI to increase sensitivity and generate more overbought/oversold signals. A move above 0.80 is considered overbought, while a move below 0.20 is considered oversold. Second, it can be used to identify the short-term trend.

**The Numbers**

Valid Values: Values between 0 and 1 are valid.

**The Parameters**

`RSI_candle_period`

`RSI_length`

`STOCH_length`

**The Formula**

StochRSI = (RSI - Lowest Low RSI) / (Highest High RSI - Lowest Low RSI)

**Examples**

`DEFAULT_A_buy_value = 0.2`

→ buy zone begins when the calculated value is less than or equal to 0.2. `DEFAULT_A_buy_value_limit`

must be less than 0.2 if used.

`DEFAULT_A_sell_value = 0.8`

→ sell zone begins when the calculated value is greater than or equal to 0.8.

`DEFAULT_DCA_B_buy_value = 0.3`

→ buy zone begins when the calculated value is less than or equal to 0.3. `DEFAULT_DCA_B_buy_value_limit`

must be less than 0.3 if used.

### MACD

This buy/sell strategy is true when the MA lines have crossed and the `spread/divergence/convergence`

is larger (bigger spread) than or equal to the `buy/sell_value`

.

If a positive `buy/sell_value`

is used the fast MA line must be above the slow MA line. If a negative `buy/sell_value`

is used the fast MA line must be below the slow MA line.
From this article at Investopedia.com (much more info here, please read):

Moving average convergence divergence (MACD) indicators can be interpreted using three different methods: Crossover, Dramatic Rise, and Divergence. It is the first method, Crossover, that we are using in PT.

**Crossover** - When the MACD falls below the signal line (is negative in our implementation), it is a bearish signal, which indicates that it may be time to sell. Conversely, when the MACD rises above the signal line (is positive), the indicator gives a bullish signal, which suggests that the price of the asset is likely to experience upward momentum. Many traders wait for a confirmed cross above the signal line before entering into a position to avoid getting “faked out” or entering into a position too early, as shown by the first arrow.

**The Numbers**

Valid Values: Positive or negative decimal values (9 decimal places)

**The Parameters**

`MACD_candle_period`

Longer candle periods tend to work better for MACD.

`MACD_fast_length`

`MACD_slow_length`

`MACD_signal`

The values of 12, 26 and 9 are the typical fast, slow, signal setting used with the MACD, however other values can be substituted depending on your trading style and goals.

**The Formula**

MACD Line: (MACD_fast_length - MACD_slow_length) Signal Line: MACD_signal (days) EMA of MACD Line MACD Histogram: MACD Line - Signal Line

**Examples**

`MACD_candle_period= 900`

`MACD_fast_length = 12`

`MACD_slow_length = 26`

`MACD_signal = 9`

`DEFAULT_A_buy_value = 0.0000002`

→ Triggers “true” when the calculated value of MACD is 0.000000200 or greater. `DEFAULT_A_buy_value_limit`

must be greater than 0.0000002 if used.

`DEFAULT_DCA_A_buy_value = 0.0000003`

→ Triggers “true” when the calculated value is 0.000000300 or greater. DEFAULT_DCA_A_buy_value_limit must be greater than 0.0000003 if used.

`DEFAULT_A_sell_value = -0.0000002`

→ Triggers “true” when the calculated value of MACD falls to -0.000000200 or less.

`DEFAULT_DCA_A_sell_value = -0.0000003`

→ Triggers “true” when the calculated value of MACD falls to -0.000000300 or less.

### BBWIDTH

This buy/sell strategy is true when the BBWIDTH is =< the `buy_value`

or >= the `sell_value`

.

From this article at StockCharts.com (much more info here, please read):

Bollinger BandWidth is an indicator derived from Bollinger Bands.

BandWidth measures the percentage difference between the upper band and the lower band. BandWidth decreases as Bollinger Bands narrow and increases as Bollinger Bands widen. Because Bollinger Bands are based on the standard deviation, falling BandWidth reflects decreasing volatility and rising BandWidth reflects increasing volatility.

Bollinger Bands consist of a middle band with two outer bands. The middle band is a simple moving average usually set at 20 periods. The outer bands are usually set 2 standard deviations above and below the middle band. Settings can be adjusted to suit the characteristics of particular securities or trading styles.

Bollinger BandWidth is best known for identifying The Squeeze. This occurs when volatility falls to a very low level, as evidenced by the narrowing bands. The upper and lower bands are based on the standard deviation, which is a measure of volatility. The bands narrow as price flattens or moves within a relatively narrow range. The theory is that periods of low volatility are followed by periods of high volatility. Relatively narrow BandWidth (a.k.a. the Squeeze) can foreshadow a significant advance or decline. After a Squeeze, a price surge and subsequent band break signal the start of a new move. A new advance starts with a Squeeze and subsequent break above the upper band. A new decline starts with a Squeeze and subsequent break below the lower band.

Using BBWIDTH with HIGHBB, where the coin breaks the upper band is a good possible use of this indicator.

**The Numbers**

Valid Values: Positive decimal values.

BBWIDTH should be set per coin, as it varies based on each coin's particular behavior.

**The Parameters**

`BB_std`

`BB_candle_period`

`BB_length`

**The Formula**

( (Upper Band - Lower Band) / Middle Band) * 100

**Examples**

`DEFAULT_A_buy_value = 0.5`

→ buy zone begins when BBWIDTH is less than or equal to `buy_value`

. `DEFAULT_A_buy_value_limit`

must be less than 0.5 if used.

`DEFAULT_DCA_A_buy_value = 0.5`

→ True when BBWIDTH is less than or equal to `buy_value`

. `DEFAULT_DCA_A_buy_value_limit`

must be less than 0.5 if used.

`DEFAULT_A_sell_value = 0.5`

→ sell zone begins when BBWIDTH is greater than or equal to `sell_value`

.

### OBV

This buy\sell strategy is true when:

If `buy_value`

>= 0:

`buy_value`

⇐ OBV ⇐ `buy_value_limit`

If `buy_value`

< 0:

`buy_value`

>= OBV >= `buy_value_limit`

If `sell_value`

>= 0:

`sell_value`

>= OBV >= `buy_value_limit`

If `sell_value`

< 0:

`sell_value`

⇐ OBV ⇐ `buy_value_limit`

On Balance Volume (OBV) measures buying and selling pressure as a cumulative indicator that adds volume on up days and subtracts volume on down days. It was one of the first indicators to measure positive and negative volume flow. Chartists can look for divergences between OBV and price to predict price movements or use OBV to confirm price trends.

OBV for PT is calculated as the difference between the first volume amount captured (from OBV_length periods), and the signal candle (from OBV_signal), in percentage.

In PT, only the past 500 candles of volume are available, so OBV_length must be less than 500 (499 max).

**The Numbers**

Valid Values: Positive or negative decimal values.

**The Parameters**

`OBV_candle_period`

`OBV_length`

- Must be less than 500

`OBV_signal`

- Must be less than OBV_length

**The Formula**

If the closing price is above the prior close price then: Current OBV = Previous OBV + Current Volume If the closing price is below the prior close price then: Current OBV = Previous OBV - Current Volume If the closing prices equals the prior close price then: Current OBV = Previous OBV (no change) OBV-value = [ OBV_length - OBV_signal ] / absolute(OBV_signal)

**Examples**

`DEFAULT_A_buy_value = -0.001`

→ buy zone begins when the calculated value is less than or equal to -0.001. `DEFAULT_A_buy_value_limit`

must be less than -0.001 if used.

`DEFAULT_A_buy_value = 0.005`

→ buy zone begins when the calculated value is greater than or equal to 0.005. `DEFAULT_A_buy_value_limit`

must be greater than 0.005 if used.

→ Use **TradingView** to visualize **OBV** with this indicator.

### ANDERSON

Anderson-DCA was an idea by a team member (called yea Anderson..lol) that was implemented in the early days of ProfitTrailer. The idea was that you could make DCA buys using different triggers each time to try to get out of a bad position faster instead of using a specific indicator.

These days every strategy uses the same `buy_trigger`

parameters as ANDERSON so there is no benefit (or harm) using it alongside other strategies. However if you don't wish to use any other strategy you can still choose good old ANDERSON.

This DCA only buy strategy is true when the price of a coin has dropped by the specified `buy_trigger`

percentage relative to the average price you have paid for your current holding.

**The Numbers**

Valid Values:
ANDERSON is unique in that it does not use a `buy_value`

, only the `buy_trigger`

that is common to all strategies.

**The Formula**

buy price <= Average Price * (1 - buy_trigger/100)

**Examples**

`DEFAULT_DCA_A_buy_strategy = ANDERSON`

`DEFAULT_DCA_buy_trigger = -3`

`DEFAULT_DCA_buy_trigger_1 = -2`

`DEFAULT_DCA_buy_trigger_2 = -3.5`

`DEFAULT_DCA_buy_trigger_3 = -4`

`DEFAULT_DCA_trailing_buy = 0.2`

In this scenario the DCA level specific triggers will be used for the first three DCA buys. After that, if the bot is allowed to buy more times, the DEFAULT trigger will be used for each level.

In our example the bot buys a coin for whatever price using the strategies defined in pairs.properties. Now the bot looks at the lowest ask price in the order book and watches to see if it drops below our `buy_trigger`

. Once the Ask price goes below -2 the bot looks to trail back up by the `trailing_buy`

amount. (See A Traling Story for more info on trailing)

If it successfully trails and is still below the `buy_trigger`

ProfitTrailer tries to buy. After a successful DCA buy the average price is recalculated. and the bot now looks for the ASK price to drop -3.5% from the new average price. And so the process is repeated.

For the 4th buy onwards the default value of -3 will be used indefinitely as no level specific value has been set.