Merge pull request #3923 from freqtrade/rpc/combine_profit_fields
Rpc/combine profit fields
This commit is contained in:
commit
b8f6f09de8
@ -270,7 +270,6 @@ class Trade(_DECL_BASE):
|
|||||||
'amount_requested': round(self.amount_requested, 8) if self.amount_requested else None,
|
'amount_requested': round(self.amount_requested, 8) if self.amount_requested else None,
|
||||||
'stake_amount': round(self.stake_amount, 8),
|
'stake_amount': round(self.stake_amount, 8),
|
||||||
'strategy': self.strategy,
|
'strategy': self.strategy,
|
||||||
'ticker_interval': self.timeframe, # DEPRECATED
|
|
||||||
'timeframe': self.timeframe,
|
'timeframe': self.timeframe,
|
||||||
|
|
||||||
'fee_open': self.fee_open,
|
'fee_open': self.fee_open,
|
||||||
@ -295,12 +294,16 @@ class Trade(_DECL_BASE):
|
|||||||
tzinfo=timezone.utc).timestamp() * 1000) if self.close_date else None,
|
tzinfo=timezone.utc).timestamp() * 1000) if self.close_date else None,
|
||||||
'close_rate': self.close_rate,
|
'close_rate': self.close_rate,
|
||||||
'close_rate_requested': self.close_rate_requested,
|
'close_rate_requested': self.close_rate_requested,
|
||||||
'close_profit': self.close_profit,
|
'close_profit': self.close_profit, # Deprecated
|
||||||
'close_profit_abs': self.close_profit_abs,
|
'close_profit_pct': round(self.close_profit * 100, 2) if self.close_profit else None,
|
||||||
|
'close_profit_abs': self.close_profit_abs, # Deprecated
|
||||||
|
|
||||||
|
'profit_ratio': self.close_profit,
|
||||||
|
'profit_pct': round(self.close_profit * 100, 2) if self.close_profit else None,
|
||||||
|
'profit_abs': self.close_profit_abs,
|
||||||
|
|
||||||
'sell_reason': self.sell_reason,
|
'sell_reason': self.sell_reason,
|
||||||
'sell_order_status': self.sell_order_status,
|
'sell_order_status': self.sell_order_status,
|
||||||
'stop_loss': self.stop_loss, # Deprecated - should not be used
|
|
||||||
'stop_loss_abs': self.stop_loss,
|
'stop_loss_abs': self.stop_loss,
|
||||||
'stop_loss_ratio': self.stop_loss_pct if self.stop_loss_pct else None,
|
'stop_loss_ratio': self.stop_loss_pct if self.stop_loss_pct else None,
|
||||||
'stop_loss_pct': (self.stop_loss_pct * 100) if self.stop_loss_pct else None,
|
'stop_loss_pct': (self.stop_loss_pct * 100) if self.stop_loss_pct else None,
|
||||||
@ -309,7 +312,6 @@ class Trade(_DECL_BASE):
|
|||||||
if self.stoploss_last_update else None),
|
if self.stoploss_last_update else None),
|
||||||
'stoploss_last_update_timestamp': int(self.stoploss_last_update.replace(
|
'stoploss_last_update_timestamp': int(self.stoploss_last_update.replace(
|
||||||
tzinfo=timezone.utc).timestamp() * 1000) if self.stoploss_last_update else None,
|
tzinfo=timezone.utc).timestamp() * 1000) if self.stoploss_last_update else None,
|
||||||
'initial_stop_loss': self.initial_stop_loss, # Deprecated - should not be used
|
|
||||||
'initial_stop_loss_abs': self.initial_stop_loss,
|
'initial_stop_loss_abs': self.initial_stop_loss,
|
||||||
'initial_stop_loss_ratio': (self.initial_stop_loss_pct
|
'initial_stop_loss_ratio': (self.initial_stop_loss_pct
|
||||||
if self.initial_stop_loss_pct else None),
|
if self.initial_stop_loss_pct else None),
|
||||||
|
@ -110,7 +110,6 @@ class RPC:
|
|||||||
'trailing_stop_positive': config.get('trailing_stop_positive'),
|
'trailing_stop_positive': config.get('trailing_stop_positive'),
|
||||||
'trailing_stop_positive_offset': config.get('trailing_stop_positive_offset'),
|
'trailing_stop_positive_offset': config.get('trailing_stop_positive_offset'),
|
||||||
'trailing_only_offset_is_reached': config.get('trailing_only_offset_is_reached'),
|
'trailing_only_offset_is_reached': config.get('trailing_only_offset_is_reached'),
|
||||||
'ticker_interval': config['timeframe'], # DEPRECATED
|
|
||||||
'timeframe': config['timeframe'],
|
'timeframe': config['timeframe'],
|
||||||
'timeframe_ms': timeframe_to_msecs(config['timeframe']),
|
'timeframe_ms': timeframe_to_msecs(config['timeframe']),
|
||||||
'timeframe_min': timeframe_to_minutes(config['timeframe']),
|
'timeframe_min': timeframe_to_minutes(config['timeframe']),
|
||||||
@ -152,17 +151,18 @@ class RPC:
|
|||||||
stoploss_current_dist = trade.stop_loss - current_rate
|
stoploss_current_dist = trade.stop_loss - current_rate
|
||||||
stoploss_current_dist_ratio = stoploss_current_dist / current_rate
|
stoploss_current_dist_ratio = stoploss_current_dist / current_rate
|
||||||
|
|
||||||
fmt_close_profit = (f'{round(trade.close_profit * 100, 2):.2f}%'
|
|
||||||
if trade.close_profit is not None else None)
|
|
||||||
trade_dict = trade.to_json()
|
trade_dict = trade.to_json()
|
||||||
trade_dict.update(dict(
|
trade_dict.update(dict(
|
||||||
base_currency=self._freqtrade.config['stake_currency'],
|
base_currency=self._freqtrade.config['stake_currency'],
|
||||||
close_profit=trade.close_profit if trade.close_profit is not None else None,
|
close_profit=trade.close_profit if trade.close_profit is not None else None,
|
||||||
close_profit_pct=fmt_close_profit,
|
|
||||||
current_rate=current_rate,
|
current_rate=current_rate,
|
||||||
current_profit=current_profit,
|
current_profit=current_profit, # Deprectated
|
||||||
current_profit_pct=round(current_profit * 100, 2),
|
current_profit_pct=round(current_profit * 100, 2), # Deprectated
|
||||||
current_profit_abs=current_profit_abs,
|
current_profit_abs=current_profit_abs, # Deprectated
|
||||||
|
profit_ratio=current_profit,
|
||||||
|
profit_pct=round(current_profit * 100, 2),
|
||||||
|
profit_abs=current_profit_abs,
|
||||||
|
|
||||||
stoploss_current_dist=stoploss_current_dist,
|
stoploss_current_dist=stoploss_current_dist,
|
||||||
stoploss_current_dist_ratio=round(stoploss_current_dist_ratio, 8),
|
stoploss_current_dist_ratio=round(stoploss_current_dist_ratio, 8),
|
||||||
stoploss_current_dist_pct=round(stoploss_current_dist_ratio * 100, 2),
|
stoploss_current_dist_pct=round(stoploss_current_dist_ratio * 100, 2),
|
||||||
|
@ -247,18 +247,17 @@ class Telegram(RPC):
|
|||||||
"*Open Rate:* `{open_rate:.8f}`",
|
"*Open Rate:* `{open_rate:.8f}`",
|
||||||
"*Close Rate:* `{close_rate}`" if r['close_rate'] else "",
|
"*Close Rate:* `{close_rate}`" if r['close_rate'] else "",
|
||||||
"*Current Rate:* `{current_rate:.8f}`",
|
"*Current Rate:* `{current_rate:.8f}`",
|
||||||
("*Close Profit:* `{close_profit_pct}`"
|
("*Current Profit:* " if r['is_open'] else "*Close Profit: *")
|
||||||
if r['close_profit_pct'] is not None else ""),
|
+ "`{profit_pct:.2f}%`",
|
||||||
"*Current Profit:* `{current_profit_pct:.2f}%`",
|
|
||||||
]
|
]
|
||||||
if (r['stop_loss'] != r['initial_stop_loss']
|
if (r['stop_loss_abs'] != r['initial_stop_loss_abs']
|
||||||
and r['initial_stop_loss_pct'] is not None):
|
and r['initial_stop_loss_pct'] is not None):
|
||||||
# Adding initial stoploss only if it is different from stoploss
|
# Adding initial stoploss only if it is different from stoploss
|
||||||
lines.append("*Initial Stoploss:* `{initial_stop_loss:.8f}` "
|
lines.append("*Initial Stoploss:* `{initial_stop_loss_abs:.8f}` "
|
||||||
"`({initial_stop_loss_pct:.2f}%)`")
|
"`({initial_stop_loss_pct:.2f}%)`")
|
||||||
|
|
||||||
# Adding stoploss and stoploss percentage only if it is not None
|
# Adding stoploss and stoploss percentage only if it is not None
|
||||||
lines.append("*Stoploss:* `{stop_loss:.8f}` " +
|
lines.append("*Stoploss:* `{stop_loss_abs:.8f}` " +
|
||||||
("`({stop_loss_pct:.2f}%)`" if r['stop_loss_pct'] else ""))
|
("`({stop_loss_pct:.2f}%)`" if r['stop_loss_pct'] else ""))
|
||||||
lines.append("*Stoploss distance:* `{stoploss_current_dist:.8f}` "
|
lines.append("*Stoploss distance:* `{stoploss_current_dist:.8f}` "
|
||||||
"`({stoploss_current_dist_pct:.2f}%)`")
|
"`({stoploss_current_dist_pct:.2f}%)`")
|
||||||
|
@ -69,8 +69,7 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
|
|||||||
'min_rate': ANY,
|
'min_rate': ANY,
|
||||||
'max_rate': ANY,
|
'max_rate': ANY,
|
||||||
'strategy': ANY,
|
'strategy': ANY,
|
||||||
'ticker_interval': ANY,
|
'timeframe': 5,
|
||||||
'timeframe': ANY,
|
|
||||||
'open_order_id': ANY,
|
'open_order_id': ANY,
|
||||||
'close_date': None,
|
'close_date': None,
|
||||||
'close_date_hum': None,
|
'close_date_hum': None,
|
||||||
@ -87,14 +86,15 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
|
|||||||
'current_profit': -0.00408133,
|
'current_profit': -0.00408133,
|
||||||
'current_profit_pct': -0.41,
|
'current_profit_pct': -0.41,
|
||||||
'current_profit_abs': -4.09e-06,
|
'current_profit_abs': -4.09e-06,
|
||||||
'stop_loss': 9.882e-06,
|
'profit_ratio': -0.00408133,
|
||||||
|
'profit_pct': -0.41,
|
||||||
|
'profit_abs': -4.09e-06,
|
||||||
'stop_loss_abs': 9.882e-06,
|
'stop_loss_abs': 9.882e-06,
|
||||||
'stop_loss_pct': -10.0,
|
'stop_loss_pct': -10.0,
|
||||||
'stop_loss_ratio': -0.1,
|
'stop_loss_ratio': -0.1,
|
||||||
'stoploss_order_id': None,
|
'stoploss_order_id': None,
|
||||||
'stoploss_last_update': ANY,
|
'stoploss_last_update': ANY,
|
||||||
'stoploss_last_update_timestamp': ANY,
|
'stoploss_last_update_timestamp': ANY,
|
||||||
'initial_stop_loss': 9.882e-06,
|
|
||||||
'initial_stop_loss_abs': 9.882e-06,
|
'initial_stop_loss_abs': 9.882e-06,
|
||||||
'initial_stop_loss_pct': -10.0,
|
'initial_stop_loss_pct': -10.0,
|
||||||
'initial_stop_loss_ratio': -0.1,
|
'initial_stop_loss_ratio': -0.1,
|
||||||
@ -134,7 +134,6 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
|
|||||||
'min_rate': ANY,
|
'min_rate': ANY,
|
||||||
'max_rate': ANY,
|
'max_rate': ANY,
|
||||||
'strategy': ANY,
|
'strategy': ANY,
|
||||||
'ticker_interval': ANY,
|
|
||||||
'timeframe': ANY,
|
'timeframe': ANY,
|
||||||
'open_order_id': ANY,
|
'open_order_id': ANY,
|
||||||
'close_date': None,
|
'close_date': None,
|
||||||
@ -152,14 +151,15 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
|
|||||||
'current_profit': ANY,
|
'current_profit': ANY,
|
||||||
'current_profit_pct': ANY,
|
'current_profit_pct': ANY,
|
||||||
'current_profit_abs': ANY,
|
'current_profit_abs': ANY,
|
||||||
'stop_loss': 9.882e-06,
|
'profit_ratio': ANY,
|
||||||
|
'profit_pct': ANY,
|
||||||
|
'profit_abs': ANY,
|
||||||
'stop_loss_abs': 9.882e-06,
|
'stop_loss_abs': 9.882e-06,
|
||||||
'stop_loss_pct': -10.0,
|
'stop_loss_pct': -10.0,
|
||||||
'stop_loss_ratio': -0.1,
|
'stop_loss_ratio': -0.1,
|
||||||
'stoploss_order_id': None,
|
'stoploss_order_id': None,
|
||||||
'stoploss_last_update': ANY,
|
'stoploss_last_update': ANY,
|
||||||
'stoploss_last_update_timestamp': ANY,
|
'stoploss_last_update_timestamp': ANY,
|
||||||
'initial_stop_loss': 9.882e-06,
|
|
||||||
'initial_stop_loss_abs': 9.882e-06,
|
'initial_stop_loss_abs': 9.882e-06,
|
||||||
'initial_stop_loss_pct': -10.0,
|
'initial_stop_loss_pct': -10.0,
|
||||||
'initial_stop_loss_ratio': -0.1,
|
'initial_stop_loss_ratio': -0.1,
|
||||||
|
@ -360,7 +360,6 @@ def test_api_show_config(botclient, mocker):
|
|||||||
assert_response(rc)
|
assert_response(rc)
|
||||||
assert 'dry_run' in rc.json
|
assert 'dry_run' in rc.json
|
||||||
assert rc.json['exchange'] == 'bittrex'
|
assert rc.json['exchange'] == 'bittrex'
|
||||||
assert rc.json['ticker_interval'] == '5m'
|
|
||||||
assert rc.json['timeframe'] == '5m'
|
assert rc.json['timeframe'] == '5m'
|
||||||
assert rc.json['timeframe_ms'] == 300000
|
assert rc.json['timeframe_ms'] == 300000
|
||||||
assert rc.json['timeframe_min'] == 5
|
assert rc.json['timeframe_min'] == 5
|
||||||
@ -639,6 +638,9 @@ def test_api_status(botclient, mocker, ticker, fee, markets):
|
|||||||
'current_profit': -0.00408133,
|
'current_profit': -0.00408133,
|
||||||
'current_profit_pct': -0.41,
|
'current_profit_pct': -0.41,
|
||||||
'current_profit_abs': -4.09e-06,
|
'current_profit_abs': -4.09e-06,
|
||||||
|
'profit_ratio': -0.00408133,
|
||||||
|
'profit_pct': -0.41,
|
||||||
|
'profit_abs': -4.09e-06,
|
||||||
'current_rate': 1.099e-05,
|
'current_rate': 1.099e-05,
|
||||||
'open_date': ANY,
|
'open_date': ANY,
|
||||||
'open_date_hum': 'just now',
|
'open_date_hum': 'just now',
|
||||||
@ -647,14 +649,12 @@ def test_api_status(botclient, mocker, ticker, fee, markets):
|
|||||||
'open_rate': 1.098e-05,
|
'open_rate': 1.098e-05,
|
||||||
'pair': 'ETH/BTC',
|
'pair': 'ETH/BTC',
|
||||||
'stake_amount': 0.001,
|
'stake_amount': 0.001,
|
||||||
'stop_loss': 9.882e-06,
|
|
||||||
'stop_loss_abs': 9.882e-06,
|
'stop_loss_abs': 9.882e-06,
|
||||||
'stop_loss_pct': -10.0,
|
'stop_loss_pct': -10.0,
|
||||||
'stop_loss_ratio': -0.1,
|
'stop_loss_ratio': -0.1,
|
||||||
'stoploss_order_id': None,
|
'stoploss_order_id': None,
|
||||||
'stoploss_last_update': ANY,
|
'stoploss_last_update': ANY,
|
||||||
'stoploss_last_update_timestamp': ANY,
|
'stoploss_last_update_timestamp': ANY,
|
||||||
'initial_stop_loss': 9.882e-06,
|
|
||||||
'initial_stop_loss_abs': 9.882e-06,
|
'initial_stop_loss_abs': 9.882e-06,
|
||||||
'initial_stop_loss_pct': -10.0,
|
'initial_stop_loss_pct': -10.0,
|
||||||
'initial_stop_loss_ratio': -0.1,
|
'initial_stop_loss_ratio': -0.1,
|
||||||
@ -682,7 +682,6 @@ def test_api_status(botclient, mocker, ticker, fee, markets):
|
|||||||
'sell_reason': None,
|
'sell_reason': None,
|
||||||
'sell_order_status': None,
|
'sell_order_status': None,
|
||||||
'strategy': 'DefaultStrategy',
|
'strategy': 'DefaultStrategy',
|
||||||
'ticker_interval': 5,
|
|
||||||
'timeframe': 5,
|
'timeframe': 5,
|
||||||
'exchange': 'bittrex',
|
'exchange': 'bittrex',
|
||||||
}]
|
}]
|
||||||
@ -779,20 +778,22 @@ def test_api_forcebuy(botclient, mocker, fee):
|
|||||||
'open_rate': 0.245441,
|
'open_rate': 0.245441,
|
||||||
'pair': 'ETH/ETH',
|
'pair': 'ETH/ETH',
|
||||||
'stake_amount': 1,
|
'stake_amount': 1,
|
||||||
'stop_loss': None,
|
|
||||||
'stop_loss_abs': None,
|
'stop_loss_abs': None,
|
||||||
'stop_loss_pct': None,
|
'stop_loss_pct': None,
|
||||||
'stop_loss_ratio': None,
|
'stop_loss_ratio': None,
|
||||||
'stoploss_order_id': None,
|
'stoploss_order_id': None,
|
||||||
'stoploss_last_update': None,
|
'stoploss_last_update': None,
|
||||||
'stoploss_last_update_timestamp': None,
|
'stoploss_last_update_timestamp': None,
|
||||||
'initial_stop_loss': None,
|
|
||||||
'initial_stop_loss_abs': None,
|
'initial_stop_loss_abs': None,
|
||||||
'initial_stop_loss_pct': None,
|
'initial_stop_loss_pct': None,
|
||||||
'initial_stop_loss_ratio': None,
|
'initial_stop_loss_ratio': None,
|
||||||
'close_profit': None,
|
'close_profit': None,
|
||||||
|
'close_profit_pct': None,
|
||||||
'close_profit_abs': None,
|
'close_profit_abs': None,
|
||||||
'close_rate_requested': None,
|
'close_rate_requested': None,
|
||||||
|
'profit_ratio': None,
|
||||||
|
'profit_pct': None,
|
||||||
|
'profit_abs': None,
|
||||||
'fee_close': 0.0025,
|
'fee_close': 0.0025,
|
||||||
'fee_close_cost': None,
|
'fee_close_cost': None,
|
||||||
'fee_close_currency': None,
|
'fee_close_currency': None,
|
||||||
@ -808,7 +809,6 @@ def test_api_forcebuy(botclient, mocker, fee):
|
|||||||
'sell_reason': None,
|
'sell_reason': None,
|
||||||
'sell_order_status': None,
|
'sell_order_status': None,
|
||||||
'strategy': None,
|
'strategy': None,
|
||||||
'ticker_interval': None,
|
|
||||||
'timeframe': None,
|
'timeframe': None,
|
||||||
'exchange': 'bittrex',
|
'exchange': 'bittrex',
|
||||||
}
|
}
|
||||||
|
@ -163,16 +163,17 @@ def test_telegram_status(default_conf, update, mocker) -> None:
|
|||||||
'amount': 90.99181074,
|
'amount': 90.99181074,
|
||||||
'stake_amount': 90.99181074,
|
'stake_amount': 90.99181074,
|
||||||
'close_profit_pct': None,
|
'close_profit_pct': None,
|
||||||
'current_profit': -0.0059,
|
'profit': -0.0059,
|
||||||
'current_profit_pct': -0.59,
|
'profit_pct': -0.59,
|
||||||
'initial_stop_loss': 1.098e-05,
|
'initial_stop_loss_abs': 1.098e-05,
|
||||||
'stop_loss': 1.099e-05,
|
'stop_loss_abs': 1.099e-05,
|
||||||
'sell_order_status': None,
|
'sell_order_status': None,
|
||||||
'initial_stop_loss_pct': -0.05,
|
'initial_stop_loss_pct': -0.05,
|
||||||
'stoploss_current_dist': 1e-08,
|
'stoploss_current_dist': 1e-08,
|
||||||
'stoploss_current_dist_pct': -0.02,
|
'stoploss_current_dist_pct': -0.02,
|
||||||
'stop_loss_pct': -0.01,
|
'stop_loss_pct': -0.01,
|
||||||
'open_order': '(limit buy rem=0.00000000)'
|
'open_order': '(limit buy rem=0.00000000)',
|
||||||
|
'is_open': True
|
||||||
}]),
|
}]),
|
||||||
_status_table=status_table,
|
_status_table=status_table,
|
||||||
_send_msg=msg_mock
|
_send_msg=msg_mock
|
||||||
|
@ -816,24 +816,25 @@ def test_to_json(default_conf, fee):
|
|||||||
'amount_requested': 123.0,
|
'amount_requested': 123.0,
|
||||||
'stake_amount': 0.001,
|
'stake_amount': 0.001,
|
||||||
'close_profit': None,
|
'close_profit': None,
|
||||||
|
'close_profit_pct': None,
|
||||||
'close_profit_abs': None,
|
'close_profit_abs': None,
|
||||||
|
'profit_ratio': None,
|
||||||
|
'profit_pct': None,
|
||||||
|
'profit_abs': None,
|
||||||
'sell_reason': None,
|
'sell_reason': None,
|
||||||
'sell_order_status': None,
|
'sell_order_status': None,
|
||||||
'stop_loss': None,
|
|
||||||
'stop_loss_abs': None,
|
'stop_loss_abs': None,
|
||||||
'stop_loss_ratio': None,
|
'stop_loss_ratio': None,
|
||||||
'stop_loss_pct': None,
|
'stop_loss_pct': None,
|
||||||
'stoploss_order_id': None,
|
'stoploss_order_id': None,
|
||||||
'stoploss_last_update': None,
|
'stoploss_last_update': None,
|
||||||
'stoploss_last_update_timestamp': None,
|
'stoploss_last_update_timestamp': None,
|
||||||
'initial_stop_loss': None,
|
|
||||||
'initial_stop_loss_abs': None,
|
'initial_stop_loss_abs': None,
|
||||||
'initial_stop_loss_pct': None,
|
'initial_stop_loss_pct': None,
|
||||||
'initial_stop_loss_ratio': None,
|
'initial_stop_loss_ratio': None,
|
||||||
'min_rate': None,
|
'min_rate': None,
|
||||||
'max_rate': None,
|
'max_rate': None,
|
||||||
'strategy': None,
|
'strategy': None,
|
||||||
'ticker_interval': None,
|
|
||||||
'timeframe': None,
|
'timeframe': None,
|
||||||
'exchange': 'bittrex',
|
'exchange': 'bittrex',
|
||||||
}
|
}
|
||||||
@ -868,19 +869,21 @@ def test_to_json(default_conf, fee):
|
|||||||
'amount': 100.0,
|
'amount': 100.0,
|
||||||
'amount_requested': 101.0,
|
'amount_requested': 101.0,
|
||||||
'stake_amount': 0.001,
|
'stake_amount': 0.001,
|
||||||
'stop_loss': None,
|
|
||||||
'stop_loss_abs': None,
|
'stop_loss_abs': None,
|
||||||
'stop_loss_pct': None,
|
'stop_loss_pct': None,
|
||||||
'stop_loss_ratio': None,
|
'stop_loss_ratio': None,
|
||||||
'stoploss_order_id': None,
|
'stoploss_order_id': None,
|
||||||
'stoploss_last_update': None,
|
'stoploss_last_update': None,
|
||||||
'stoploss_last_update_timestamp': None,
|
'stoploss_last_update_timestamp': None,
|
||||||
'initial_stop_loss': None,
|
|
||||||
'initial_stop_loss_abs': None,
|
'initial_stop_loss_abs': None,
|
||||||
'initial_stop_loss_pct': None,
|
'initial_stop_loss_pct': None,
|
||||||
'initial_stop_loss_ratio': None,
|
'initial_stop_loss_ratio': None,
|
||||||
'close_profit': None,
|
'close_profit': None,
|
||||||
|
'close_profit_pct': None,
|
||||||
'close_profit_abs': None,
|
'close_profit_abs': None,
|
||||||
|
'profit_ratio': None,
|
||||||
|
'profit_pct': None,
|
||||||
|
'profit_abs': None,
|
||||||
'close_rate_requested': None,
|
'close_rate_requested': None,
|
||||||
'fee_close': 0.0025,
|
'fee_close': 0.0025,
|
||||||
'fee_close_cost': None,
|
'fee_close_cost': None,
|
||||||
@ -897,7 +900,6 @@ def test_to_json(default_conf, fee):
|
|||||||
'sell_reason': None,
|
'sell_reason': None,
|
||||||
'sell_order_status': None,
|
'sell_order_status': None,
|
||||||
'strategy': None,
|
'strategy': None,
|
||||||
'ticker_interval': None,
|
|
||||||
'timeframe': None,
|
'timeframe': None,
|
||||||
'exchange': 'bittrex',
|
'exchange': 'bittrex',
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user