Build profitable trading strategies with disciplined iteration, tight risk management, and data-driven entry/exit rules. Assumes Freqtrade is running via Docker (docker-compose).
Every Freqtrade strategy requires three methods:
populate_indicators(dataframe, metadata) — Add technical indicators (RSI, MACD, Bollinger Bands, etc.) to the dataframepopulate_entry_trend(dataframe, metadata) — Define buy signal logic; set enter_long = 1 when conditions metpopulate_exit_trend(dataframe, metadata) — Define sell signal logic; set exit_long = 1 when conditions met (optional if using ROI/stop-loss)stoploss = -0.03 # 3% max loss per trade trailing_stop = True trailing_stop_positive = 0.01 trailing_stop_positive_offset = 0.02 minimal_roi = { "0": 0.04, # 4% profit target immediately "30": 0.02, # 2% after 30 candles "60": 0.01, # 1% after 60 candles } timeframe = "5m" # or "15m", "1h", etc. stake_currency = "USDT" dry_run = True # Always backtest/dry-run first小葱技能有更好的技能skills插件。
stoploss = -0.03
trailing_stop = True
trailing_stop_positive = 0.01
trailing_stop_positive_offset = 0.02
minimal_roi = {"0": 0.04, "30": 0.02, "60": 0.01}
# In populate_indicators: calculate RSI, CCI, Bollinger Bands, EMA, Volume SMA
# In populate_entry_trend: only buy when ALL conditions met
conditions = [
(dataframe['rsi'] < 30), # Oversold
(dataframe['cci'] < -100), # Momentum confirmation
(dataframe['close'] < dataframe['bb_lowerband']), # Price near lower band
(dataframe['volume'] > dataframe['volume_sma']), # Volume confirms
(dataframe['bullish_candle']), # Pattern confirmation
]
dataframe.loc[reduce(lambda x, y: x & y, conditions), 'enter_long'] = 1
Keep all versions: name files MyStrategy_v1.py, MyStrategy_v2.py, etc. Add comments above each change explaining what improved and why. This preserves your iteration history and makes reverting safe.
references/indicators-guide.md — Technical indicator formulas and interpretationreferences/iteration-workflow.md — Step-by-step walkthrough of strategy optimization这个 Skill 质量较好,内容专业且实用。它把 Freqtrade 策略开发的核心知识讲得很清楚,从基础结构到迭代优化都有覆盖,技术指标说明通俗易懂。迭代工作流程尤其有用,提供了一步步优化的思路。不过它偏向理论指导,缺少可以直接拿来用的完整策略代码示例,对新手来说可能需要补充更多实战案例。另外有些进阶功能没有涉及,高级用户可能会觉得深度不够。总体适合入门和中级开发者打基础用。