move price point calculations out from populate functions

This commit is contained in:
Janne Sinivirta 2017-11-17 12:08:23 +02:00
parent 2a56031cdc
commit 632d00e01d
2 changed files with 9 additions and 4 deletions

View File

@ -73,7 +73,6 @@ def populate_buy_trend(dataframe: DataFrame) -> DataFrame:
(dataframe['fastd'] < 25) &
(dataframe['adx'] > 30),
'buy'] = 1
dataframe.loc[dataframe['buy'] == 1, 'buy_price'] = dataframe['close']
return dataframe
@ -86,7 +85,6 @@ def populate_sell_trend(dataframe: DataFrame) -> DataFrame:
dataframe.loc[
(crossed_above(dataframe['rsi'], 70)),
'sell'] = 1
dataframe.loc[dataframe['sell'] == 1, 'sell_price'] = dataframe['close']
return dataframe
@ -106,6 +104,9 @@ def analyze_ticker(pair: str) -> DataFrame:
dataframe = populate_indicators(dataframe)
dataframe = populate_buy_trend(dataframe)
dataframe = populate_sell_trend(dataframe)
# TODO: buy_price and sell_price are only used by the plotter, should probably be moved there
dataframe.loc[dataframe['buy'] == 1, 'buy_price'] = dataframe['close']
dataframe.loc[dataframe['sell'] == 1, 'sell_price'] = dataframe['close']
return dataframe

View File

@ -5,7 +5,7 @@ import pytest
from pandas import DataFrame
from freqtrade.analyze import parse_ticker_dataframe, populate_buy_trend, populate_indicators, \
get_signal, SignalType
get_signal, SignalType, populate_sell_trend
@pytest.fixture
@ -26,7 +26,11 @@ def test_dataframe_correct_length(result):
def test_populates_buy_trend(result):
dataframe = populate_buy_trend(populate_indicators(result))
assert 'buy' in dataframe.columns
assert 'buy_price' in dataframe.columns
def test_populates_buy_trend(result):
dataframe = populate_sell_trend(populate_indicators(result))
assert 'sell' in dataframe.columns
def test_returns_latest_buy_signal(mocker):