Adding 30 minutes, 1 hour, 1 day tickers
This commit is contained in:
@@ -54,7 +54,7 @@ def refresh_whitelist(whitelist: List[str]) -> List[str]:
|
||||
return final_list
|
||||
|
||||
|
||||
def _process(nb_assets: Optional[int] = 0) -> bool:
|
||||
def _process(interval: int, nb_assets: Optional[int] = 0) -> bool:
|
||||
"""
|
||||
Queries the persistence layer for open trades and handles them,
|
||||
otherwise a new trade is created.
|
||||
@@ -79,7 +79,7 @@ def _process(nb_assets: Optional[int] = 0) -> bool:
|
||||
if len(trades) < _CONF['max_open_trades']:
|
||||
try:
|
||||
# Create entity and execute trade
|
||||
state_changed = create_trade(float(_CONF['stake_amount']))
|
||||
state_changed = create_trade(float(_CONF['stake_amount']), interval)
|
||||
if not state_changed:
|
||||
logger.info(
|
||||
'Checked all whitelisted currencies. '
|
||||
@@ -97,7 +97,7 @@ def _process(nb_assets: Optional[int] = 0) -> bool:
|
||||
|
||||
if trade.is_open and trade.open_order_id is None:
|
||||
# Check if we can sell our current pair
|
||||
state_changed = handle_trade(trade) or state_changed
|
||||
state_changed = handle_trade(trade, interval) or state_changed
|
||||
|
||||
if 'unfilledtimeout' in _CONF:
|
||||
# Check and handle any timed out open orders
|
||||
@@ -236,7 +236,7 @@ def min_roi_reached(trade: Trade, current_rate: float, current_time: datetime) -
|
||||
return False
|
||||
|
||||
|
||||
def handle_trade(trade: Trade) -> bool:
|
||||
def handle_trade(trade: Trade, interval: int) -> bool:
|
||||
"""
|
||||
Sells the current pair if the threshold is reached and updates the trade record.
|
||||
:return: True if trade has been sold, False otherwise
|
||||
@@ -261,7 +261,7 @@ def handle_trade(trade: Trade) -> bool:
|
||||
if trade.calc_profit(rate=current_rate) <= 0:
|
||||
return False
|
||||
logger.debug('Checking sell_signal ...')
|
||||
if get_signal(trade.pair, SignalType.SELL):
|
||||
if get_signal(trade.pair, SignalType.SELL, interval):
|
||||
logger.debug('Executing sell due to sell signal ...')
|
||||
execute_sell(trade, current_rate)
|
||||
return True
|
||||
@@ -277,7 +277,7 @@ def get_target_bid(ticker: Dict[str, float]) -> float:
|
||||
return ticker['ask'] + balance * (ticker['last'] - ticker['ask'])
|
||||
|
||||
|
||||
def create_trade(stake_amount: float) -> bool:
|
||||
def create_trade(stake_amount: float, interval: int) -> bool:
|
||||
"""
|
||||
Checks the implemented trading indicator(s) for a randomly picked pair,
|
||||
if one pair triggers the buy_signal a new trade record gets created
|
||||
@@ -305,7 +305,7 @@ def create_trade(stake_amount: float) -> bool:
|
||||
|
||||
# Pick pair based on StochRSI buy signals
|
||||
for _pair in whitelist:
|
||||
if get_signal(_pair, SignalType.BUY):
|
||||
if get_signal(_pair, SignalType.BUY, interval):
|
||||
pair = _pair
|
||||
break
|
||||
else:
|
||||
@@ -458,6 +458,7 @@ def main(sysargv=sys.argv[1:]) -> None:
|
||||
_process,
|
||||
min_secs=_CONF['internals'].get('process_throttle_secs', 10),
|
||||
nb_assets=args.dynamic_whitelist,
|
||||
interval=_CONF.get('ticker_interval', 5)
|
||||
)
|
||||
old_state = new_state
|
||||
except KeyboardInterrupt:
|
||||
|
Reference in New Issue
Block a user