Timeframe
5m
Direction
Long Only
Stoploss
-32.2%
Trailing Stop
No
ROI
0m: 12.4%, 18m: 10.0%, 60m: 3.3%, 90m: 0.0%
Interface Version
N/A
Startup Candles
N/A
Indicators
2
freqtrade/freqtrade-strategies
Strategy 003 author@: Gerald Lonlas github@: https://github.com/freqtrade/freqtrade-strategies
import numpy as np # noqa
import pandas as pd # noqa
from pandas import DataFrame, Series
from freqtrade.strategy.interface import IStrategy
from freqtrade.strategy.hyper import IntParameter
import talib.abstract as ta
import freqtrade.vendor.qtpylib.indicators as qtpylib
from datetime import datetime
from freqtrade.persistence import Trade
from freqtrade.strategy.hyper import DecimalParameter, IntParameter
import logging
logger = logging.getLogger(__name__)
class ADX_RSI(IStrategy):
buy_rsi = IntParameter(10, 30, default=29, space="buy")
buy_adx = IntParameter(25, 40, default=39, space="buy")
minimal_roi = {
"0": 0.124,
"18": 0.1,
"60": 0.033,
"90": 0
}
stoploss = -0.322
trailing_stop = False
trailing_stop_positive = 0.011
trailing_stop_positive_offset = 0.085
trailing_only_offset_is_reached = True
timeframe = '5m'
use_sell_signal = True
sell_profit_only = True
sell_profit_offset = 0.0
ignore_roi_if_buy_signal = False
order_types = {
'buy': 'market',
'sell': 'market',
'stoploss': 'market',
'stoploss_on_exchange': False
}
process_only_new_candles = False
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14) # overbought and oversold conditions
dataframe['adx'] = ta.ADX(dataframe, timeperiod=14) #trend detection
return dataframe
def populate_buy_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
((dataframe["rsi"] <= self.buy_rsi.value)) & #oversold condition
((dataframe["adx"] >= self.buy_adx.value)) & #verify trend
(dataframe['volume'] > 0) # volume above zero
)
,'buy'] = 1
return dataframe
def populate_sell_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[
(
(dataframe['volume'] > 0) # volume above zero
)
,'sell'] = 0
return dataframe