Merge pull request #1901 from yperfanov/bid_ask_strategy

Bid ask strategy
This commit is contained in:
Matthias 2019-06-11 11:14:39 +02:00 committed by GitHub
commit 08105641d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 2 deletions

View File

@ -298,6 +298,18 @@ if self.dp:
!!! Warning Warning in hyperopt
This option cannot currently be used during hyperopt.
#### Orderbook
``` python
if self.dp:
if self.dp.runmode in ('live', 'dry_run'):
ob = self.dp.orderbook(metadata['pair'], 1)
dataframe['best_bid'] = ob['bids'][0][0]
dataframe['best_ask'] = ob['asks'][0][0]
```
!Warning The order book is not part of the historic data which means backtesting and hyperopt will not work if this
method is used.
#### Available Pairs
``` python
@ -306,6 +318,7 @@ if self.dp:
print(f"available {pair}, {ticker}")
```
#### Get data for non-tradeable pairs
Data for additional, informative pairs (reference pairs) can be beneficial for some strategies.

View File

@ -85,8 +85,7 @@ class DataProvider(object):
"""
return latest orderbook data
"""
# TODO: Implement me
pass
return self._exchange.get_order_book(pair, max)
@property
def runmode(self) -> RunMode:

View File

@ -253,6 +253,17 @@ class TestStrategy(IStrategy):
dataframe['ha_low'] = heikinashi['low']
"""
# Retrieve best bid and best ask
# ------------------------------------
"""
# first check if dataprovider is available
if self.dp:
if self.dp.runmode in ('live', 'dry_run'):
ob = self.dp.orderbook(metadata['pair'], 1)
dataframe['best_bid'] = ob['bids'][0][0]
dataframe['best_ask'] = ob['asks'][0][0]
"""
return dataframe
def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame: