Strategy code
strategy.pypython
from freqtrade.strategy import IStrategy
from pandas import DataFrame
import talib.abstract as ta
class MyBot(IStrategy):
timeframe = "1h"
stoploss = -0.05
minimal_roi = {"0": 0.05}
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe["rsi"] = ta.RSI(dataframe, timeperiod=14)
return dataframe
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[dataframe["rsi"] < 30, "enter_long"] = 1
return dataframe
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
dataframe.loc[dataframe["rsi"] > 70, "exit_long"] = 1
return dataframe
config.json — auto-synced from config
config.jsonjson
{
"max_open_trades": 10,
"stake_currency": "USDT",
"stake_amount": 1000,
"tradable_balance_ratio": 0.99,
"timeframe": "1h",
"trading_mode": "futures",
"margin_mode": "isolated",
"minimal_roi": {
"0": 0.05
},
"stoploss": -0.05,
"trailing_stop": false,
"entry_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1
},
"exit_pricing": {
"price_side": "same",
"use_order_book": true,
"order_book_top": 1
},
"exchange": {
"name": "binance",
"pair_whitelist": [
"BTC/USDT:USDT"
],
"pair_blacklist": [
"BNB/.*"
]
},
"pairlists": [
{
"method": "StaticPairList"
}
]
}
Bot config
Exchange Trading pairBTCUSDT.P
One trading pair per bot
Timeframe
Run modeSTARTERDry-run: max 1 bot · Auto-stops after 30 days · Live: not availableUpgrade →