ignore_roi_if_buy_signal -> ignore_roi_if_entry_signal
This commit is contained in:
parent
5bafdb6108
commit
b1378efdeb
@ -18,7 +18,7 @@
|
|||||||
"use_exit_signal": true,
|
"use_exit_signal": true,
|
||||||
"exit_profit_only": false,
|
"exit_profit_only": false,
|
||||||
"exit_profit_offset": 0.0,
|
"exit_profit_offset": 0.0,
|
||||||
"ignore_roi_if_buy_signal": false,
|
"ignore_roi_if_entry_signal": false,
|
||||||
"ignore_buying_expired_candle_after": 300,
|
"ignore_buying_expired_candle_after": 300,
|
||||||
"trading_mode": "spot",
|
"trading_mode": "spot",
|
||||||
"margin_mode": "",
|
"margin_mode": "",
|
||||||
|
@ -119,7 +119,7 @@ Mandatory parameters are marked as **Required**, which means that they are requi
|
|||||||
| `use_exit_signal` | Use sell signals produced by the strategy in addition to the `minimal_roi`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `true`.* <br> **Datatype:** Boolean
|
| `use_exit_signal` | Use sell signals produced by the strategy in addition to the `minimal_roi`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `true`.* <br> **Datatype:** Boolean
|
||||||
| `exit_profit_only` | Wait until the bot reaches `exit_profit_offset` before taking an exit decision. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
|
| `exit_profit_only` | Wait until the bot reaches `exit_profit_offset` before taking an exit decision. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
|
||||||
| `exit_profit_offset` | Sell-signal is only active above this value. Only active in combination with `exit_profit_only=True`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `0.0`.* <br> **Datatype:** Float (as ratio)
|
| `exit_profit_offset` | Sell-signal is only active above this value. Only active in combination with `exit_profit_only=True`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `0.0`.* <br> **Datatype:** Float (as ratio)
|
||||||
| `ignore_roi_if_buy_signal` | Do not sell if the buy signal is still active. This setting takes preference over `minimal_roi` and `use_exit_signal`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
|
| `ignore_roi_if_entry_signal` | Do not sell if the buy signal is still active. This setting takes preference over `minimal_roi` and `use_exit_signal`. [Strategy Override](#parameters-in-the-strategy). <br>*Defaults to `false`.* <br> **Datatype:** Boolean
|
||||||
| `ignore_buying_expired_candle_after` | Specifies the number of seconds until a buy signal is no longer used. <br> **Datatype:** Integer
|
| `ignore_buying_expired_candle_after` | Specifies the number of seconds until a buy signal is no longer used. <br> **Datatype:** Integer
|
||||||
| `order_types` | Configure order-types depending on the action (`"entry"`, `"exit"`, `"stoploss"`, `"stoploss_on_exchange"`). [More information below](#understand-order_types). [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Dict
|
| `order_types` | Configure order-types depending on the action (`"entry"`, `"exit"`, `"stoploss"`, `"stoploss_on_exchange"`). [More information below](#understand-order_types). [Strategy Override](#parameters-in-the-strategy).<br> **Datatype:** Dict
|
||||||
| `order_time_in_force` | Configure time in force for entry and exit orders. [More information below](#understand-order_time_in_force). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Dict
|
| `order_time_in_force` | Configure time in force for entry and exit orders. [More information below](#understand-order_time_in_force). [Strategy Override](#parameters-in-the-strategy). <br> **Datatype:** Dict
|
||||||
@ -201,7 +201,7 @@ Values set in the configuration file always overwrite values set in the strategy
|
|||||||
- `use_exit_signal`
|
- `use_exit_signal`
|
||||||
* `exit_profit_only`
|
* `exit_profit_only`
|
||||||
- `exit_profit_offset`
|
- `exit_profit_offset`
|
||||||
* `ignore_roi_if_buy_signal`
|
- `ignore_roi_if_entry_signal`
|
||||||
* `ignore_buying_expired_candle_after`
|
* `ignore_buying_expired_candle_after`
|
||||||
* `position_adjustment_enable`
|
* `position_adjustment_enable`
|
||||||
* `max_entry_position_adjustment`
|
* `max_entry_position_adjustment`
|
||||||
|
@ -320,3 +320,5 @@ def _strategy_settings(conf: Dict[str, Any]) -> None:
|
|||||||
process_deprecated_setting(conf, None, 'use_sell_signal', None, 'use_exit_signal')
|
process_deprecated_setting(conf, None, 'use_sell_signal', None, 'use_exit_signal')
|
||||||
process_deprecated_setting(conf, None, 'sell_profit_only', None, 'exit_profit_only')
|
process_deprecated_setting(conf, None, 'sell_profit_only', None, 'exit_profit_only')
|
||||||
process_deprecated_setting(conf, None, 'sell_profit_offset', None, 'exit_profit_offset')
|
process_deprecated_setting(conf, None, 'sell_profit_offset', None, 'exit_profit_offset')
|
||||||
|
process_deprecated_setting(conf, None, 'ignore_roi_if_buy_signal',
|
||||||
|
None, 'ignore_roi_if_entry_signal')
|
||||||
|
@ -73,8 +73,6 @@ def process_temporary_deprecated_settings(config: Dict[str, Any]) -> None:
|
|||||||
# check_conflicting_settings(config, 'ask_strategy', 'use_sell_signal',
|
# check_conflicting_settings(config, 'ask_strategy', 'use_sell_signal',
|
||||||
# 'experimental', 'use_sell_signal')
|
# 'experimental', 'use_sell_signal')
|
||||||
|
|
||||||
process_deprecated_setting(config, 'ask_strategy', 'ignore_roi_if_buy_signal',
|
|
||||||
None, 'ignore_roi_if_buy_signal')
|
|
||||||
process_deprecated_setting(config, 'ask_strategy', 'ignore_buying_expired_candle_after',
|
process_deprecated_setting(config, 'ask_strategy', 'ignore_buying_expired_candle_after',
|
||||||
None, 'ignore_buying_expired_candle_after')
|
None, 'ignore_buying_expired_candle_after')
|
||||||
# New settings
|
# New settings
|
||||||
@ -105,15 +103,17 @@ def process_temporary_deprecated_settings(config: Dict[str, Any]) -> None:
|
|||||||
|
|
||||||
# Legacy way - having them in experimental ...
|
# Legacy way - having them in experimental ...
|
||||||
|
|
||||||
process_removed_setting(config, 'experimental', 'use_sell_signal', None, 'use_sell_signal')
|
process_removed_setting(config, 'experimental', 'use_sell_signal', None, 'use_exit_signal')
|
||||||
process_removed_setting(config, 'experimental', 'sell_profit_only', None, 'sell_profit_only')
|
process_removed_setting(config, 'experimental', 'sell_profit_only', None, 'exit_profit_only')
|
||||||
process_removed_setting(config, 'experimental', 'ignore_roi_if_buy_signal',
|
process_removed_setting(config, 'experimental', 'ignore_roi_if_buy_signal',
|
||||||
None, 'ignore_roi_if_buy_signal')
|
None, 'ignore_roi_if_entry_signal')
|
||||||
process_removed_setting(config, 'ask_strategy', 'use_sell_signal', None, 'use_sell_signal')
|
|
||||||
process_removed_setting(config, 'ask_strategy', 'sell_profit_only', None, 'sell_profit_only')
|
|
||||||
process_removed_setting(config, 'ask_strategy', 'sell_profit_offset',
|
|
||||||
None, 'sell_profit_offset')
|
|
||||||
|
|
||||||
|
process_removed_setting(config, 'ask_strategy', 'use_sell_signal', None, 'exit_sell_signal')
|
||||||
|
process_removed_setting(config, 'ask_strategy', 'sell_profit_only', None, 'exit_profit_only')
|
||||||
|
process_removed_setting(config, 'ask_strategy', 'sell_profit_offset',
|
||||||
|
None, 'exit_profit_offset')
|
||||||
|
process_removed_setting(config, 'ask_strategy', 'ignore_roi_if_buy_signal',
|
||||||
|
None, 'ignore_roi_if_entry_signal')
|
||||||
if (config.get('edge', {}).get('enabled', False)
|
if (config.get('edge', {}).get('enabled', False)
|
||||||
and 'capital_available_percentage' in config.get('edge', {})):
|
and 'capital_available_percentage' in config.get('edge', {})):
|
||||||
raise OperationalException(
|
raise OperationalException(
|
||||||
|
@ -152,7 +152,7 @@ CONF_SCHEMA = {
|
|||||||
'use_exit_signal': {'type': 'boolean'},
|
'use_exit_signal': {'type': 'boolean'},
|
||||||
'exit_profit_only': {'type': 'boolean'},
|
'exit_profit_only': {'type': 'boolean'},
|
||||||
'exit_profit_offset': {'type': 'number'},
|
'exit_profit_offset': {'type': 'number'},
|
||||||
'ignore_roi_if_buy_signal': {'type': 'boolean'},
|
'ignore_roi_if_entry_signal': {'type': 'boolean'},
|
||||||
'ignore_buying_expired_candle_after': {'type': 'number'},
|
'ignore_buying_expired_candle_after': {'type': 'number'},
|
||||||
'trading_mode': {'type': 'string', 'enum': TRADING_MODES},
|
'trading_mode': {'type': 'string', 'enum': TRADING_MODES},
|
||||||
'margin_mode': {'type': 'string', 'enum': MARGIN_MODES},
|
'margin_mode': {'type': 'string', 'enum': MARGIN_MODES},
|
||||||
|
@ -927,7 +927,7 @@ class FreqtradeBot(LoggingMixin):
|
|||||||
exit_signal_type = "exit_short" if trade.is_short else "exit_long"
|
exit_signal_type = "exit_short" if trade.is_short else "exit_long"
|
||||||
|
|
||||||
if (self.config.get('use_exit_signal', True) or
|
if (self.config.get('use_exit_signal', True) or
|
||||||
self.config.get('ignore_roi_if_buy_signal', False)):
|
self.config.get('ignore_roi_if_entry_signal', False)):
|
||||||
analyzed_df, _ = self.dataprovider.get_analyzed_dataframe(trade.pair,
|
analyzed_df, _ = self.dataprovider.get_analyzed_dataframe(trade.pair,
|
||||||
self.strategy.timeframe)
|
self.strategy.timeframe)
|
||||||
|
|
||||||
|
@ -463,7 +463,7 @@ def generate_strategy_stats(pairlist: List[str],
|
|||||||
'use_exit_signal': config['use_exit_signal'],
|
'use_exit_signal': config['use_exit_signal'],
|
||||||
'exit_profit_only': config['exit_profit_only'],
|
'exit_profit_only': config['exit_profit_only'],
|
||||||
'exit_profit_offset': config['exit_profit_offset'],
|
'exit_profit_offset': config['exit_profit_offset'],
|
||||||
'ignore_roi_if_buy_signal': config['ignore_roi_if_buy_signal'],
|
'ignore_roi_if_entry_signal': config['ignore_roi_if_entry_signal'],
|
||||||
**daily_stats,
|
**daily_stats,
|
||||||
**trade_stats
|
**trade_stats
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ class StrategyResolver(IResolver):
|
|||||||
("unfilledtimeout", None),
|
("unfilledtimeout", None),
|
||||||
("use_exit_signal", True),
|
("use_exit_signal", True),
|
||||||
("exit_profit_only", False),
|
("exit_profit_only", False),
|
||||||
("ignore_roi_if_buy_signal", False),
|
("ignore_roi_if_entry_signal", False),
|
||||||
("exit_profit_offset", 0.0),
|
("exit_profit_offset", 0.0),
|
||||||
("disable_dataframe_checks", False),
|
("disable_dataframe_checks", False),
|
||||||
("ignore_buying_expired_candle_after", 0),
|
("ignore_buying_expired_candle_after", 0),
|
||||||
@ -190,12 +190,16 @@ class StrategyResolver(IResolver):
|
|||||||
warn_deprecated_setting(strategy, 'sell_profit_only', 'exit_profit_only', True)
|
warn_deprecated_setting(strategy, 'sell_profit_only', 'exit_profit_only', True)
|
||||||
warn_deprecated_setting(strategy, 'sell_profit_offset', 'exit_profit_offset', True)
|
warn_deprecated_setting(strategy, 'sell_profit_offset', 'exit_profit_offset', True)
|
||||||
warn_deprecated_setting(strategy, 'use_sell_signal', 'use_exit_signal', True)
|
warn_deprecated_setting(strategy, 'use_sell_signal', 'use_exit_signal', True)
|
||||||
|
warn_deprecated_setting(strategy, 'ignore_roi_if_buy_signal',
|
||||||
|
'ignore_roi_if_entry_signal', True)
|
||||||
else:
|
else:
|
||||||
# TODO: Implementing one of the following methods should show a deprecation warning
|
# TODO: Implementing one of the following methods should show a deprecation warning
|
||||||
# buy_trend and sell_trend, custom_sell
|
# buy_trend and sell_trend, custom_sell
|
||||||
warn_deprecated_setting(strategy, 'sell_profit_only', 'exit_profit_only')
|
warn_deprecated_setting(strategy, 'sell_profit_only', 'exit_profit_only')
|
||||||
warn_deprecated_setting(strategy, 'sell_profit_offset', 'exit_profit_offset')
|
warn_deprecated_setting(strategy, 'sell_profit_offset', 'exit_profit_offset')
|
||||||
warn_deprecated_setting(strategy, 'use_sell_signal', 'use_exit_signal')
|
warn_deprecated_setting(strategy, 'use_sell_signal', 'use_exit_signal')
|
||||||
|
warn_deprecated_setting(strategy, 'ignore_roi_if_buy_signal',
|
||||||
|
'ignore_roi_if_entry_signal')
|
||||||
|
|
||||||
if (
|
if (
|
||||||
not check_override(strategy, IStrategy, 'populate_buy_trend')
|
not check_override(strategy, IStrategy, 'populate_buy_trend')
|
||||||
|
@ -93,7 +93,7 @@ class IStrategy(ABC, HyperStrategyMixin):
|
|||||||
use_exit_signal: bool
|
use_exit_signal: bool
|
||||||
exit_profit_only: bool
|
exit_profit_only: bool
|
||||||
exit_profit_offset: float
|
exit_profit_offset: float
|
||||||
ignore_roi_if_buy_signal: bool
|
ignore_roi_if_entry_signal: bool
|
||||||
|
|
||||||
# Position adjustment is disabled by default
|
# Position adjustment is disabled by default
|
||||||
position_adjustment_enable: bool = False
|
position_adjustment_enable: bool = False
|
||||||
@ -871,7 +871,7 @@ class IStrategy(ABC, HyperStrategyMixin):
|
|||||||
current_profit = trade.calc_profit_ratio(current_rate)
|
current_profit = trade.calc_profit_ratio(current_rate)
|
||||||
|
|
||||||
# if enter signal and ignore_roi is set, we don't need to evaluate min_roi.
|
# if enter signal and ignore_roi is set, we don't need to evaluate min_roi.
|
||||||
roi_reached = (not (enter and self.ignore_roi_if_buy_signal)
|
roi_reached = (not (enter and self.ignore_roi_if_entry_signal)
|
||||||
and self.min_roi_reached(trade=trade, current_profit=current_profit,
|
and self.min_roi_reached(trade=trade, current_profit=current_profit,
|
||||||
current_time=current_time))
|
current_time=current_time))
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ class {{ strategy }}(IStrategy):
|
|||||||
# These values can be overridden in the config.
|
# These values can be overridden in the config.
|
||||||
use_exit_signal = True
|
use_exit_signal = True
|
||||||
exit_profit_only = False
|
exit_profit_only = False
|
||||||
ignore_roi_if_buy_signal = False
|
ignore_roi_if_entry_signal = False
|
||||||
|
|
||||||
# Number of candles the strategy requires before producing valid signals
|
# Number of candles the strategy requires before producing valid signals
|
||||||
startup_candle_count: int = 30
|
startup_candle_count: int = 30
|
||||||
|
@ -67,7 +67,7 @@ class SampleStrategy(IStrategy):
|
|||||||
# These values can be overridden in the config.
|
# These values can be overridden in the config.
|
||||||
use_exit_signal = True
|
use_exit_signal = True
|
||||||
exit_profit_only = False
|
exit_profit_only = False
|
||||||
ignore_roi_if_buy_signal = False
|
ignore_roi_if_entry_signal = False
|
||||||
|
|
||||||
# Hyperoptable parameters
|
# Hyperoptable parameters
|
||||||
buy_rsi = IntParameter(low=1, high=50, default=30, space='buy', optimize=True, load=True)
|
buy_rsi = IntParameter(low=1, high=50, default=30, space='buy', optimize=True, load=True)
|
||||||
|
@ -1154,7 +1154,7 @@ def test_backtest_start_multi_strat(default_conf, mocker, caplog, testdatadir):
|
|||||||
"use_exit_signal": True,
|
"use_exit_signal": True,
|
||||||
"exit_profit_only": False,
|
"exit_profit_only": False,
|
||||||
"exit_profit_offset": 0.0,
|
"exit_profit_offset": 0.0,
|
||||||
"ignore_roi_if_buy_signal": False,
|
"ignore_roi_if_entry_signal": False,
|
||||||
})
|
})
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
backtestmock = MagicMock(return_value={
|
backtestmock = MagicMock(return_value={
|
||||||
@ -1231,7 +1231,7 @@ def test_backtest_start_multi_strat_nomock(default_conf, mocker, caplog, testdat
|
|||||||
"use_exit_signal": True,
|
"use_exit_signal": True,
|
||||||
"exit_profit_only": False,
|
"exit_profit_only": False,
|
||||||
"exit_profit_offset": 0.0,
|
"exit_profit_offset": 0.0,
|
||||||
"ignore_roi_if_buy_signal": False,
|
"ignore_roi_if_entry_signal": False,
|
||||||
})
|
})
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
result1 = pd.DataFrame({'pair': ['XRP/BTC', 'LTC/BTC'],
|
result1 = pd.DataFrame({'pair': ['XRP/BTC', 'LTC/BTC'],
|
||||||
@ -1349,7 +1349,7 @@ def test_backtest_start_nomock_futures(default_conf_usdt, mocker,
|
|||||||
"use_exit_signal": True,
|
"use_exit_signal": True,
|
||||||
"exit_profit_only": False,
|
"exit_profit_only": False,
|
||||||
"exit_profit_offset": 0.0,
|
"exit_profit_offset": 0.0,
|
||||||
"ignore_roi_if_buy_signal": False,
|
"ignore_roi_if_entry_signal": False,
|
||||||
"strategy": CURRENT_TEST_STRATEGY,
|
"strategy": CURRENT_TEST_STRATEGY,
|
||||||
})
|
})
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
@ -1453,7 +1453,7 @@ def test_backtest_start_multi_strat_nomock_detail(default_conf, mocker,
|
|||||||
"use_exit_signal": True,
|
"use_exit_signal": True,
|
||||||
"exit_profit_only": False,
|
"exit_profit_only": False,
|
||||||
"exit_profit_offset": 0.0,
|
"exit_profit_offset": 0.0,
|
||||||
"ignore_roi_if_buy_signal": False,
|
"ignore_roi_if_entry_signal": False,
|
||||||
})
|
})
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
result1 = pd.DataFrame({'pair': ['XRP/BTC', 'LTC/BTC'],
|
result1 = pd.DataFrame({'pair': ['XRP/BTC', 'LTC/BTC'],
|
||||||
@ -1560,7 +1560,7 @@ def test_backtest_start_multi_strat_caching(default_conf, mocker, caplog, testda
|
|||||||
"use_exit_signal": True,
|
"use_exit_signal": True,
|
||||||
"exit_profit_only": False,
|
"exit_profit_only": False,
|
||||||
"exit_profit_offset": 0.0,
|
"exit_profit_offset": 0.0,
|
||||||
"ignore_roi_if_buy_signal": False,
|
"ignore_roi_if_entry_signal": False,
|
||||||
})
|
})
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
backtestmock = MagicMock(return_value={
|
backtestmock = MagicMock(return_value={
|
||||||
|
@ -1240,8 +1240,6 @@ def test_pairlist_resolving_fallback(mocker):
|
|||||||
@pytest.mark.parametrize("setting", [
|
@pytest.mark.parametrize("setting", [
|
||||||
("webhook", "webhookbuy", 'testWEbhook',
|
("webhook", "webhookbuy", 'testWEbhook',
|
||||||
"webhook", "webhookentry", 'testWEbhook'),
|
"webhook", "webhookentry", 'testWEbhook'),
|
||||||
("ask_strategy", "ignore_roi_if_buy_signal", True,
|
|
||||||
None, "ignore_roi_if_buy_signal", False),
|
|
||||||
("ask_strategy", "ignore_buying_expired_candle_after", 5,
|
("ask_strategy", "ignore_buying_expired_candle_after", 5,
|
||||||
None, "ignore_buying_expired_candle_after", 6),
|
None, "ignore_buying_expired_candle_after", 6),
|
||||||
])
|
])
|
||||||
|
@ -3799,7 +3799,7 @@ def test_locked_pairs(default_conf_usdt, ticker_usdt, fee,
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("is_short", [False, True])
|
@pytest.mark.parametrize("is_short", [False, True])
|
||||||
def test_ignore_roi_if_buy_signal(default_conf_usdt, limit_order, limit_order_open, is_short,
|
def test_ignore_roi_if_entry_signal(default_conf_usdt, limit_order, limit_order_open, is_short,
|
||||||
fee, mocker) -> None:
|
fee, mocker) -> None:
|
||||||
patch_RPCManager(mocker)
|
patch_RPCManager(mocker)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
@ -3817,7 +3817,7 @@ def test_ignore_roi_if_buy_signal(default_conf_usdt, limit_order, limit_order_op
|
|||||||
]),
|
]),
|
||||||
get_fee=fee,
|
get_fee=fee,
|
||||||
)
|
)
|
||||||
default_conf_usdt['ignore_roi_if_buy_signal'] = True
|
default_conf_usdt['ignore_roi_if_entry_signal'] = True
|
||||||
|
|
||||||
freqtrade = FreqtradeBot(default_conf_usdt)
|
freqtrade = FreqtradeBot(default_conf_usdt)
|
||||||
patch_get_signal(freqtrade, enter_short=is_short, enter_long=not is_short)
|
patch_get_signal(freqtrade, enter_short=is_short, enter_long=not is_short)
|
||||||
@ -4016,7 +4016,7 @@ def test_trailing_stop_loss_positive(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("is_short", [False, True])
|
@pytest.mark.parametrize("is_short", [False, True])
|
||||||
def test_disable_ignore_roi_if_buy_signal(default_conf_usdt, limit_order, limit_order_open,
|
def test_disable_ignore_roi_if_entry_signal(default_conf_usdt, limit_order, limit_order_open,
|
||||||
is_short, fee, mocker) -> None:
|
is_short, fee, mocker) -> None:
|
||||||
patch_RPCManager(mocker)
|
patch_RPCManager(mocker)
|
||||||
patch_exchange(mocker)
|
patch_exchange(mocker)
|
||||||
@ -4037,7 +4037,7 @@ def test_disable_ignore_roi_if_buy_signal(default_conf_usdt, limit_order, limit_
|
|||||||
_is_dry_limit_order_filled=MagicMock(return_value=False),
|
_is_dry_limit_order_filled=MagicMock(return_value=False),
|
||||||
)
|
)
|
||||||
default_conf_usdt['exit_pricing'] = {
|
default_conf_usdt['exit_pricing'] = {
|
||||||
'ignore_roi_if_buy_signal': False
|
'ignore_roi_if_entry_signal': False
|
||||||
}
|
}
|
||||||
freqtrade = FreqtradeBot(default_conf_usdt)
|
freqtrade = FreqtradeBot(default_conf_usdt)
|
||||||
patch_get_signal(freqtrade, enter_short=is_short, enter_long=not is_short)
|
patch_get_signal(freqtrade, enter_short=is_short, enter_long=not is_short)
|
||||||
|
File diff suppressed because one or more lines are too long
2
tests/testdata/backtest-result_new.json
vendored
2
tests/testdata/backtest-result_new.json
vendored
File diff suppressed because one or more lines are too long
10
tests/testdata/strategy_SampleStrategy.fthypt
vendored
10
tests/testdata/strategy_SampleStrategy.fthypt
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user