Fix minor "gotchas"
This commit is contained in:
parent
aa54592ec7
commit
d3f3c49b13
@ -238,7 +238,7 @@ For performance reasons, it's disabled by default and freqtrade will show a warn
|
||||
The strategy is expected to return a stake_amount if and when an additional buy order should be made (position is increased).
|
||||
If there is not enough funds in the wallet then nothing will happen.
|
||||
Additional orders also mean additional fees and those orders don't count towards `max_open_trades`.
|
||||
Using unlimited stake amount with DCA orders requires you to also implement `custom_stake_amount` callback to avoid allocating all funcds to initial order.
|
||||
Using unlimited stake amount with DCA orders requires you to also implement `custom_stake_amount` callback to avoid allocating all funds to initial order.
|
||||
|
||||
!!! Warning
|
||||
Stoploss is still calculated from the initial opening price, not averaged price.
|
||||
@ -305,8 +305,8 @@ class DigDeeperStrategy(IStrategy):
|
||||
# Allow up to 3 additional increasingly larger buys (4 in total)
|
||||
# Initial buy is 1x
|
||||
# If that falls to -5% profit, we buy 1.25x more, average profit should increase to roughly -2.2%
|
||||
# If that falles down to -5% again, we buy 1.5x more
|
||||
# If that falles once again down to -5%, we buy 1.75x more
|
||||
# If that falls down to -5% again, we buy 1.5x more
|
||||
# If that falls once again down to -5%, we buy 1.75x more
|
||||
# Total stake for this trade would be 1 + 1.25 + 1.5 + 1.75 = 5.5x of the initial allowed stake.
|
||||
# That is why max_dca_multiplier is 5.5
|
||||
# Hope you have a deep wallet!
|
||||
|
@ -7,7 +7,7 @@ import traceback
|
||||
from datetime import datetime, timezone
|
||||
from math import isclose
|
||||
from threading import Lock
|
||||
from typing import Any, Dict, List, Optional
|
||||
from typing import Any, Dict, List, Optional, Tuple
|
||||
|
||||
import arrow
|
||||
|
||||
@ -650,7 +650,9 @@ class FreqtradeBot(LoggingMixin):
|
||||
logger.exception(f"Could not cancel stoploss order {trade.stoploss_order_id}")
|
||||
return trade
|
||||
|
||||
def get_valid_enter_price_and_stake(self, pair, price, stake_amount, trade):
|
||||
def get_valid_enter_price_and_stake(
|
||||
self, pair: str, price: Optional[float], stake_amount: float,
|
||||
trade: Optional[Trade]) -> Tuple[float, float]:
|
||||
if price:
|
||||
enter_limit_requested = price
|
||||
else:
|
||||
|
@ -4432,11 +4432,11 @@ def test_position_adjust(mocker, default_conf_usdt, fee) -> None:
|
||||
assert order
|
||||
assert order.order_id == '650'
|
||||
|
||||
def make_sure_its_651(*apos, **kwargs):
|
||||
def make_sure_its_651(*args, **kwargs):
|
||||
|
||||
if apos[0] == '650':
|
||||
if args[0] == '650':
|
||||
return closed_successful_buy_order
|
||||
if apos[0] == '651':
|
||||
if args[0] == '651':
|
||||
return open_dca_order_1
|
||||
return None
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user