Import pandas and handle NaN values in Supertrend
Added pandas import and implemented fillna to handle NaN values in the Supertrend strategy.
This commit is contained in:
@@ -18,6 +18,7 @@ from freqtrade.strategy import IStrategy, IntParameter
|
||||
from pandas import DataFrame
|
||||
import talib.abstract as ta
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
class Supertrend(IStrategy):
|
||||
# Buy params, Sell params, ROI, Stoploss and Trailing Stop are values generated by 'freqtrade hyperopt --strategy Supertrend --hyperopt-loss ShortTradeDurHyperOptLoss --timerange=20210101- --timeframe=1h --spaces all'
|
||||
@@ -171,8 +172,6 @@ class Supertrend(IStrategy):
|
||||
# 3. final upper / lower bands
|
||||
final_ub = np.zeros(length)
|
||||
final_lb = np.zeros(length)
|
||||
final_ub[:period] = basic_ub[:period]
|
||||
final_lb[:period] = basic_lb[:period]
|
||||
|
||||
for i in range(period, length):
|
||||
final_ub[i] = basic_ub[i] if basic_ub[i] < final_ub[i-1] or close[i-1] > final_ub[i-1] else final_ub[i-1]
|
||||
@@ -189,4 +188,9 @@ class Supertrend(IStrategy):
|
||||
# 5. STX direction
|
||||
stx = np.where(st > 0, np.where(close < st, 'down', 'up'), None)
|
||||
|
||||
return pd.DataFrame({'ST': st, 'STX': stx}, index=df.index)
|
||||
# 6. fillna
|
||||
result = pd.DataFrame({'ST': st, 'STX': stx}, index=df.index)
|
||||
result.fillna(0, inplace=True)
|
||||
|
||||
return result
|
||||
|
||||
|
||||
Reference in New Issue
Block a user