tradai-strategy¶
TradAI-only trading strategy framework extending Freqtrade IStrategy.
Status: 🚧 In Development | Coverage: TBD
Features¶
- Extends Freqtrade - TradAIStrategy inherits from IStrategy
- Type-Safe - Enums instead of strings
- Standardized Metadata - Required metadata for all strategies
- Validation - Server-side validation of strategy compliance
- No Legacy Support - TradAI-only, no backward compatibility with raw Freqtrade
Installation¶
Usage¶
from tradai.strategy import TradAIStrategy, StrategyMetadata
from tradai.strategy.enums import StrategyCategory
import talib.abstract as ta
class MyStrategy(TradAIStrategy):
"""Custom trading strategy"""
timeframe = '1h'
can_short = True
stoploss = -0.08
def get_metadata(self) -> StrategyMetadata:
return StrategyMetadata(
name="MyStrategy",
version="1.0.0",
description="My trading strategy",
timeframe=self.timeframe,
can_short=self.can_short,
category=StrategyCategory.MEAN_REVERSION,
tags=["macd", "rsi"]
)
def populate_indicators(self, dataframe, metadata):
# Use TA-Lib directly
dataframe['rsi'] = ta.RSI(dataframe)
return dataframe
def populate_entry_trend(self, dataframe, metadata):
# Entry logic
return dataframe
def populate_exit_trend(self, dataframe, metadata):
return dataframe
Architecture¶
- Core: Enums, metadata, base class, validation
- No Adapter: TradAIStrategy IS IStrategy (works directly with Freqtrade)
- Reuses Libraries: TA-Lib, pandas-ta, Freqtrade utilities
Development¶
Documentation¶
- DESIGN.md - Architecture decisions and patterns
- Strategy examples are in the separate
tradai-strategiesrepository