Revert "Make get_signals async. This should speed up create_trade calls by at least 10x. (#223)" (#275)

This reverts commit 6768658300.
See details in #PR266
This commit is contained in:
Samuel Husso 2018-01-01 20:32:58 +02:00 committed by Michael Egger
parent 59546b623e
commit de68209f3b
3 changed files with 3 additions and 19 deletions

View File

@ -144,9 +144,6 @@ def get_signal(pair: str, signal: SignalType) -> bool:
except ValueError as ex:
logger.warning('Unable to analyze ticker for pair %s: %s', pair, str(ex))
return False
except Exception:
logger.exception('Unexpected error when analyzing ticker for pair %s.', pair)
return False
if dataframe.empty:
return False

View File

@ -3,7 +3,6 @@
import enum
import logging
from random import randint
from threading import RLock
from typing import List, Dict, Any, Optional
import arrow
@ -15,7 +14,6 @@ from freqtrade.exchange.bittrex import Bittrex
from freqtrade.exchange.interface import Exchange
logger = logging.getLogger(__name__)
lock = RLock()
# Current selected exchange
_API: Exchange = None
@ -140,7 +138,7 @@ def get_ticker(pair: str) -> dict:
return _API.get_ticker(pair)
@cached(TTLCache(maxsize=100, ttl=30), lock=lock)
@cached(TTLCache(maxsize=100, ttl=30))
def get_ticker_history(pair: str, tick_interval: Optional[int] = 5) -> List[Dict]:
return _API.get_ticker_history(pair, tick_interval)

View File

@ -1,12 +1,10 @@
#!/usr/bin/env python3
import asyncio
import copy
import json
import logging
import sys
import time
import traceback
from concurrent.futures import ThreadPoolExecutor
from datetime import datetime
from typing import Dict, Optional, List
@ -243,17 +241,8 @@ def create_trade(stake_amount: float) -> bool:
raise DependencyException('No pair in whitelist')
# Pick pair based on StochRSI buy signals
with ThreadPoolExecutor() as pool:
awaitable_signals = [
asyncio.wrap_future(pool.submit(get_signal, pair, SignalType.BUY))
for pair in whitelist
]
loop = asyncio.get_event_loop()
signals = loop.run_until_complete(asyncio.gather(*awaitable_signals))
for idx, _pair in enumerate(whitelist):
if signals[idx]:
for _pair in whitelist:
if get_signal(_pair, SignalType.BUY):
pair = _pair
break
else: